7 Working with Internal Delivery Channels

This chapter describes how to use internal delivery channels in Oracle SOA Suite for healthcare integration. Internal delivery channels are used for communicating with backend applications, such as receiving messages from or sending them to a JMS topic or queue in a healthcare integration application.

This chapter includes the following topics:

7.1 Introduction to Internal Delivery Channels

An internal delivery channel defines how a message received from an external system (endpoint) is delivered from Oracle SOA Suite for healthcare integration to backend applications, such as JMS topics and queues, or how a message that was sent from a backend system is received by Oracle SOA Suite for healthcare integration for delivery to an external system. It defines the connection information, the transport protocol, acknowledgments, and so on. When you create an internal delivery channel, that channel is available to all endpoints. This avoids having to create a unique internal delivery channel for each endpoint.

7.2 Creating Internal Delivery Channels

If you need to send messages to an internal delivery channel, create a "send to" internal delivery channel to associate with the endpoint. If you need to receive messages from an internal delivery channel, create a "receive from" internal delivery channel.

To create an internal delivery channel

  1. On the Oracle SOA Suite for healthcare integration user interface, select the Designer tab and then the Administration tab.

  2. Do one of the following:

    • To create an internal delivery channel for sending messages to a JMS or queue, right-click Send to Internal and then click Create.

    • To create an internal delivery channel for receiving messages from a JMS or queue, right-click Receive From Internal and then click Create.

    The Create dialog appears.

    Figure 7-1 Create Dialog for Internal Delivery Channel (Send to)

    Description of Figure 7-1 follows
    Description of "Figure 7-1 Create Dialog for Internal Delivery Channel (Send to)"

  3. On the Create dialog, fill in the following fields:

    Table 7-1 New Internal Delivery Channel Properties (Send to)

    Property Description

    Name

    A unique name for the delivery channel.

    Transport Protocol

    The connection protocol for the internal delivery channel. JMS is the supported protocol

    Destination Name

    The JNDI name of the topic or queue to which Oracle SOA Suite for healthcare integration will send messages.

    Connection Factory

    The JNDI location or Java class name for the connection factory, such as jms/b2b/B2BQueueConnectionFactory.


  4. Click OK.

    The new internal delivery channel is added to the Administration tree under Send to Internal, and the new channel appears on the Internal Delivery Channel page.

    Figure 7-2 Internal Delivery Channel Page

    Description of Figure 7-2 follows
    Description of "Figure 7-2 Internal Delivery Channel Page"

  5. On the main Internal Delivery Channel page, you can modify any of the fields listed in Table 7-1 (except Transport Protocol).

    Note:

    The fields in the upper portion of the Internal Delivery Channel page (Acknowledgement Mode, Retry Interval, and Reattempt Count), are not currently used for internal delivery channels.
  6. To modify the transport protocol connection settings, do the following:

    1. On the main Internal Channel Delivery page, click Transport Protocol.

    2. On the Transport Protocol Parameters dialog, click the Basic tab, and modify any of the properties listed in Table 7-2.

      Table 7-2 Internal Delivery Channel Transport Protocol Basic Parameters

      Parameter Description

      Destination name

      The JNDI name of the topic or queue to which Oracle SOA Suite for healthcare integrationwill send messages.

      Connection Factory

      The JNDI location or Java class name for the connection factory, such as jms/b2b/B2BQueueConnectionFactory.

      Is Topic

      An indicator of whether the destination is a topic or a queue. Select this option if the destination is a topic.

      Polling Interval

      The length of time in minutes between polling attempts for messages.


    3. On the Transport Protocol Parameters dialog, click the Advanced tab, and modify any of the properties listed in Table 7-3.

      Table 7-3 Internal Delivery Channel Transport Protocol Advanced Parameters

      Parameter Description

      Message Type

      Select one of the following JMS message type options: BYTES, TEXT, or MAP.

      Is Map Payload Alone

      An indicator of whether the payload is sent alone as part of a JMS message of the type javax.jms.MapMessage.

      Use JMS id

      An indicator of whether to use the JMS message ID as the healthcare integration message ID. This facilitates correlation at the JMS level.

      Destination Provider

      JNDI properties that are required to connect to the target server. Use a semicolon (;) as the separator for key/value pairs. This is for enabling Oracle SOA Suite for healthcare integration to connect to JMS queues or topics available on remote servers.

      User name

      The user name to connect to the target server. This value is optional for JMS because Oracle SOA Suite for healthcare integration can use the configured JNDI data sources to connect to queues.

      Password (and Retype Password)

      The password for the above user name.

      Subscriber id

      An indicator of whether the JMS subscriber ID is required when JMS is communicating with a topic.

      Sequencing

      An indicator of whether messages need to be delivered in sequence. Select this check box for sequential delivery. This option only applies to WebLogic Server JMS (it uses the Unit-of-Order feature of WebLogic Server JMS).


  7. When you are done making changes to the transport protocol, click OK on the Transport Protocol Parameters dialog.

  8. When you are done making changes to the internal delivery channel, click Apply on the Internal Delivery Channel page.

7.3 Enabling an Internal Delivery Channel

Before you can use an internal delivery channel in an Oracle SOA Suite for healthcare integration project, you need to enable it. To enable it, double-click the internal delivery channel to open the Internal Delivery Channel page, and then select the Enabled option.

7.4 Deleting an Internal Delivery Channel

To delete an internal delivery channel, select the channel in the Administration tree and click Delete in the toolbar. You can also right-click the internal delivery channel and then select Delete.

7.5 Correlating Messages Using JMS Queues

You can correlate inbound and outbound messages using JMS queues, by setting A2A=true in the JMS header.

If the message ID (MSG_ID) is provided from a back end application, then MSG_ID is set to JMS Correlation ID in the healthcare integration output, otherwise the JMS Message ID is set to JMS Correlation ID in the healthcare integration output.