In this chapter we will learn about the service invocation model, i.e., the underlying framework that provides the SOA in an ESB. We will discuss multiple forms of process routing, including the concept of itinerary-based routing and the role it plays in enabling a highly distributed SOA across independently deployed services.
We will also discuss some fundamental ESB services, such as content-based routing and XSLT transformation, and examine how service types can be defined and then reused for different purposes using configurable options that are declaratively specified rather than coded.
We will then explore some advanced ESB services, such as an XML persistence service and an orchestration service.
One of the places where the ESB adds incremental value over a typical SOA is in the find/bind/invoke operations that ordinarily occur. To date, SOAs have typically been implemented using a client-server model. In an SOA that follows the client-server model, whether via web services or a predecessor, service clients contact other services through a process known as find, bind, and invoke. The find/bind/invoke model assumes that there is a registry or directory that stores the location and possibly other metadata about a service implementation. In the “find” operation, the service client does a lookup in the registry for the service, using certain criteria that may include names or characteristics such as “color ...