In version 8.5 of IBM Business Process Manager (BPM), a new deployment environment configuration option was introduced, AdvancedOnly. You can use the AdvancedOnly setup if you want WebSphere® Process Server or WebSphere Enterprise Server Bus (ESB) functionality only, without any functionality that was originally contained in WebSphere Lombardi Edition. This new configuration allows you to create a "hybrid topology" on System z, where workloads can run on the hardware and use system resources more efficiently.
Hybrid topologies enable better optimization
Figure 1 shows a representation of different types of workloads that are run in an enterprise environment. You can see that the workloads that are data intensive or require a high amount of input and output are better suited to run on the mainframe architecture, whereas the CPU intensive workloads are more suited for a distributed setup. Applications that require frequent access to data located in DB2® z/OS or IMS™ or z/OS® transactions in CICS®, IMS, and WebSphere MQ would run best if co-located with the resources that they require.
Figure 1. Workload types and where they run best
An important consideration in a hybrid setup is the ability to co-locate system resources on a z/OS setup. Co-location means that the data and the application using the data reside in the same z/OS instance. Figure 2 shows an illustration of what exactly is meant by co-location, with the left-hand side of the image showing what is correctly meant by co-location.
Figure 2. Co-location of resources
A co-located setup has the following advantages:
- Increases cross memory speed
- Avoids encryption overhead
- Propagates the Security ID
- Exploits z/OS transaction management (RRS)
- Avoids serialization of parameters
- Executes in a single thread
Processes that frequently interact with CICS, IMS, and DB2 z/OS benefit most from co-location on z/OS, all of which saves processor usage, increases robustness, and improves security.
WebSphere optimized local adapters
WebSphere optimized local adapters (WOLA) is a cross-memory mechanism for inbound and outbound calls for WebSphere Application Server on z/OS. Figure 3 shows examples of the types of applications that can take advantage of WOLA.
Figure 3. WOLA
The benefits of WOLA are:
- Based on local comm cross-memory access (a z/OS exclusive)
- Bi-directional, WebSphere Application Server outbound or inbound to WebSphere Application Server
- CICS security and transaction propagation
- 1.5 to 6 times faster than other local solutions
- Avoids serialization of parameters
- Allows all the z/OS players to call one another like peers to leverage all of your assets
Database connection types
There are two types of database connections available: Type 2 or Type 4. Figure 4 shows a comparison and the benefits between using Type 2 and Type 4 database connections in a z/OS mainframe environment.
Figure 4. Comparing Type 2 and Type 4
As seen in Figure 4, the CPU benefits as the Type 2 connection uses cross memory technology, which eliminates the CPU usage associated with the TCP stack and DB2 DDF.
Hybrid approach: A solution scenario
To illustrate where the advantages described above can be implemented in a production System z topology, we'll walkthrough a BPM solution that takes advantage of a hybrid setup.
In this scenario, there are three main parts to the solution based on a large multinational company ordering system. The main parts of the system are:
- The orders are placed by the Order entry team (Step 1 in Figure 5). Each customer has an ID number, which is used to access their full details, such as full name and address. These details are entered by hand.
Figure 5. Order processing BPD flow
- The customer details are stored in a DB2 v10 database. A BPEL application developed in IBM Integration Designer retrieves the customer details from the database. This application is invoked from the BPD flow (Step 2 in Figure 5), and illustrated in Figure 6.
Figure 6. Customer lookup application
- Once the customer's full details have been retrieved from the database via their ID number, an automated credit check is performed using these details based on their order history and other outstanding debt. The automated credit check is another BPEL application that interfaces with CICS and IMS to retrieve the customer's historical data. This application is invoked from the BPD flow (Step 3 in Figure 5) and illustrated in Figure 7.
Figure 7. Customer lookup application from BPD flow
- Once a credit score has been determined and the order is accepted (Step 4 in Figure 5), the order is then processed by the stock, invoice, and shipping teams (Steps 5 and 6 in Figure 5).
From an availability perspective, consider the following:
- The customerLookup and creditCheck applications are both mission critical applications. If the customer details cannot be retrieved, or credit checks cannot be performed and orders cannot be placed and processed.
- This company is a multinational company with order teams located globally taking customer orders. Therefore, the customerLookup and creditCheck applications are often subject to high workloads during peak ordering times.
Looking at this from a team's perspective, consider the following:
- Teams on the ground fulfilling the orders often use web interfaces on mobile devices.
- Management and executive teams want access to performance data dashboards to determine data such as who is working on what and order processing times.
Looking at this from a workload perspective, there are two distinct different workload types happening here:
- Human Centric: Order placing, stock picking, invoicing, and shipping are all tasks that require human interaction performed by different people in different teams. Therefore, these types of tasks are best suited to be developed as a BPD flow in IBM Process Designer, with a BPD coaches serving up various web page interfaces to the relevant teams. The order entry team enters an order detail and customer number, the stock team picks the stock, the invoicing team sends the invoice, and the shipping team ships the order. All of which requires human interaction to key in data and click buttons to confirm that the steps of the process has been completed by someone.
- Automated: The applications retrieving the customer's details based on their ID number, and then to generate a credit score based on this, are completely automatic and require no human interaction. These are referred to as a straight through process (STP).
Running workloads where they run best
With the customer lookup application accessing customer data held in a DB2 v10, it makes sense to take advantage of a DB2 Type 2 connection. Similarly, with the creditCheck application using both IMS and CICS, the best solution is to co-locate an AdvancedOnly BPM server with CICS and IMS in order to take advantage of WOLA. Therefore, from an application deployment perspective:
- Deploy the Order Process BPD flow to an IBM BPM Standard Edition server running on zLinux.
- Deploy the customerLookup and creditCheck applications to an IBM BPM server with an AdvancedOnly Deployment environment running on z/OS.
This setup is illustrated in Figure 8.
Figure 8. Hybrid deployment
The left-hand side of Figure 8 shows the BPD Order Process flow is deployed to an IBM BPM Standard Edition server running on a zLinux server. The workloads running on this server are BPD flows so only a Standard Edition server is required here. The right-hand side of Figure 8 shows the customerLookup and creditCheck applications deployed to an AdvancedOnly server running on a z/OS mainframe. The AdvancedOnly BPM server is co-located with the DB2, CICS, and IMS products that the applications require.
This is the key concept for the hybrid setup. The zLinux server displays the coaches and dashboards, which are static HTTP content. As shown from Figure 1, this type of workload is best handled on a distributed setup.
The straight through processing applications (STP), customerLookup, and creditCheck require no human interaction. They have access to mainframe resources by taking advantage of co-location and other mainframe benefits, such as Type 2 and WOLA. Therefore, they are best suited to run on a mainframe. With different workload types involved in the overall solution, a hybrid topology allows applications to run efficiently to take full advantage of the resources.
This article described the benefits of a hybrid setup when running a BPM solution with different workload requirements. When you place your application in the right location, you can take advantage of both hardware and software resources for a more robust and faster enterprise setup.
- IBM Business Process Manager Information Center
- IBM Business Process Manager Advanced for z/OS
- IBM Redbook: WebSphere on z/OS – Optimized Local Adapters
- developerWorks BPM zone