Integration Options


Start with the general integration options presentation (the slides at the end discuss iSeries-specific integration mechanisms)

 

One of the easiest ways to Web enable a 5250 application is to deploy WebFacing technology. This involves the automatic conversion of DDS display file source code to JSPs and servlets, which are then deployed to Tomcat or WAS. When the resulting application is invoked from the browser, a normal 5250 interactive job runs on the iSeries, but the display file handler is intercepted by a special WebFacing server job (part of base OS/400 support) and handled by the generated JSPs and servlets. The following two diagrams should assist in understanding the process:

  

 

WebFacing of course suffers from the fact that it is navigated in exactly the same way as its parent 5250 application. Thus, it may not always provide the most appropriate interface for Extranet or other external users.

 

The next stage would be to take the RPG code, encapsulate the necessary business logic (removing any 5250 interface), and then call the resulting program from a specially developed, but still simple, servlet, JSP or Enterprise Java Bean. This is the ‘thin layer of Java, fat layer of RPG’ approach.

 

A high-performance and frequently deployed option for connectivity to the iSeries back end involves the use of JDBC stored procedure calls invoking RPG programs with no 5250 interface. This mechanism has, in addition to security and performance advantages, the ability to return result sets as well as output parameters, allowing flexible and high-performance application design.

 

JDBC would also allow direct access into the AS/400 database, but we would normally recommend exclusive use of stored procedures because this has advantages in terms of security (potential use of adopted authority, etc.) and also because it allows the Web application to fit better with normal AS/400 change control and impact analysis procedures.

 

JDBC’s connection pooling mechanism provides high-performance connectivity and also has the added value of allowing you to manage and limit the performance impact of Web applications on your back end production systems.

 

However, IBM's preferred mechanism is the use of the Toolbox program call functionality, invoked, for example, via a program call bean generated using the relevant WDSC wizard. Out of the box this doesn't support connection pooling, but Logicalis has documented an extension of the program call bean technology to provide connection pooling - click here for details.

 

Should the application require assured delivery or store-and-forward capability (for example, where order entry is possible 24x7 but orders can only be posted into the back end application at certain times), WebSphere MQ might be the most appropriate connector technology. In an MQ environment, a message is queued up by one application, then pulled off the queue and processed by the other. The MQ infrastructure, which works on many different operating system platforms, guarantees that the message, once queued, will be delivered. More information on WebSphere MQ can be provided on request. WebSphere MQ is a chargeable product and is priced by processor.

 

Many of our customers’ RPG-based business applications do not use commitment control to ensure business transaction integrity. These applications were written for use by internal users; their skill in the use of the application and their understanding of the business transactions being generated mean that a half-completed transaction is unlikely to be generated except in exceptional circumstances, when any data integrity issues that are not handled by defensive programming can be resolved by IT staff. When business transactions start being created by Web application users, incomplete transactions (and their resultant data integrity issues) become far more likely. It will therefore be necessary to design the Web application as far as possible either to insert business transactions into the back end in one operation or to leverage the transaction management services provided by Enterprise Java Beans.