2 Setting Up Communication Between MetaSolv Solution And ASAP

This chapter explains how communication was set up between Oracle Communications MetaSolv Solution and Oracle Communications ASAP for the sample integrations.

Overview

Oracle recommends running MetaSolv Solution and ASAP on separate machines in separate domains. This setup dictates the use of a foreign JMS server to broker messages between the two applications. The foreign JMS server located on the MetaSolv Solution machine creates proxy topics and queues on the ASAP server.

Figure 2-1 shows the setup of the foreign JMS server.

Figure 2-1 Foreign JMS Server

Description of Figure 2-1 follows
Description of "Figure 2-1 Foreign JMS Server"

Communication between ASAP and MetaSolv Solution requires three event generators. The names given here are the names used in the integration samples.

  • MSSOutboundEventGenerator - This event generator listens on a specified channel for messages from MetaSolv Solution.

  • ASAPEventGenerator - This event generator listens on a specified channel for messages from ASAP.

  • InternalOutboundGenerator - This event generator is used internally by MetaSolv Solution. It is created manually after the installation of the core application with the XML API option. See MetaSolv Solution Installation Guide for more information.

Figure 2-2 shows the steps required for setting up event communications between the two applications. The steps assume the following:

  • MetaSolv Solution with the XML API option has been installed and configured.

  • ASAP has been installed and configured.

  • The event generator, InternalOutboundGenerator, has been created according to instructions in the MetaSolv Solution Installation Guide.

  • The host machines for MetaSolv Solution and ASAP have connectivity and can communicate. You can test this by pinging one machine from the other.

Figure 2-2 Basic Steps for Setting Up Communication Between MSS and ASAP

Description of Figure 2-2 follows
Description of "Figure 2-2 Basic Steps for Setting Up Communication Between MSS and ASAP"

Accessing the WebLogic Consoles

The following sections describe how to complete each step in Figure 2-2. The steps are performed in either the WebLogic Integration Administration Console, or in the WebLogic Server Administration Console.

To open the WebLogic Integration Administration Console:

  1. Enter the following in the browser:

    http://host_admin:port/wliconsole
    

To open the WebLogic Server Administration Console:

  1. Enter the following in the browser:

    http://host_admin:port/console
    

    where:

    host_admin is the name of the administration server

    port is the administration server port number

  2. When the Login window appears for either console, enter your user name and password and click Login.

Step 1: Creating the MetaSolv Solution Event Generator

This procedure describes how to set up the event generator for the MetaSolv Solution application server.

To create the MetaSolv Solution event generator:

  1. Copy the create-jms-eg.py file to the WebLogic domain directory.

    The create-jms-eg.py file is located in the 621home/m62server/appserver/utils/ directory.

  2. Open the command prompt, navigate to the 621home/m62domain/bin directory, and then type the following:

    setDomainEnv.cmd
    

    The information about the domain directory is displayed.

  3. Edit the create-jms-eg.py file and specify the server details, such as hostname, port, and so on.

  4. At the command prompt, type the following:

    java weblogic.WLST create-jms-eg.py
    

    A new Event Generator is created in the WebLogic Integration Console.

To verify whether a new event generator is created:

  1. Open the WebLogic Integration Administration Console.

  2. In the navigation panel, under System Configuration, click Event Generators.

  3. Under JMS, click VIEW ALL and ensure that MSSOutboundEventGenerator is created.

Step 2: Setting Up the Foreign JMS Server

A foreign JMS server must be set up on the MetaSolv Solution application server to communicate with the ASAP application server. It is important to make sure that the JNDI name of the connection factory, queues, and topics defined on the MetaSolv Solution application server are the same as those defined for the ASAP application server.

The following procedure explains how to set up the foreign JMS server.

To set up a foreign JMS server:

  1. Open the WebLogic Server Administration Console.

  2. On the home page, expand Domain Configurations, then Services, then Messaging, click the JMS Modules link.

    The JMS Modules page displays.

  3. In the JMS Modules table, click New.

    The Create JMS System Module page displays.

  4. In Name, enter a name such as MyJMSModule

    Note:

    The remaining fields are optional.
  5. Click Next.

  6. In the Servers table, select the target server on which the server will be deployed.

  7. Click Next.

  8. Select the Would you like to add resources to this JMS system module? check box, and click Finish.

    The Settings page for the JMS module that you just created displays.

  9. In the Summary of Resources table, click New.

    The Create a New JMS System Module Resource displays.

  10. Choose the Foreign Server option, and click Next.

  11. In Name, enter a name such as ASAP JMS Server.

  12. Click Finish.

  13. In the Summary of Resources table, under the Name column, click the ASAP JMS Server link

    Where ASAP JMS Server is the name of the resource that you created in step 11.

    The Settings page for the resource that you just created displays.

  14. Enter the following information:

    1. In JNDI Initial Context Factory, enter:

       weblogic.jndi.WLInitialContextFactory.
      
    2. In JNDI Connection URL, enter the URL for the ASAP administration server host and port. For example:

       t3://srvplsunxmlapi:7001
      

      Note:

      The remaining properties fields are optional.
    3. Select the Default Targeting Enabled check box.

  15. Click Save.

