
The figure below presents an academical example of SOA application (the travel agency process) deployed and run on four EasyESB nodes.
The explanation of this usecase can be found in [EasiestDemo Gallery|easiestdemo:Travel Agency].
{center}
{flash:file=^easyesb-travelagency.swf|width=600px|height=560px}
{show-to}
{center}
EasyESB is composed of several modules and under modules:
* [*exchange data model*|Exchange data model]:
** _+exchange10-api+_ : provides XSD schema to modelize an exchange
** _+exchange10-impl+_ : implementation of exchange models
* [*transporter service model*|Transporter service model] :
** _+ws-binding-transporter+_ : proposes a WSDL description providing the basic operation of transporter based on exchange data model.
** _+transporter-api+_ : wraps the preceding WSDL description into a JAVA API.
** _+transporter-soap-impl+_ : proposes an implementation of a transporter based on SOAP protocol.
* [*soa data and service model*|Soa data and service model]:
** _+soa10-api+_ : provides XSD schema to modelize the basics concepts of SOA and ESB paradigm such as endpoint, service, node, registry, components, listeners, senders... etc.
** _+soa10-impl+_ : implements these basics concepts from soa model
** _+ws-binding-soa+_ : provides WSDL description of basic operations that must offered endpoint, node and registry concept.
** _+soa-core-api+_ : wraps the preceding WSDL description into a JAVA API.
** _+soa-core-impl+_ : implements the basic operations that must offered endpoint, node ... etc (The implementation of registry service is implemented in anothers module: technical-service-registry-impl ).
* [*integration model*|Integration model]:
** _+external-listener-soap+_ : this component is able to listen messages coming from an external and heteregeonous environment like a Soap (Web Service) client. This correspond to a part of binding component SOAP in a JBI environement. It is natively deployed in default distribution.
** _+external-sender-soap+_ : this component is able to send messages to an external and heteregeonous environment like a Soap (Web Service) provider. This correspond to the others part of binding component SOAP in a JBI environement. It is natively deployed in default distribution.
* [*component model*|Component model]:
** _+ws-binding-bpel-component+_ : provides a WSDL description providing the basic operation of bpel component such as store and unstore bpel operations.
** _+component-bpel+_ : implements operations described in preceding wsdl description.
* [*technical service model*|Technical service model] :
** _+technical-service-registry-impl+_ : proposes a implementation by default of the registry described in soa-core-api module.
** _+ws-binding-admin+_ : proposes a WSDL description providing the basic operation of administration service of an ESB.
** _+technical-service-admin-api+_ : wraps the preceding WSDL description into a JAVA API.
** _+technical-service-admin-impl+_ : proposes a implementation by default of the administration technical service.
** _+ws-binding-admin-client+_ : this module contains just a tool to invoke administration service of a Node in a Junit Test or anothers java programs.
* [*distribution model*|Distribution model] :
** _+esb-launcher+_: proposes basic commands to start or stop a node in script shell or bat.
** _+esb-distribution+_: proposes the standard distribution containing the default administration and registry services, the listener and sender SOAP and the BPEL component.
If you want know how to use {report-info:page:space > space:name} library, please consult the list of [How-tos].
If you have any questions, please use the [{report-info:page:space > space:name} contact form|Contact].