AdroitLogic Private Ltd.

  • Increase font size
  • Default font size
  • Decrease font size

Basics of a Proxy Service

A Proxy Service is the basic unit of deployment on the UltraESB server. A Proxy Service is identified by a unique name, and specified one or more transports over which it expects to receive messages. Optionally the service may also specify the address over the transport/s at which it expects the messages, and other properties that will configure its behavior.

 

Basics of a Proxy Service

simple proxy service

A Proxy Service is the basic unit of deployment on the UltraESB server. A Proxy Service is identified by a unique name, and specified one or more transports over which it expects to receive messages. Optionally the service may also specify the address over the transport/s at which it expects the messages, and other properties that will configure its behavior.

When a message arrives at the endpoint address over a selected transport, the UltraESB hands over the message to the 'In Sequence' of the service for mediation. Specification of a mediation sequence is optional, and the mediation sequence could analyze the message headers and/or payload to make content based routing, logging, reporting or transformations etc. After mediation, the message maybe forwarded to another service - which typically is the real service provider in many use cases. This external service maybe passed the message over the same transport as the received message, or any of the other transports supported by the UltraESB. This service may be a synchronous service or an asynchronous service (e.g. one way JMS, email etc). If/when the external service responds back with a response message, it is handed over to the 'Out Sequence' of the Proxy Service for mediation. Typically after a received response message is mediated, it will be sent back to the original requester by the proxy service.

A 'Destination' is a definition of an external service endpoint to the UltraESB. A Sequence is a set of mediation steps - specified in the Java programming language or any JSR 233 scripting lanugage - such as Groovy, Javascript, etc - using the public API exposed by the UltraESB. Destinations and Sequences maybe defined locally for a Proxy Service, or defined globally so that multiple proxy services may re-use them by reference.

A Proxy Service may also define an 'Error Sequence' which is invoked by the UltraESB when an unhandled exception occurs during mediation. Although the above view of the basics of Proxy Services is a good introduction, there are advanced topics about proxy services which the user may be interested in for complex use cases. These includes how load is balanced, and how the system parameters should be tuned for optimal performance. Please refer to other sections and examples for this information.