Step 3: Building Topics and Queues for the Foreign JMS Server

You must build topics and queues for the foreign JMS server on the MetaSolv Solution server. Make sure that the names of the connection factory, queues, and topics defined for the MetaSolv Solution server are the same as those defined in ASAP. The remote JNDI names for the MetaSolv Solution server must be the same values of the JNDI names defined for the ASAP server.

The local JNDI names for the Metasolv Solution server are defined as:

  • ASAP.TopicConnectionFactory

  • ASAP.MessageQueue

  • ASAP.MessageResponse

    This JMS queue is local in MetaSolv Solution if both applications are using the same version of WebLogic. If ASAP is running on an older version of WebLogic, you must create this JMS queue on the ASAP server, then define it as a remote JMS queue on the MetaSolv Solution server.

  • ASAP.XVEventTopic

To find the MetaSolv Solution remote JNDI name for a topic or queue:

  1. Open the WebLogic Server Administration Console for the ASAP domain.

  2. On the home page, expand Domain Configurations, then Environment, click the Servers link.

    The Summary of Servers page displays.

  3. In the Servers table, under the Name column, click the link that represents your ASAP server.

    The Settings page for the server you selected displays, showing the Configuration tab > General tab.

  4. On the General tab, click the View JNDI Tree link.

    In the left pane, the JNDI Tree Structure displays.

  5. Drill down to the appropriate queue to see the path that contains the JNDI name that serves as the remote JNDI name on the MetaSolv Solution application server.

Adding a Topic Connection Factory

To add a topic connection factory:

  1. Open the WebLogic Server Administration Console.

  2. On the home page, expand Domain Configurations, then Services, then Messaging, click the JMS Modules link.

    The JMS Modules page displays.

  3. In the JMS Modules table, under the Name column, click the MyJMSServer link

    Where MyJMSServer is the name of the JMS Module you created in "Step 2: Setting Up the Foreign JMS Server".

    The Settings page for the JMS module you selected displays.

  4. In the Summary of Resources table, under the Name column, click the ASAP JMS Server link

    Where ASAP JMS Server the name of the resource you created in "Step 2: Setting Up the Foreign JMS Server".

    The Settings page for the resource you selected displays.

  5. Click the Connection Factories tab.

  6. In the Foreign Connection Factories table, click New.

    The Create a New Foreign JMS Connection Factory page displays.

  7. Enter the following information:

    1. In Name, enter:

      ASAP.TopicConnectionFactory.
      
    2. In Local JNDI Name, enter:

      ASAP.TopicConnectionFactory.
      
    3. In Remote JNDI Name, enter:

      System.ASAP.ApplicationType.ServiceActivation.Application.1-0,4-7;ASAP.Comp.  TopicConnectionFactorySystem.
      

      Note:

      This name should match the JNDI name on the ASAP JMS.
  8. Click Save.

Adding Queues for the Foreign JMS Server

This section explains how to add queues to foreign JMS servers.

Adding a Message Queue

To add a message queue:

  1. Open the WebLogic Server Administration Console.

  2. On the home page, expand Domain Configurations, then Services, then Messaging, click the JMS Modules link.

    The JMS Modules page displays.

  3. In the JMS Modules table, under the Name column, click the MyJMSServer link

    Where MyJMSServer is the name of the JMS Module you created in "Step 2: Setting Up the Foreign JMS Server".

    The Settings page for the JMS module you selected displays.

  4. In the Summary of Resources table, under the Name column, click the ASAP JMS Server link

    Where ASAP JMS Server is the name of the resource you created in "Step 2: Setting Up the Foreign JMS Server".

    The Settings page for the resource you selected displays.

  5. Click the Destinations tab.

  6. In the Foreign Destinations table, click New.

    The Create a New Foreign JMS Destination page displays.

  7. Enter the following information:

    1. In Name, enter:

      ASAP.MessageQueue.
      
    2. In Local JNDI Name, enter:

       ASAP.MessageQueue.
       
      
    3. In Remote JNDI Name, enter:

      System.ASAP.ApplicationType.ServiceActivation.Application.1-0,4-7;ASAP.Comp.MessageQueueSystem.
      
  8. Click Save.

Adding a Message Response Queue

To add a message response queue:

  1. Open the WebLogic Server Administration Console.

  2. On the home page, expand Domain Configurations, then Services, then Messaging, and then click the JMS Modules link.

    The JMS Modules page displays.

  3. In the JMS Modules table, under the Name column, click the MyJMSServer link

    Where MyJMSServer is the name of the JMS Module you created in"Step 2: Setting Up the Foreign JMS Server".

    The Settings page for the JMS module you selected displays.

  4. In the Summary of Resources table, under the Name column, click the ASAP JMS Server link

    Where ASAP JMS Server is the name of the resource you created in "Step 2: Setting Up the Foreign JMS Server".

    The Settings page for the resource you selected displays.

  5. Click the Destinations tab.

  6. In the Foreign Destinations table, click New.

    The Create a New Foreign JMS Destination page displays.

  7. Enter the following information:

    1. In Name, enter:

       ASAP.MessageResponse.
      
    2. In Local JNDI Name, enter:

       ASAP.MessageResponse.
      
    3. In Remote JNDI Name, enter:

      System.ASAP.ApplicationType.ServiceActivation.Application.1-0,4-7;ASAP.Comp. MessageResponse.
      
  8. Click Save.

