![]() ![]() ![]() ![]() ![]() ![]() |
BEA AquaLogic Service Bus enables message routing between business services in the enterprise environment. Messages can be routed from a client through the AquaLogic Service Bus intermediary, to the appropriate business service. BEA AquaLogic Service Bus routes messages to one or more destinations based on the actions taken on the messages. Configure those actions using the AquaLogic Service Bus Console. Routing provides an efficient alternative to building a multitude of point-to-point Web Services connections between pairs of systems.
This section includes the following topics:
Complete Setting Up the Tutorials.
The objective of the tutorial is to create and test a routing scenario developed using the graphical environment provided in AquaLogic Service Bus Console. It includes the following tasks:
This tutorial introduces you to the following features of BEA AquaLogic Service Bus:
A primary mortgage company uses BEA AquaLogic Service Bus to route loan applications to appropriate business services based on the interest rate requested. An application containing a request for a rate less than 5% requires management approval and is routed to an appropriate business service for processing. All other loan applications are routed to another business service for processing. The target business service responds, indicating whether the loan application is approved or rejected.
Figure 3-1 summarizes the logical architecture to support this scenario. It illustrates how BEA AquaLogic Service Bus mediates the messaging between the clients and the business services in your enterprise.
A client sends a loan application to a proxy service named LoanGateway1. The default proxy service has a conditional routing stage that checks the value of the requested interest rate in the loan application document. If the interest rate is less than 5%, the loan request is routed to the managerLoanReviewService business service, otherwise it is routed to the NormalLoan business service. The target business service returns a response message similar to the following message:
Loan Application Response: APPROVED BY THE <i><b>MANAGER</b></i> LOAN APPLICATION REVIEW SERVICE.
Note: | MANAGER is replaced with NORMAL when the normalLoan business service is used at run time. |
Table 3-1 lists the resources required to develop and run the Routing a Loan Application tutorial.
In this tutorial, BEA AquaLogic Service Bus is used to route a loan application within a mortgage company to a target a Web Service depending on the interest rate requested.
Complete these steps to design and configure a proxy service and the associated resources in AquaLogic Service Bus to resolve this user case scenario:
Ensure that AquaLogic Service Bus is running in the domain that you have created for the tutorial and that you have completed the steps described in Setting Up the Tutorials.
You must first start a session in the AquaLogic Service Bus Console. You can view resources and configurations in the AquaLogic Service Bus Console without being in a session, but cannot edit, change, or delete items or properties in a project, unless you have an active session. The Change Center manages sessions in the console as in Figure 3-2. All the sessions are saved as temporary files until the session is activated.
The Change Center has several functions that are summarized in Table 3-2.
Note: | It is a good practice to save your configuration changes incrementally. |
Note: | BEA recommends that you click Create before making any changes whenever you change a configuration in the console and that you click Activate when you have completed your changes to the configuration. |
This section describes how you create a MortgageBroker project under the Projects folder in the AquaLogic Service Bus Console. For this scenario, you will also create three folders in the MortgageBroker project—to hold each of the resource types to be defined for the project as follows:
Note: | In the AquaLogic Service Bus Console, you can add new projects and navigate the project trees using the Project Explorer. These Project folders can be collapsed and expanded as required. All project configurations are performed in the project page. Selecting a project or one of its sub-folders from the Project Explorer displays the information for that entity on the project page. |
The Project Explorer opens in the navigation pane and a project page is displayed on the console.
The MortgageBroker project is created and listed in Project Explorer under Projects.
You should create the WSDL folder first, and add a WSDL resource to it. The WSDLs are the basis on which you create the business services and the proxy service. You subsequently create other folders and resources for this scenario.
WSDL
as displayed in Figure 3-4. The WSDL folder is displayed in the list of project folders for the MortgageBroker project.
AquaLogic Service Bus resources are configured using configuration wizards. Each configuration wizard includes a sequence of pages that prompt you for information about the resource and provide property configuration options.
A WSDL defines the public contract (interface specification) between a client and a service, whether the service is a proxy service or business service. It is the formal description of a Web Service. A WSDL is used to describe what a Web Service's interface is, where it resides, and how to invoke it. You create the WSDL resource first as subsequent service registration steps depend on it. The WSDL is subsequently used to register the business service to create the proxy service.
A page that allows you to create a new WSDL resource is displayed as in Figure 3-6.
BEA_HOME
\weblogic92\samples\servicebus\examples\src\examples\webservices\jws_basic\normal\NormalLoanApprovalService.wsdl
This step completes the creation of a WSDL resource, normalLoan, in the WSDL folder.
Import the WSDL associated with the ManagerApproval Service. Use the procedure To Import a WSDL to do this using the following parameters in Table 3-3.
In this step, you will create a proxy service. The proxy service is used to route the loan application to the appropriate business service.
The Create a Proxy Service - General Configuration page is displayed as in Figure 3-7.
The Select a WSDL browser window is displayed. The proxy service is based on the WSDL resource that you originally created, hence you must reference the resource here.
helloPort
).The WSDL port text field is populated with the port name as in Figure 3-7.
The Create a Proxy Service - Transport Configuration page is displayed as in Figure 3-9.
Note: | The protocol you select on this page determines the format for the Endpoint URI that you will specify in the next step. http is the default protocol since it is assumed by most services. |
/loan/gateway1
. This is the URI to which the client will send its messages.The Create a Proxy Service - HTTP Transport Configuration page is displayed as in Figure 3-10.
You do not need to change configuration settings on this page as a security policy has not been defined for the Web Service.
The Create a Proxy Service - Operation Selection Configuration page is displayed as in Figure 3-11.
Note: | On this page you are selecting the metadata accompanying the message that identifies which Web Service operation to invoke. |
The default service is an RPC Web Service. As a result, the SOAP body contains the service operation selection information. An operation in a Java Web Service WSDL corresponds to a public method in the Java Web Service. If more than one method is accessible to a client (that is, there are multiple public methods), then each public method type will have an operation definition in the WSDL. For a SOAP based RPC service the SOAP body indicates the operation (method) selected by the client.
Note: | The SOAP header can also specify the operation. However, by convention, the SOAP body defines this. |
A summary of the configuration settings for the proxy service is displayed in Figure 3-12.
You can review the configuration settings and change them, if necessary, before registering the proxy service.
Note: | You must always select Save prior to activating a session configuration in the Change Center. |
The LoanGateway1 proxy service is displayed in the Resources pane in the ProxyService folder of the MortgageBroker project.
The Monitoring Configuration page, which you can use to enable monitoring for this service, is displayed as in Figure 3-13.
For more information about using the AquaLogic Service Bus Dashboard and monitoring services, see:
- Monitoring in
AquaLogic Service Bus Console Online Help
- Monitoring in
BEA AquaLogic Service Bus User Guide
This step completes the configuration of the LoanGateway1 proxy service in the AquaLogic Service Bus Console.
In the routing a loan scenario, when the interest rate requested on a loan application is greater than or equal to 5%, then the loan application is routed to the normal loan processing service for approval. If the interest rate requested on a loan application is less than 5%, then the loan application must be approved by a manager, therefore it is routed to a manager approval service.
Note: | If the folders are not displayed in the project tree, click Activate, then Submit to register the changes in the session. The folders that you created for the MortgageBroker project are displayed. Click Create to make changes to the session. |
The Create a Business Service - General Configuration page is displayed as in Figure 3-14.
NormalLoan
.The Create a Business Service - Transport Configuration page is displayed as in Figure 3-15.
When you specify multiple end points and a load balancing algorithm, if one end point is overloaded or not available at run time, the message can be dispatched to the next service in the list of end point URIs. In this case there is only one service, therefore accepting the default behavior or selecting none does not effect the behavior of the proxy service at run time.
http://
<host:port>
/njws_basic_ejb/NormalSimpleBean
<host:port>
represents the machine and port on which your AquaLogic Service Bus server is running. The host and port values must be the same as the values specified in BEA_HOME\weblogic92\samples\servicebus\examples\src\examples.properties
For more information, see Edit the examples.properties File.
Note: | Delete any invalid end point URI in the existing URI list. |
The Create a Business Service-HTTP Transport Configuration page is displayed as in Figure 3-16.
The Create a Business Service-SOAP Binding Configuration page is displayed as in Figure 3-17.
The Create a Business Service-Summary page is displayed as in Figure 3-18. You can now check if all the settings of the business service have been implemented correctly.
The Monitoring Configuration page, which you can use to enable monitoring for this service, is displayed.
For more information about using the AquaLogic Service Bus Dashboard and monitoring services, see:
- Monitoring in
AquaLogic Service Bus Console Online Help
- Monitoring in BEA AquaLogic Service User Guide
You have completed the configuration of the NormalLoan business service on AquaLogic Service Bus Console.
To create the business service to which a loan application is routed when the interest rate requested in that loan application is less than 5%.
Follow the same steps as described in the preceding section: Create the NormalLoan Business Service, but use the configuration parameters in the following table.
When you complete Step 1: Prepare the Environment to Step 5: Create the Business Services, you have created two business services (NormalLoan
and managerLoanReviewService
), a proxy service (LoanGateway1
) and a WSDL (normalLoan
) that are the resources required for the tutorial.
Once you have configured the proxy service with a base configuration you can proceed to the next step (Step 6: Configure the LoanGateway1 Proxy Service) to complete the configuration of the proxy service by adding the routing behavior for the loan application.
AquaLogic Service Bus Message Flows define the implementation of proxy services. Message flows can include zero or more pipeline pairs: request and response pipelines for the proxy service (or for the operations on the service) and error handler pipelines that can be defined for stages, pipelines, and proxy services. Pipelines can include one or more stages, which in turn include actions. To configure the routing behavior of the LoanGateway1 proxy service, you must complete the following for the message flow:
Note: | You must be in a session to edit resources. If you have not already done so, click Create in the Change Center to begin a session to configure the proxy service and edit the message flow. |
The Edit Message Flow page for the proxy service LoanGateway1 is displayed as in Figure 3-19.
RouteNode1
is added in the configuration dialog as in Figure 3-20.The Edit Stage Configuration: Route Node page is displayed. The page contains a single link—Add an Action as in Figure 3-21.
Note: | A stage is an element of a pipeline and also a container for actions defined in a pipeline. Actions are the elements of a pipeline stage that define the handling of messages as they flow through a proxy service at run time. |
Note: | The drag and drop functionality works only in Internet Explorer (IE) browsers. If you are using a browser other than IE, select the rate element in the Variable Structures pane. The expression is displayed in the Property Inspector palette. Place the cursor in the XQuery expression text box and click Copy Property. The expression is copied to the text box. You can also copy the expression in the palette and paste it into the XQuery Expression text box. |
It is a good practice to do this before you submit the expression. The expression is validated for syntax. If there are errors in the expression, they are displayed directly above the Validate button. In this case, the expression is valid.
The routing table is displayed on the Edit Stage Configuration page. <Expression>
is replaced by the expression that returns the value of the rate element in the message.
The routing table now contains an expression that determines the routing behavior. If the value in the rate element is less than 5, you must route according to the routing table configuration.
You have now defined the case to route the loan application to the managerLoanReviewService business service.
If the rate specified in the loan application is equal to or greater than five percent, then the message is routed to the normalLoan business service. The next section describes how you can add a condition to the routing table to account for this case (which is the default case).
This step completes the configuration of the message flow in the route node: RouteNode1.
After you have completed these steps, the Edit Stage Configuration page is displayed as in Figure 3-23.
Note: | It is a good practice to do this before you save the configuration. |
Note: | It is a good practice to do this before you save the configuration. |
You can view the map of the message flow of the proxy service as in Figure 3-24.
Step 6: Configure the LoanGateway1 Proxy Service completes the configuration of the logic in the Routing Table that determines the run time routing behavior for messages. A message is routed to the managerLoanReviewService business service if the rate specified in the loan application is less than 5, otherwise the message is routed to the normalLoan business service.
Now that you have configured AquaLogic Service Bus to work with the client and the target business services, you can test the configuration. Testing is done from the command line by changing the value of the interest rate field in the build.xml
file and then running ant
. The routing behavior for the proxy service in this scenario is based on the interest rate requested in the loan application message. A change in the value of the interest rate results in a change in the routing behavior as follows:
This section describes how you can test the proxy service for both cases. The message returned in the command window after running a test indicates the success or failure of the test and identifies the business service that processed the request.
This section includes the following test scenarios:
To run this test correctly, ensure that WebLogic Server is started in the AquaLogic Service Bus 2.5 (ServiceBusTutorial) domain.
setEnv.cmd
to set up your environment as follows: BEA_HOME
\weblogic92\samples\servicebus\examples\src\examples\webservices\jws_basic\normal
build.xml
file run target as follows:build.xml
. build.xml
file looking for the string:<arg line="http://$...
<arg line="http://${wls.hostname}:${wls.port}/loan/gateway1 steve 555 2500 20 4.9 notes" />
This changes the URI to that of the proxy service running in the tutorial domain, and specifies a value of 4.9
as the interest rate.
The remainder of the input parameters specified on the arg line
are described in Table 3-5.
ant
run
This tests the routing logic of the proxy service. A response message from the Web Service is displayed at the command prompt.
[java] Loan Application Response: APPROVED BY THE <i><b>MANAGER</b></i> LOAN APPLICATION REVIEW SERVICE
[java] Rate: 4.9
BUILD SUCCESSFUL
The response message indicates that the Manager Loan Application Processing Service processed the request because the interest rate requested was 4.9 (less than 5).
build.xml
file in the following directory:BEA_HOME
\weblogic92\samples\servicebus\examples\src\examples\webservices\jws_basic\normal
Note: | Enter 5.1 as the interest rate in the build.xml file (to test the normalLoan business service), and then save the changes. |
ant run
A response message from the Web Service is displayed at the command prompt.
[java] Loan Application Response: APPROVED BY THE <i><b>NORMAL</i></b> LOAN APPLICATION PROCESSING SERVICE
[java] Rate: 5.1
BUILD SUCCESSFUL
The response message indicates that the Normal Loan Application Processing Service processed the request because the interest rate requested was 5.1.
![]() ![]() ![]() |