Using the HL7 Binding Component

Using HL7 Quality of Service (QoS) Features

Quality of Service features are configured from the CASA Editor, and include properties used to configure retry (redelivery) and throttling.

This section contains the following topics:

Quality of Service (QoS) Properties

The QoS attributes are configured from the QoS Properties Editor, accessed from the Composite Application Service Assembly (CASA) Editor. For an example of how to access the QoS Properties Editor, see Using Message Throttling.

Service Name (Consumer)

Specifies the consumer service name. Provides a list of preexisting namespaces. Click the ellipses button to open the QName Editor.

Example: ns1:http://j2ee.netbeans.org/wsdl/HL7V2InboundProject/hl7receive

Endpoint Name (Consumer)

Indicates the consumer endpoint name.

Service Name (Provider)

Specifies the provider service name. Provides a list of preexisting namespaces. Click the ellipses button to open the QName Editor.

Example: ns1:http://j2ee.netbeans.org/wsdl/HL7V2InboundProject/hl7receive

Endpoint Name (Provider)

Indicates the consumer endpoint name.

Max Attempts (Redelivery Extension)

Specifies the number of retries to attempt before using the On Failure option.

Example: 20

Wait Time (Redelivery Extension)

Specifies time (in milliseconds) to wait between redelivery attempts.

Example: 300

On Failure (Redelivery Extension)

Specifies the type of action to be taken when message exchange (ME) redelivery attempts have been exhausted.

The On Failure options are:

  • Delete: When the final defined delivery attempt has failed, the QoS utility abandons the message exchanges (ME) and returns a Done status to the JBI component, which proceeds to its next process instance. This option is only supported for In-Only message exchanges.

  • Error: When the final defined delivery attempt has failed, the QoS utility returns an Error status to the JBI component, and the JBI component throws an Exception. This is the default option, and is supported for both In-Only and In-Out message exchanges.

  • Redirect: Similar to the Delete option, except that the QoS utility reroutes the ME to the configured redirect endpoint when the maxAttempts count has been exhausted. If the QoS utility is successful in routing the message to the redirect endpoint, a Done status is returned to the JBI component; otherwise, an Error status is returned. This option is supported for In-Only message exchanges only.

  • Suspend: The QoS utility returns an Error status to the JBI component if it is not able to deliver the ME to the actual provisioning endpoint. After the re-delivery attempts have been exhausted, the JBI Component suspends the process instance. This option is only supported if monitoring is enabled in the JBI Component, since the user must use the monitoring tool to resume a suspended instance. This option is supported for both In-Only and In-Out message exchanges.

Example: Delete

Maximum Concurrency Limit (Throttling Extension)

Specifies the maximum number of concurrent messages that can be processed on a specific connection. This number is used to set up the maximum number of concurrent messages that the internal endpoint sends to the provider endpoint.

Example: 10

Using Message Throttling

Throttling allows you to set the maximum number of concurrent messages that are processed by a particular endpoint. Increased message load and large message payloads can cause memory usage spikes that can decrease performance. Throttling limits resource consumption so that consistent performance is maintained.

The HL7 Binding Component can manage the flow of messages by evaluating endpoints to determine when it is necessary to suspend requests and when to resume processing as usual.

Throttling for the HL7 Binding Component is a QoS feature configured from the CASA Editor.

ProcedureTo Configure Throttling for an HL7 WSDL Port

  1. From the NetBeans IDE Projects window, right-click the Service Assembly node under your composite application, and then select Edit.

    The CASA Editor opens containing your composite application.

    Graphic shows the QoS icon in the CASA Editor,
as described in context.
  2. In the CASA Editor, click the QoS icon located near the HL7 WSDL port you want to configure.

    The QoS Properties Editor appears.

  3. In the QoS Properties Editor, click the property field for maximumConcurrencyLimit under ThrottlingExtension, and enter an integer for the maximum number of concurrent messages allowed for this endpoint.

    Graphic shows the QoS Properties Editor
  4. Click Close.

    The appropriate throttling configuration for the connection is generated in the project's jbi.xml file, when the service assembly is built.

Using Redelivery

Redelivery is a Quality of Service mechanism that handles message delivery when first-time delivery fails. Redelivery allows you to define the number of attempts that the system makes to deliver a message, the time between attempts, and the final result for an undeliverable message or nonresponsive endpoint.

Redelivery is configured for a specific connection from the Composite Application Service Assembly (CASA) Editor, by clicking the QoS icon for that connection. From the RedeliveryExtension section of the QoS Properties Editor, configure the Redelivery properties.

The Redelivery configuration parameters are:


Note –

The On Failure options: Delete and Redirect, cannot be applied to In-Out message exchanges because In-Out message exchanges require a specific response from the process instance to proceed further, and as such, the return value for these options does not suffice.