Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

The WSDL 2.0 Extensions spec defines a Message Exchange Pattern (MEP) as: "the sequence and cardinality of abstract messages listed in an operation." JBI uses this concept to define interactions between two nodes: the consumer node, and the provider node. The pattern is defined in terms of message type (normal or fault), and message direction. MEPs always reflect the provider's point of view. For example, in a request-response interaction, the MEP is in-out, which reflects the flow of messages as seen by the provider. From the consumer's perspective, the direction of message flow is reversed, but the MEP used by the NMR in its interactions with the consumer will always reflect the provider's perspective. This is a conventional practice when dealing with WSDL MEPs.

Tip
titleHandy Hint

If you want to see how a component is used in the examples shipping with ServiceMix, try such a  Google Codesearch to find out wich sample uses the component. It's a lot faster than looking on the local hard drive unless you use a specialised desktop search engine.

Below is a matrix of ServiceMix components and the JBI MEPs supported by each.

...

Reflection

LW SE

The Reflection API represents, or reflects, the classes, interfaces, and objects in the current Java Virtual Machine.  This API is handy if you are writing developement tools such as debuggers, class browsers, and GUI builders.

Consumer

In-Only

o.a.s.components.reflection.proxyIntOnlyBinding

Reflection cont'd

LW SE

 

Consumer

In-Out

o.a.s.components.reflection.proxyIntOutBinding

RSS

LW BC

Support via Rome library for accessing and processing RSS Feeds.
rsspollingcomponent

Consumer

In-Only

 

RSS cont'd

LW BC

feedwriter prov in-only

Provider

In-Only

 

SAAJ

LW BC

SAAJ is for Soap With Attachments and Apache Axis support

Provider

In-Out

 

Scripting

LW SE

A component to allow any JSR 223 compliant scripting engine to be used to easily create a component , perform a transformation, or be an expression language.

Provider

In-Only or In-Out depending on the Groovy Script sent to the Groovy SE.

 

servicemix-bpe

JBI SE

WSDL 2.0 Adjuncts defines pre-defined extensions for WSDL 2.0, including MEPS, operation styles, and binding extensions.

Consumer / Provider 

All MEPs supported.

 

servicemix-eip 

JBI SE

A routing container where different routing patterns can be deployed as services unit.  Based on the EIP Patterns book.

Consumer / Provider 

n.a.

 

servicemix-http

JBI BC

HTTP binding

Consumer / Provider

In-Only / In-Out

 

servicemix-jms

JBI BC

JMS binding

Consumer / Provider

In-Only / In-Out

 

servicemix-jsr181

JBI SE

Hosts annotated POJOs

Provider

In-Only / In-Out

 

servicemix-lwcontainer

JBI SE

Hosts lighweight components

n.a.

n.a.

 

servicemix-sca

JBI SE

Container for SCA modules

Consumer / Provider

 

 

servicemix-wsn2005

JBI SE

WS-Notification

Consumer / Provider

n.a.

 

servicemix-eip

JBI SE

EIP patterns

Consumer / Provider

n.a.

 

servicemix-mail

JBI BC

Mail binding

Consumer / Provider

In-Only / In-Out

 

servicemix-osworkflow

JBI SE

OSWorkflow

Consumer

n.a.

 

servicemix-script

JBI SE

Spring dynamic languages engine

Consumer

n.a.

 

servicemix-scripting

JBI SE

JSR-223 scripting engine

Consumer

n.a.

 

servicemix-snmp

JBI BC

SNMP binding

Consumer

In-Only

 

servicemix-validation

JBI SE

xml validation engine

Consumer

n.a.

 

servicemix-vfs

JBI BC

VFS binding

Consumer / Provider

In-Only

 

StreamWriterComponent

LW SE

Similar to TraceComponent, writes content of input message to the stream requested.

Provider

In-Only

 

TraceComponent

LW SE

Logs output to console

Provider

In-Only

 

Validation

LW SE

For schema validation of documents using Java API for XML Processing (JAXP 1.3) and XMLSchema (http://www.w3.org/XML/Schema) or RelaxNG - a schema language for XML (http://relaxng.org/). If the inputted XML is validated as okay, the same XML is sent back. If there is an error a fault is returned to the sender.

Mixed

As the Provider, the MEP is In-Only, as the consumer it is also In-Only.  This component can also have an In-Out exchange pattern, which is the main pattern for this component.

 

VFS

LW BC

VFS via the Jakarta Commons Net library which provides access to file systems, jars/zips/bzip2, temporary files, WebDAV, Samba (CIFS), HTTP, HTTPS, FTP, and SFTP among others.

 

 

 

VFS cont'd

LW BC

FilePoller

Consumer

In-Only

 

VFS cont'd

LW BC

FileWriter

Provider

In-Only

 

WSIF

LW BC

WSIF for integration with the Apache Web Service Invocation Framework (WSIF)

Provider

In-Only

 

XFire

LW

 

 

 

 

XPath Routing

LW SE

Used to perform content based routing in an ESB.  This means you route messages around your service bus based on the message properties of the content of the message.  When integrating systems accross language boundries its common to use XML as a universal message format; so XPath is an ideal tool to perform content based routing and transformation.

Mixed

Recieves an In-Only exhange and sends an In-Only message to another component.

 

XSLT

LW SE

The XsltComponent will preform an XSLT transformation of an inbound Normalized Message and generate an output message as a Normalized Message.

Mixed

MEP is In-Only, as the consumer it is also In-Only.  This Component can also have an In-Out exchange pattern, which is the main pattern for this component.

 

XSQL

LW BC