Step 1. Configure a Database for the JMS Reporting Provider Data Store
ALSB requires a database for the JMS Reporting Provider. The local copy of the PointBase database that is installed with WebLogic Server is for evaluation purposes only.
For a complete list of the databases that you can use, see Supported Database Configurations in Supported Configurations for AquaLogic Service Bus.
Note:
It is important to configure your database appropriately for production use. You must provide adequate space to log messages, and follow best practices for administering your database.
Creating an ALSB Domain Using the Configuration Wizard
You begin defining an ALSB deployment by creating a domain using the BEA Configuration Wizard.
Note:
The procedure described in this section for setting up your domain is based on the assumption that you are running the Configuration Wizard in GUI mode from the Windows Start menu. For information about using the Configuration Wizard in different modes, see Creating WebLogic Domains Using the Configuration Wizard.
To create an ALSB domain using the Configuration Wizard, complete the following steps:
From the Start Menu, choose All ProgramsBEA ProductsToolsConfiguration Wizard.
The Configuration Wizard is launched. It prompts you for data with which to configure your domain.
Respond to the Configuration Wizard prompts by providing the information described in the following table.
Note:
To comply with WebLogic Server resource naming rules, you must specify unique names for domains, WebLogic Server instances, JMS servers, and JMS stores. ALSB has the same interoperability naming requirements as the WebLogic Messaging Bridge. For more information, see “Naming Guidelines for WebLogic Servers and Domains” in “Interoperating with Different WebLogic Server Releases” in Interoperating with Different WebLogic Server Releases or Foreign Providers in Configuring and Managing the WebLogic Messaging Bridge.
Table 2-1 Responses to Configuration Wizard Prompts
In this window...
Perform the following action.
Welcome
Select Create a new WebLogic domain.
Select Domain source
Select ALSB (Weblogic Server is selected by default).
Configure Administrator Username and Password
Enter user name and password.
Configure Server Start Mode and JDK
Select Production Mode. Select either the Sun SDK or JRockit SDK, or specify the location of another JDK.
Customize Environment and Services Settings
Select Yes.
Configure the Administration Server
Provide a name for the admin server, a listen address, and a listen port (7001 by default).
If you want to enable SSL for your configuration, select the SSL enabled check box, and a SSL listen port (7002 by default).
Note:
You can enable an SSL port, an HTTP cleartext port, or both ports for the administration server. In secure installations, the HTTP cleartext port can be disabled. However, when AquaLogic Service Bus is used in combination with a UDDI registry (for example, AquaLogic Service Registry), you must ensure that the server’s HTTP cleartext port is enabled.
Configure Managed Servers
Not applicable, because this is a single-server deployment.
Configure Machines
Not applicable, because this is a single-server deployment.
Configure JDBC Data Sources
Accept the default values for Name and JNDI name of wlsbjmsrpDataSource.
Select one of the following to identify the database type and driver for the JMS Reporting Provider Data Store:
MS SQL Server and BEA’s MS SQL Server Driver (Type 4) Versions: 7.0, 2000
Confirm that the Supports global transactions check box and Logging last resource option are selected. For more information about Logging last resource (LLR), see “Understanding the Logging Last Resource Transaction Option” under Configuring JDBC Data Sources in Configuring and Managing WebLogic JDBC.
Enter your environment-specific database information in the remaining text boxes. For more information, see “Configure JDBC Data Sources” under Customizing JDBC and JMS Settings in WebLogic Domains in Creating WebLogic Domains Using the Configuration Wizard.
Click Test Connections to verify that you can contact the database you want to use for the JMS Reporting Provider Data Store using this data source configuration.
Run Database Scripts
Select wlsbjmsrpDataSource from the Available JDBC Data Sources list.
Select the version of the database from the DB Version drop-down list.
Click Run Scripts.
The scripts create the tables and indexes for the JMS Reporting Provider Data Store. The SQL output is displayed in the Results box and written to jdbc.log. If you want the results written to a different file, click the Log File check box and specify the file.
Note:
ALSB does not automatically run database scripts for the JMS Reporting Provider Data Store the first time you start a production domain, as it does for domains in development mode. If you do not run the database scripts while creating your ALSB production domain, you must run the scripts manually. The scripts are located in BEA_HOME/ALSB_HOME/dbscripts, where BEA_HOME is the directory in which you installed ALSB.
Configure JMS File Stores
Accept the defaults for rmfilestore and add any file stores needed by proxy services or business services.
Review WebLogic Domain
Accept the default values.
Create WebLogic Configuration
Enter a name and location for your domain.
Creating Domain
After your domain is created, select Start Admin Server to start ALSB when you exit the Configuration Wizard.
When you complete the domain configuration using the Configuration Wizard, your new domain is created in the location you specified.
Your ALSB domain includes a configuration file (config.xml) that contains a definition for the administration server. For more information, see “config.xml” under Domain Configuration Files in Understanding Domain Configuration.
In addition to configuring JMS file stores in the Configuration Wizard, proxy services and business services that use JMS require configuration of the following resources:
JMS connection factories. You must configure XA or non-XA JMS connection factories for all business services and proxy services implemented using JMS.
JMS queues/topics. ALSB automatically configures JMS queues for proxy services that are implemented using BEA JMS. You must configure JMS queues/topics for all business services using JMS and for any proxy services that are implemented using non-BEA JMS.
If you want to concentrate all ALSB JMS resources in a single JMS module, use the WebLogic Server Administration Console to create a new JMS module containing the destination to be used for the proxy services’ endpoint.
ALSB leverages the security features of WebLogic Server to ensure message confidentiality and integrity (message-level security), secure connections between clients and WebLogic Server (transport-level security), and authentication and authorization (access control). For information on how to configure security for ALSB, see AquaLogic Service Bus Security Guide.
WARNING:
You must configure security separately for each ALSB domain. ALSB does not export or import security configurations.
Step 4. Deploy an ALSB Configuration
Once you have configured your ALSB domain, secured it, and added any JMS resources required for its services, you are ready to import the JAR file that contains your ALSB configuration. After you have imported the configuration metadata, you can update environment-specific information for your domain.
The following steps describe the basic procedure for deploying the contents of configuration JAR file:
Create a Session.
Import all or selected objects from a configuration JAR file.
Update environment-specific information such as service endpoint URIs and directory names.
Activate the Session.
You can perform these steps manually or programmatically:
To import and update a configuration manually, use the ALSB Console as described under the following topics in Using the AquaLogic Service Bus Console:
To import and update a configuration programmatically, use the WebLogic Scripting Tool (WLST) and the ALSB deploymentMBean as described in Using the Deployment APIs.
In addition to service endpoint URIs, directory names, and security configuration, your ALSB configuration may contain other settings that must be updated to operate correctly in the new environment. Items that commonly require update include the following:
Service references
For information about service references, see “Viewing References” under Project Explorer, in Using the AquaLogic Service Bus Console.
Routing destinations
For information about routing configuration, see “Viewing and Changing Message Flow” under Project Explorer, in Using the AquaLogic Service Bus Console.
Load balancing settings
For information about load balancing, see “Viewing and Changing Business Services” under Business Services in Using the AquaLogic Service Bus Console.
Use the ALSB Console to confirm and change your configuration, as necessary.
Step 5. Update Your Domain as Your Production Environment Changes
Production environments change over time and as application use increases. This section describes how to update your domain in response to common production environment change scenarios:
Enterprise information services (EIS) are sometimes phased out, and new instances (possibly with new versions of EIS software, new hardware, and so on) are brought online. When this happens, ALSB administrators need to gracefully transition to the new EIS instance by modifying any affected ALSB business services.
This situation is similar to an EIS instance failure, but not as urgent. For a description of deployment considerations, see EIS Instance Failover. For information about using the ALSB Console to change an endpoint URI for a business service, see “Viewing and Changing Business Services” under Business Services, in Using the AquaLogic Service Bus Console.
Installing a New Version of a Proxy Service
As your business requirements change, you may need to make changes to your proxy services. If the changes you need to make are backward compatible, you can dynamically make changes online using the ALSB Console to create a new version of the proxy service. Changes are backward compatible if they meet one of the following criteria:
The interface of the changed object is unchanged.
Old and new clients will work with the interface.
If the changes you need to make are not backward compatible, there are two alternatives to consider that would enable you to make the changes online:
Create and deploy a new proxy service having a different name and URL from that of the earlier version. Clients upgrade by accessing the new proxy service. This enables you to run the old and new versions of a proxy service in parallel, and supports a gradual migration to the new proxy service.
Force backwards compatibility by changing the proxy service interface to support both the new interface and the old interface (for example, using XML schema choice) and perform different logic in the message flow based on the document received. Clients continue to access the proxy service by using its original URL.
ALSB allows you to dynamically change the configuration information for a system without the need to restart the server for changes to take affect.
You can change a resource, a project, or a number of resources (related or unrelated) using the ALSB Console using the following procedure:
Create a session. All changes to ALSB configurations require a session. (Security-related changes are the exception.)
Modify resources in the session.or import all or selected objects from a configuration JAR file.
Update environment-specific information such as service endpoint URIs and directory names.
Activate the session.
The changes are consolidated and sent to all servers (administration and managed servers, if you are working in a cluster environment). These changes update the persisted configuration data and also cause other run-time tasks to be performed (such as, creating proxy services and JMS queues, compiling XQueries, and so on).
You can perform these steps manually or programmatically:
To import and update a configuration manually, use the ALSB Console as described in the following topics in the Using the AquaLogic Service Bus Console:
To import and update a configuration programmatically, use the WebLogic Scripting Tool (WLST) and the ALSB deploymentMBean as described in Using the Deployment APIs.
Figure 2-1 illustrates how the system behaves to process messages in the event that the configuration is updated while messages are being processed through the system. Table 2-2 describes the versions for the resources for the sample system illustrated in Figure 2-1.
Table 2-2 Initial and Updated Configuration for a Sample System
Resource
Initial Version
Updated Version
Proxy Service
X
A
MFL
Y
B
XQuery
W
C
Figure 2-1 Sample Online Update Scenario
Note the following characteristics of the message processing illustrated in the preceding figure:
Message 1 is already in the system at t1 (the time the configuration is updated)
Message 1 completes processing by the original (pre-update) resources (X, Y, W)
Message 2 starts and completes processing with the new configuration (resources A, B, C)
ALSB tries to execute messages with the version of the proxy service and artifacts available when the messages enters the proxy service.
This ensures that a message has a consistent view of the artifacts. If the message processor cannot guarantee this behavior for a message, it will reject it rather than process it incorrectly. If you want the system to retry rejected messages, use a JMS proxy service with retries.
Best Practices for Successful Online Configuration Updates
This section describes best practices to follow and limitations to be aware of when you update a configuration in a running ALSB system.
If you are concerned about message rejection by ALSB, use the JMS transport protocol with retries. In this case, any messages that are rejected because the system cannot guarantee their processing by compatible resources will be retried.
Security-related configuration updates must be performed first, then update the ALSB resources in your system. To learn about updating security resources, see Overview of Security Management in Securing WebLogic Server.
If you are updating the configuration to a cluster, it is possible that the updates are done at different times on different managed servers. Consequently, it is possible that messages are processed by different versions of a proxy service, depending on which managed server gets the message to process. This is dependent on load balancing across managed servers.
During online deployment, ALSB checks whether the correct versions of referenced resources are used for message processing. If this is temporarily not true, an error is returned. However, if the interface artifact of an invoked service changes (for example: MFL, WSDL), the invoking proxy service may not return an error although it temporarily sees a version of the artifact that does not correlate with the proxy service version.