Show TOC

Consumer Proxies and Event ProvidersLocate this document in the navigation structure

What are event providers, how do they differ from standard consumer proxies, and when can they be used?

When consuming a Web service, you can use one of two proxy types:

  • Consumer Proxy (called a Service Consumer in the Enterprise Services Repository)

  • Event Provider

Event providers are similar to consumer proxies (consumer proxies are also referred to as service consumers). Although both act as an interface for consuming Web services, you may want to use event proxies when messages from an application should be sent to more than one Web service destination, also known as a subscriber.

Table 1: Differences between standard consumer proxies (service consumers) and event providers
Feature Standard consumer proxy (service consumer) Event provider
Receiver determination The application must either specify the logical port explicitly or at least provide an identifier or context so that the Web Service Runtime can determine the correct logical port, and hence determine which Web service provider to send the message request to. The application contains absolutely no information or identifiers about the service provider. It cannot control which service(s)/subscribers messages are sent to.
Number of receivers (service providers) of message 1 >=1
Communication method Synchronous or asynchronous Asynchronous
How are messages sent?

Standard consumer proxies (sevice consumers):

  1. The application calls the service consumer, containing either the ID of the logical port, or, where receiver determination is used, either a technical identifier or business context data, that allows the Web Service Runtime to determine the logical port.
  2. The Web Service Runtime sends the message to the Web service defined in the logical port.

    Each message has only one (Web service) destination.

Event providers:

  1. The application calls the event provider.

    This is the so-called parent message.

  2. The Web Service Runtime determines the logical port(s) for the event provider.

    The logical port is determined based on the operation being called. See Configuring an Event Provider.

  3. A child message (with its own ID) is created for each logical port/subscriber.
  4. The Web Service Runtime sends the child messages to the Web services defined in the logical ports.

    In other words, for each (parent) message sent from an application, a child message is created for each logical port defined for the event provider. In this way, the same message can be sent to one or more (Web service) destinations.