Working with the BEA AquaLogic BPM Suite

by Alex Toussaint
08/31/2006

Integrating with External Web Services 

Using the AquaLogic BPM Suite you can easily register and consume Web services. The goal in this section is to visit a publicly accessible Web service that will be called from the integration scenario.

For this example, a set of test Web services were created and hosted on BEA's public test server. There is a Weather Service in addition to a few other test services on this site. A developer can access these services over the Internet deployed on the WebLogic Platform 8.1.5 at this WSDL address:

  • http://wsrp.bea.com/portal/boulder/weather.wsdl

This happens to be the same public test server that hosts BEA's WSRP test server – another interesting collection of standards-based technologies developed by BEA. When developers call the weather WSDL, they should get a list of test services that will be used with the AquaLogic Service Bus in the next section.

Integrating with AquaLogic Service Bus

To review, a business analyst was able to create a process flow using the AquaLogic BPM Suite, a developer was able to create a JPD, and a public Web service was made available for the example. Now, let's take a look at how to use the AquaLogic Service Bus to demonstrate how a Web service can be used with the service bus to create a proxy service. This service will be called by AquaLogic BPM Suite.

For this section, a proxy service will be created inside the service bus using the Boulder Weather service. This service can be exposed by the service bus and called by AquaLogic BPM Suite. Using the AquaLogic Service Bus makes the implementation more robust. Any changes to underlying IT systems do not have to impact the interfaces the process uses. It also provides a separate level of control and governance outside the BPM suite, and this is critical to SOA. This enables IT groups to better manage policies and resources for the services they own and maintain. AquaLogic BPM Suite can be deployed as part of SOA, which means that when a business process connects to underlying systems, it connects to proxy services provided by an enterprise service bus that hides the complexity of the underlying applications and databases.

To get started an administrator or developer can use the sample instance that comes with the AquaLogic Service Bus 2.1 installation. A developer may want to custom configure some aspects of the service bus and doing so may require their own installation. The product documentation provides a tutorial on how to get the flow of steps and concepts. For information about the AquaLogic Service Bus, review the product documentation.

To begin this section, start the AquaLogic Service Bus and open the sample application that comes with the installation. The application can be started from the command line by executing <Install>\weblogic91\samples\domains\servicebus\StartWebLogic.cmd.

At this point, the Weather Service can be registered using the WSDL from the previous section:

After login, you should have a view of the current status of existing services. This can be seen from the Service Summary and from the Server Summary panels. The left navigation bar is also available with tabs for configuring new services. Similar to BEA WebLogic Server, prior to any change developers and administrators must work with the Change Center to allow changes to take place.

Figure 9 shows that a few pre-loaded services are available with the standard installation.

Figure 9

Figure 9. AquaLogic Service Bus 2.1, Administration Console

Under the project tab in the left navigation bar, a new project should be created for the service to be brokered using the service bus. In this step, the Weather WSDL is uploaded to the services bus. The developer or administrator will configure the business services they would like to call. These services will be available as proxy services from the bus. That intermediation is especially important in a SOA deployment where underlying services are likely to change and require sophisticated proxying to insure quality of services (QoS). Figure 10 shows the project and the respective services configured.

Figure 10

Figure 10. Project Boulder Weather is created, and WSDL, business, and proxy services configured.

For additional details on how to configure WSDLs, business services, and proxy services, review the service bus documentation and sample projects.

At this point you can be creative and play around with the proxy service to be called from AquaLogic BPM. By opening the message flow panel, several options are available for interacting with services. Figure 11 shows the icon that leads to the message flow panel.

Figure 11

Figure 11. You can dive deeper into the proxy service by looking at the message flow.

Once inside the message flow panel, the business services can be expanded to support transformations and any other additional steps to better proxy the service. New nodes can be added to a service to perform separate actions, to inspect the content of the message, and to change the flow of services passing through the service bus.

Routing nodes can operate in both Request Actions and Response Actions. If different services are available via the business service's WSDL, they can be viewed and selected for invocation in each node as shown in Figure 12. Actions can be added in each node as needed by developers and administrators.

Figure 12

Figure 12: Different services are available from the BEA test server.

After all of the services have been configured, routing nodes have been set to invoke the proper services; the test harness included with the service bus can be used to verify the proper behavior of the proxy services. A complete example, Routing a Loan Application tutorial, is available online that describes step-by-step instructions on how to register, monitor, manage, and expose a business service.

How do you integrate with AquaLogic Service Bus? You configure and register all your Web services with the service bus, configure its related proxy services, and expose them as Web services. AquaLogic Service Bus can help configuration and deployment, and it simplifies management of shared services across a SOA environment.