|
|
|
|
|
Introduction osESB is a free, open source Enterprise Service Bus (ESB) designed to run inside a Java 2 Enterprise Edition (J2EE) application server. osESB applications are configured to implement business services in a Service Oriented Architecture or process events in an Event Processing Architecture. osESB encourages document style interactions. In this context, we mean document-style in a protocol independent sense. So, osESB interactions are represented by responseMessage = f(requestMessage) where requestMessage and responseMessage are XML messages, possibly with attachments, and f() represents processing of the message by the ESB. osESB uses components called transport handlers as the entry points for messages sent to osESB. osESB includes ancestor classes for SOAP, JMS, and SOAP over JMS transports. All transport handlers support XML messages, possibly with attachments, for both requests and replies. Transport handlers are implemented as EJB-backed web services or Message Driven Beans. Message processing is implemented by a component called a MessagePipeline, which processes a message and possibly produces a result. A MessagePipeline is a collection of PipelineStages that operate on messages in order to produce a new message or create a side-effect in an application such as a database. A MessagePipeline also includes a MessagePipelineContext, which is a scratch pad area that can hold any object. The MessagePipelineContext is accessible by any PipelineStage. osESB includes 30+ built-in PipelineStage(s). Out-of-the-box, osESB includes PipelineStages for:
The osESB also includes the following non-functional pipeline stages:
osESB uses a component called a MessageRouter to determine the MessagePipeline that will process an incoming message. MessageRouters connect transport handlers to MessagePipelines. MessageRouters select the MessagePipeline that will process the incoming message based on a message type. In osESB, a message type is represented as a javax.xml.namespace.QName, which is composed of a namespace URI and a local part. Transport handlers can be deployed with MessageRouter configurations that implement the following message routing strategies:
Contact Send questions or comments to info@osesb.org Release Notes This initial release of osESB includes most of the core components and features needed to implement an ESB. The following features are scheduled for future releases of osESB:
|