concept Apache Synapse in category esb

This is an excerpt from Manning's book Open-Source ESBs in Action: Example Implementations in Mule and ServiceMix.
One can question if Apache Synapse actually is a true ESB, but based on the core functionalities that we list in section 1.2, Synapse can be called an ESB. In essence, Synapse is a web services mediation framework that is built upon Apache Axis2, the web services container. This is quite a difference compared with the previously discussed ESBs (Mule, ServiceMix, and Open ESB). The focus of Synapse is to provide functionality such as routing, transformation, message validation, and a registry based on web services and XML standards.
Because Mule and ServiceMix don’t provide a validation component out of the box that works without additional logic, we look at how message validation is supported within another open source ESB: Apache Synapse. We chose Apache Synapse because it provides good support for message validation based on an XML Schema definition. You’ve seen a Synapse configuration with content-based routing and endpoint functionality in section 5.1.2. We also talked about WS-Addressing and the Action header element in particular. For the message validation example, we use an endpoint definition and another WS-Addressing header, named FaultTo.
Because Apache Synapse is a web service mediation framework, we show the same order validation example as used for Mule and ServiceMix with web service endpoints instead of JMS queues. Apache Synapse does, however, also support JMS transport functionality.
The content-based router with domain logic is the most common implementation. We’ll look at an example with ServiceMix and Mule using this router. We’ll show the other type of content-based router with an example using Apache Synapse.
So far, we’ve discussed routers that use domain logic to determine the target endpoint. Next, we look at content-based routers that don’t include domain logic. We show an example with Apache Synapse, an open source ESB that is part of Apache’s web services project.
Apache Synapse is based on the well-known Apache Axis2 web service container framework. With the wide variety of complex standards and specifications in the web service world today, such as WSDL, SOAP, XSD, WS-Addressing, WS-ReliableMessaging, and WS-Security, there is a need to simplify the usage for developers. Apache Synapse provides an abstraction layer that supports a lot of the web services standards but keeps it simple for developers to implement solutions, based on these standards. Figure 5.3 shows an overview of the Apache Synapse framework.
We focus on the Synapse processing model shown in figure 5.3. The functionality that Apache Synapse provides is implemented with so-called mediators. A mediator is a component that performs a specific kind of functionality on a message, such as message validation, XSLT transformation, logging, and message header processing. Another important component in the Synapse processing model is the endpoint, which represents an address for incoming and outgoing messages. By using mediators and endpoints, we can build mediation logic to send an incoming message to the right target endpoint, as we’d like to do with content-based routing.