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 back-end 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 back-end applications, such as JMS topics and queues, or how a message that was sent from a back-end 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 must send messages to an internal delivery channel, create a "send to" internal delivery channel to associate with the endpoint. If you must receive messages from an internal delivery channel, create a "receive from" internal delivery channel.
To create an internal delivery channel
-
On the Oracle SOA Suite for healthcare integration user interface, select the Designer tab and then the Administration tab.
-
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 Internal Delivery Channel dialog appears.
Figure 7-1 Create Dialog for Internal Delivery Channel (Send to)
Description of "Figure 7-1 Create Dialog for Internal Delivery Channel (Send to)" -
-
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 sends messages.
Connection Factory
The JNDI location or Java class name for the connection factory, such as
jms/b2b/B2BQueueConnectionFactory
. -
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.
-
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.
-
To modify the transport protocol connection settings, do the following:
-
On the main Internal Channel Delivery page, click Transport Protocol.
-
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 integration sends 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.
-
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 must 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).
-
-
When you are done making changes to the transport protocol, click OK on the Transport Protocol Parameters dialog.
-
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 must 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.