3.3 Service Based Integration
Next to
- OHI Components Web Services
- Synchronous message processing (request-response): standard two-way message exchange where a response message immediately follows the inbound request (using the same socket for communication).
- Asynchronous message processing: an inbound request is not immediately processed; the response message is delivered after processing to the endpoint address specified by the client at the time of sending the request.
- OHI Components as Client (calling external services)
- Synchronous Message Processing (request-response): similar to inbound requests, OHI Components applications expect the response to immediately follow its outbound request (using the same socket for communication).
- Asynchronous message processing: an outbound request will not be processed immediately; the response message should be delivered after processing to the endpoint address that is specified by OHI Components applications at the time of sending the request.
3.3.1 OHI Components Web Services
3.3.1.1 Synchronous Message Processing
If a request is received and the ohi.ws.<integration_point>.request.validate property for the specific Integration Point is set to true, the message is validated to check if it adheres to the XSD specification. If the request is not valid, a SOAP fault will be returned and the message is not processed. The validity check is not performed if the ohi.ws.<integration_point>.request.validate property is set to false.
A synchronous request is processed immediately. The result of processing the request message is returned to the client immediately after processing. The format of the response message adheres to the message specification that is dictated by the WSDL specification of the web service.
As the response message contains details of the results of processing the request, the Task Message Log is not written to in case of synchronous message processing.
Examples of synchronous web services are the Relation integration point and the Provider integration point.
3.3.1.2 Asynchronous Message Processing
Also in case of an asynchronous request, the message is validated to check if it adheres to the XSD specification. If not, a SOAP fault will be returned immediately. The message is not processed.
Valid requests are queued and will be processed in the order in which these
were queued as soon as system resources are available.
Similar to
- To which endpoint URI the response message should be delivered. This is determined by the client and passed as the WS-Addressing replyTo address in the request message.
- How the request and response are correlated. The response message contains the WS-Addressing relatesTo identifier that the client program can use to correlate the response with the original request. The relatesTo attribute holds the client-generated messageId value that was passed in the request.
Passing a valid replyTo address URI and a messageId that is unique for the specific IP is the responsibility of the calling system.
In case of asynchronous message processing, result messages are written to the Task Message Log. These are passed in the response message and may also be retrieved using the messageId value.
An example of an asynchronous web service is the ClaimsIn integration point.