AquaLogic BPM Designer is used to model business process flows by business analysts. The goal in this section is to illustrate how to create the process flow that will be used in the example integration scenario.
To start building the BPM scenario, AquaLogic BPM Designer will need to be launched. From the Designer tool, business users can define the flow to represent a business process. They can easily drag and drop different activities to model any process. The flow can then be saved as a XML Process Definition Language ( XPDL) file. The XPDL standard provides an XML file format that can be used to interchange process models between tools.
This article will outline a simple process with integration points with a Java process built with three software components: (1) WebLogic Integration 8.1.5; (2) a Web service built with WebLogic Workshop 8.1.5; and (3) a Web service that is exposed via the AquaLogic Service Bus 2.1. This process is illustrated in Figure 4. To learn more about the different constructs and modeling techniques, visit the AquaLogic BPM product documentation.
Figure 4. Process flow calling WebLogic Integration JPD component and a few Web services, one of them via AquaLogic Service Bus
At this point the business analyst has modeled the business process flow. They have used the AquaLogic BPM Designer to define the process and saved the file in XPDL format.
The process definition can now be shared with IT. Technical users and developers can participate and add technical aspects of the integration using different services and sub-systems. They will be using the AquaLogic Studio tool defined in the next section.
In this example, the process flow was saved as "ProcessOne," which is stored in the project directory of AquaLogic BPM Studio under the name "ProcessOne.xpdl." Later the process will be deployed in the BPM server, which provides several architecture options for flexible deployment in the following platforms: Standalone, WebLogic Server 8.1 SP5, WebSphere 5.1 or later, and JBoss 3.2 or later.
How can business analysts capture and model business processes? They can use AquaLogic BPM Designer, which is a complete design environment for the business analyst. It enables the creation of any type of process by dragging and dropping process elements onto the screen.
The AquaLogic BPM Studio is the process developer's workbench; this is illustrated in Figure 5. It includes AquaLogic BPM Designer and adds numerous additional tools that enable the developer to write business logic, connect to existing applications, and assemble user interfaces for human interaction. The goal in this section is to take the business process flow created in the previous section and view the developer's perspective.
Studio has a stand-alone version of the AquaLogic BPM engine that allows developers to perform all the integration and testing prior to actual deployment to the BPM server. No additional software is required. The ALBPM engine inside Studio is deployed locally with Tomcat. The BPM engine is part of the BEA AquaLogic BPM Enterprise Server, which orchestrates all processes and their resources – people, organizations, applications, and systems – managing proper sequence, enforcing business rules, and auditing each step to ensure correct process execution, escalation, and exception management. The server executes processes designed in BEA AquaLogic BPM Designer and BEA AquaLogic BPM Studio as well as any process written in BPEL, the industry-standard business process execution language.
Figure 5. AquaLogic BPM Studio 5.5 view of the process created in Figure 2
For a complete overview of all components of the AquaLogic BPM Suite, review the product page on the BEA Web site.
How can developers work with the AquaLogic BPM Suite? They can use the AquaLogic BPM Studio tool, which is the process developer's workbench. It includes everything from AquaLogic BPM Designer and adds numerous additional tools that enable the developer to write business logic, connect to existing applications, and assemble user interfaces for human interaction.
AquaLogic BPM Suite can integrate with WebLogic Integration at the Web services level. The goal in this section is to show how to expose a JPD via Web services. I will do this by wrapping the JPD in a control and generating a Web service based on the control.
Developers have a couple options available at this point. They can install and launch the sample integration project that comes with WebLogic Integration 8.1.5, or they can build a project from scratch.
To begin, start WebLogic Workshop after installing WebLogic Integration and its samples and open the sample application:
Next, create a new JPD or use some of the artifacts available for download with this article. Note that due to the size, the complete project domain and its related files are not being posted; instead, it is assumed that developers will use the standard project installed with the product or they will build one from scratch following the documentation.
The description below outlines a simple JPD. The file that represents Figure 6 contains the Java implementation class for a Java process with special annotations that configure the behavior of the process. Sample business processes are available in the following applications: Tutorial: Hello World Process Application, Tutorial: Process Application, and New Process Application. These applications are available from File->New->Application in the WebLogic Workshop menu bar.
Figure 6 shows the visual representation for the JPD example used in the article. A single step is performed by the Java process. Note that several steps could be added here with a variety of configurations.
Figure 6. Visual representation of JPD built with WebLogic Workshop 8.1.5
To build an integration project from scratch, developers need to create a WebLogic Integration 8.1.5 domain that has all the necessary components for the project. Next, a new WebLogic Integration 8.1.5 application and a new project should be created from WebLogic Workshop 8.1.5. The product documentation has complete details on how to use the Configuration Wizard to build new domains.
After the WebLogic Integration application and project are available and a JPD has been created, another technology called Java controls can be utilized. Note that in WebLogic Workshop 9.2 (released June 2006), Java controls are implemented as Beehive Controls within the Apache Foundation collection of technologies. By using the contextual menu, developers can select the option to "Generate Process Control" to get a control created for them based on the JPD file. Figure 7 demonstrates how this can be achieved using the WebLogic Workshop 8.1.5 collection of features. Java controls in the WebLogic Platform 8.1 are building blocks used across all the BEA products.
Figure 7. Generating a Java control from the JPD definition
To complete the JPD in the example, you need to make it available as a Web service. This step would allow any process running at the AquaLogic BPM Engine to invoke and interact with the Java process. In Figure 8, a developer can quickly generate the Web service for the Java control that represents the Java process. This is done from the contextual menu inside WebLogic Workshop 8.1.5. The IDE will automatically generate the Web services files and its related configuration.
Figure 8. Generating Web services from a Java control
Now that the JPD has been created and the Java control and Web services generated, the Web service can be tested via the WebLogic Workshop 8.1.5 test harness. Once everything is working fine, you will be able to call it from AquaLogic BPM Suite.
How do you integrate with a JPD? You write all your JPDs, capture them in controls, and expose them as Web services. BEA WebLogic Integration delivers a developer-friendly, standards-based approach to integrating enterprise resources to enable fine-grained business processes spanning disparate systems. Developers have a powerful, proven platform to rapidly build and expose Java processes.