Point-to-point Communication for Asynchronous ServicesLocate this document in the navigation structure

Use

Asynchronous services can be designed and implemented so that a direct, WS-RM based point-to-point communication between applications is possible from the service implementation's perspective. This communication can be performed without routing service calls through an XI Integration Server at runtime.

The implementation of point-to-point ready asynchronous services has to be separated into two classes:

  • An application-specific, but Web service runtime independent part.

  • A part, which covers the Web service runtime specific implementations.

The Web service runtime-specific implementations are still located in the proxy class, whereas the Web service runtime independent implementations, like data mappings and application calls, have to be encapsulated into a separate class implementation.

Procedure
  1. For each service operation, create a service implementation class using a singleton pattern.

    You should do the following:

    • Set the instantiation as private.

    • Define a private static attribute go_singleton type reference to implementation class.

    • Implement static public CREATE method (factory operation) that returns the singleton instance.

    • Implement public instance method EXECUTE, which contains the proxy input parameter as importing parameter and the standard fault message type as exception parameter.

      In this method, you should do the following:

      • Call validations, mappings, and application calls.

      • We recommended to encapsulate different steps of the service processing such as validations and mappings in public operations such that they can be reused, for example, in bulk service implementations based on the single instance service implementation.

  2. Implement the proxy class in the following way:

    • Implement the EXECUTE_ASYNCHRONOUS method.

    • Implement the following features, which rely on XI, or respectively Web service runtime being active:

      • Activation of extended XML handling in the constructor.

      • Deactivation of extended XML handling in the EXECUTE_ASYNCHRONOUS method.

      • Accesses to XI or Web service protocols as needed.