This appendix describes how to implement Oracle SOA Suite for healthcare integration applications when using the Minimal Lower Layer Protocol (MLLP) in a high availability environment.
This appendix contains the following topics:
These properties enable high availability for healthcare integration projects and specify time out and heartbeat intervals for the servers in the cluster.
All features currently supported for MLLP in Oracle SOA Suite for healthcare integration are also supported in a high availability environment, including message sequencing.
Note:
This SOA Suite feature is part of Oracle Integration Continuous Availability. Please refer to the Oracle Fusion Middleware Licensing Information User Manual for more details on Oracle SOA Suite for Middleware Options.
In a clustered environment, the first healthcare integration instance to start up and initialize is the instance that handles MLLP traffic. When the instance handling MLLP traffic fails, an inactive instance in the cluster becomes active and takes over the responsibility of handling MLLP traffic within the configured timeout period. All in-flight messages from the failed instance are recovered since message processing is transactional for healthcare integration. This ensures that no messages are lost during failover.
If the instance that fails becomes completely disabled, the second and now active instance continues to pick up messages from and send messages to an outbound distributed queue created specifically for high availability processing. If the initial instance becomes available again, the second instance continues to handle MLLP traffic.
A load balancer is used as a failover device in case the active node in the cluster fails. This is required for inbound MLLP traffic when Oracle SOA Suite for healthcare integration is implemented in a clustered environment. The endpoints and external systems use the IP address of the load balancer as the destination connection. This means that all the connections are established in one active node, and message processing is performed across all nodes in the cluster. The load balancer can be configured to distribute the messages evenly among the healthcare integration instances, but only the designated active instance will establish connections. Using cookie-based or active-persistent connections in the load balancer might cause unexpected behavior in the MLLP server. Oracle recommends defaulting to non-persistent connections and verifying the load balancer documentation for persistence settings to eliminate connection losses. Please refer to the load balancer documentation for instructions about how to uniformly farm out the incoming connections across the SOA cluster to the TCP ports (part of Endpoints) configured in the Oracle SOA Suite for heathcare integration user interface.
The "Active" server is the only server in the cluster that can send or receive messages from an endpoint using MLLP. However, the message processing is done by all servers in the cluster. For example, in the outbound case, messages are prepared to be sent by all the servers in the cluster, but the actual sending is restricted to only the active server. It is the same in the inbound case.
This is an Oracle Weblogic server feature for JMS queues. In the default configuration, all messages belonging to the same UOO are "tied" to a specific server. UOO is used to sequence messages within JMS in the Oracle Weblogic server. So, if UOO is being used, the JMS queue to which the UOO is "tied" has to be active to receive messages. In the event of a server failure, the JMS messages can be recovered using the "Whole Server" migration.
Note:
In an HA environment when external JMS queues are used, a "Whole Server" migration must be configured.
Oracle SOA Suite for healthcare integration relies on the following components:
Oracle SOA database for messages and message state persistence
Metadata Services (MDS) repository for instance metadata
Load balancer for high availability support
For more information about configuring Oracle SOA Suite for high availability, see the following:
"Enterprise Deployment Overview"
in Oracle Fusion Middleware Enterprise Deployment Guide for Oracle SOA Suite
"Whole Server Migration" in Administering Clusters for Oracle WebLogic Server
To enable Oracle SOA Suite for healthcare integration, you must define certain B2B properties in Oracle Enterprise Manager.
These properties enable high availability for healthcare integration and define time out and ping intervals for the servers.
To enable MLLP high availability for healthcare integration