a/d trends: Visual Tools: Pros and Cons

">

The single AS/400 recommended development tools continues to elude us, and is still not visible on the horizon. Today we'll attempt to categorize today's popular development languages for applications. Our intention today is not to cover tools which "modernize" or apply a new facade for aging 5250 interactive applications.

A common characteristic of today's applications is their strong use of Graphical User Interfaces (GUIs), as made popular by Microsoft Windows. As programmers began developing event driven GUI applications, they quickly learned that traditional 3GLs and 4GLs were quite unproductive. Client programming using visual techniques quickly became the standard. With visual programming techniques, a programmer simply drags and drops pre-built objects into place on screen, assembling the application from parts. Through common interfaces to remote data, the application becomes portable across clients and independent of the underlying databases; however, they remain dependent on Microsoft client operating systems.

Common visual programming languages for AS/400 would be Visual Basic, Visual C or C++ and Visual RPG. Some make a distinction between visual development, in which applications are assembled from parts by connecting attributes, events and actions, and visual programming, in which attributes and events are handled by a visual builder programming environment but actions themselves still require programming. This is the case for IBM VisualAge for RPG in which actions are programmed using standard RPG IV syntax.

More recent versions of 4GLs also support the generation of client / server applications while maintaining their orientation toward model-based development using skilled subject matter experts. 4GLs rely on the use of central data dictionaries to provide a single, dynamic repository for data elements and their relationships, making them independent of underlying DBMS systems. 4GLs use proprietary languages that support their particular approach to model-based development but most will generate a traditional 3GL as the ‘intermediate language’ for implementation on any specific platform. Some 4GLs are now generating Java.

Network programming removes the tie to the client operating system and allows development of network applications using Java (according to 100% pure Java specifications) that run on network workstations providing a Java Virtual Machine.

  Visual Programming

Visual RPG

4GL

Network Programming

Programming Language

Basic, C, C++

RPG IV

Proprietary, Model-based using E-R or action diagrams

Java, Model- based using OO classes, Domino

Development Environment

Windows-based

Windows or OS/2

Windows or NT

Proprietary Data Dictionary

Any (supporting Java & with JVM)

Clients

Windows-based

Windows or OS/2

Windows-based

JVM-based

Servers

Any (interface specific)

AS/400

Any (product specific)

Any (with JVM)

DBMS

Any (interface specific)

DB2/400

Any (product specific)

Any (supporting JDBC)

Key Advantage:

Programmer productivity

Reuse of RPG skills

Rapid prototyping with business skills

Network Centric applications

Any of the above client / server development approaches can be employed to provide highly effective ‘visual’ applications. Each approach can be implemented using visual programming techniques and has it’s own advantages. Each approach will trade-off application execution performance for programmer productivity, which must be considered when doing capacity planning and performance calculations. However, the real advantage of network programming is that applications can be almost completely removed from hardware dependencies. New, strategic applications require development using these technologies.

Mark Buchner is president and founder of Astech Solutions Inc. (Aurora, Ontario), which applies technology to the practical needs of the AS/400 market. mbuchner@astech.com.