to upgrade the hardware, software, or both. The minimum hardware requirements obviously depend on the usage profile of the customer as well as the base WebSphere Application Server requirements.

2.4.3 Functional architectural considerations

This section details current known functional requirements that may likely have a major impact on the architecture of the system.

The deployment influence

Certain aspects of the architecture are strongly influenced by the targeted deployment implementation platform of Java, WebSphere, and EJB.

What? No entity beans?

From previous architectural prototypes, and call.connect Release 1, and the current level of EJB support within WebSphere, Geac chose not to use EJB entity beans for database access. This was primarily on the grounds of performance, which was found to be significantly slower than the equivalent hand-crafted Java Database Connectivity (JDBC) database access.

There were also concerns over issues to do with legacy integration, specifically RPG programs potentially accessing the same tables as those mapped by an entity bean. This was an indication that there could be further performance problems.

Geac intends to re-evaluate the use of entity beans for the next release of call.connect. The main benefits are of improved productivity and maintainability.

Session beans

The EJBs that contain the call.connect and vendor.connect Business Logic are designed and deployed as stateless session beans. This means that they do not (directly) maintain any state specific data (for example, Order Number) across method calls.

In theory (and proven in practice by using the WebSphere Performance Monitor), this allows the EJB container (WebSphere) to pool session beans, thereby reducing the resource usage on the system. Even if there are 75 telesales operators all entering orders into the system, there may be only 10 instances of the Sales Order Session Bean actively running (and consuming system resources) on the system.

2.5 Reusing and extending System21 business logic

This section details the options that are available when considering how to maximize the reuse of existing legacy application logic.

2.5.1 Accessing System21 RPG business logic

The need to reuse existing System21 logic was identified early on in the original call.connect project. The following technical options were available.

IBM Toolbox for Java (previously AS/400 Toolbox for Java)

This is an obvious candidate. This has many classes for accessing iSeries objects including calling programs.

Chapter 2. Architecture of the commerce.connect products

17

Page 29
Image 29
IBM SG24-6526-00 Reusing and extending System21 business logic, Functional architectural considerations, Session beans