Adding an Event Topic

To add an event topic:

  1. Open the WebLogic Server Administration Console.

  2. On the home page, expand Domain Configurations, then Services, then Messaging, and then click the JMS Modules link.

    The JMS Modules page displays.

  3. In the JMS Modules table, under the Name column, click the MyJMSServer link.

    Where MyJMSServer is the name of the JMS Module you created in "Step 2: Setting Up the Foreign JMS Server".

    The Settings page for the JMS module you selected displays.

  4. In the Summary of Resources table, under the Name column, click the ASAP JMS Server link

    Where ASAP JMS Server is the name of the resource you created in "Step 2: Setting Up the Foreign JMS Server".

    The Settings page for the resource you selected displays.

  5. Click the Destinations tab.

  6. In the Foreign Destinations table, click New.

    The Create a New Foreign JMS Destination page displays.

  7. Enter the following information:

    1. In Name, enter:

       ASAP.XVTEventTopic.
      
    2. In Local JNDI Name, enter:

       ASAP.XVTEventTopic.
      
    3. In Remote JNDI Name, enter:

      System.ASAP.ApplicationType.ServiceActivation.Application.1-0,4-7;ASAP.Comp. ASAP.XVTEventTopic.
      
  8. Click Save.

Step 4: Creating the ASAP Event Generator

This procedure describes how to set up the event generator for the ASAP application server. It is the same procedure described in "Step 1: Creating the MetaSolv Solution Event Generator", but you are entering information that is specific to the ASAP application server, not the MetaSolv Solution application server.

To create the ASAP event generator:

  1. Open the WebLogic Integration Administration Console.

  2. In the navigation panel, under System Configuration, click Event Generators.

  3. In the Event Generators navigation panel, under JMS, click the Create New link.

    The Create a New JMS Event Generator window displays.

  4. Enter the following information:

    1. In Generator Name, enter:

      ASAPEventGenerator.
      
    2. In Destination Type, select foreign_jms_destination.

    3. In Destination JNDI Name, select System.ASAP.ApplicationType.ServiceActivation.Application.1-0,4-7;ASAP.Comp. XVTEventTopic.

      Note:

      The JNDI name that appears in this field is dependent on how ASAP is installed and can vary from the name given here.
    4. In JMS Connection Factory JNDI Name, select the default value of weblogic.jws.jms.QueueConnectionFactory.

    5. Leave the optional Message Selector field blank.

    6. In Default Rule Channel, select /ServiceActivation/ASAPOutboundEventChannel (xml).

      Note:

      The /ServiceActivation/ASAPOutboundEventChannel (xml) channel is a default from the flow-through packages jar file.
  5. Click Submit.

Step 5: Setting Up Authentication Credentials

Authentication credentials involve a common password that each server uses to identify and validate communications with the other. The same credential must be set up in the same way in both domains.

To set up authentication credentials:

  1. Open the WebLogic Server Administration Console for the MetaSolv Solution domain.

  2. On the home page, expand Domain Configurations, then Domain, and then click the Domain link.

    The Settings for your domain displays.

  3. Click the Security tab.

  4. Scroll down, and click the Advanced link.

  5. In the right pane, select the Configuration tab, then select the Advanced tab.

  6. In Credential, enter a password.

  7. In Confirm Credential, reenter the same password.

  8. Click Save.

  9. Open the WebLogic Server Administration Console for the ASAP domain.

  10. Repeat step 2 to step 8, entering the same credentials for the ASAP domain that you entered for the MetaSolv Solution domain.

    Note:

    Both the MetaSolv Solution and the ASAP domains must have the same password for the domains to communicate. This password is used to authenticate communications between the domains.

Step 6: Testing the Communication Setup

You can test your communication setup by triggering a gateway event from MetaSolv Solution.

To see if the communication setup is working, look for the following changes when the gateway event is triggered:

  • In MetaSolv Solution, the status of the task that initiated the gateway event changes.

  • In ASAP, an order is created.

The basic steps in the communication process are:

  1. A gateway event is triggered from MetaSolv Solution.

  2. The gateway event causes data to be pulled from MetaSolv Solution for the creation of an order in ASAP.

  3. The data is mapped to ASAP formats in the integration layer and sent to ASAP where the order is created.

  4. When the order is completed in ASAP, an event is generated to update the event status in MetaSolv Solution to one of the following: Completed or Failed.

You can find message counts in the following locations:

  • WebLogic Server, JMS monitoring

  • WebLogic Integration Server, Event generators