Graham,

this is my understanding of the system:

ServiceMix is a bus system (ESB) which can contain several independent 
services. Those services may be xslt transformation, a router, a workflow or 
some other service. They are based on JBI Service Engines (SE).

But how to get data to those services and back (onto the bus):
Now there are additional bindings like for file system, ftp, email etc. to get 
data onto the bus and vice versa. Those bindings are called JBI Binding 
Components (BC). 

How can I setup such bindings or services:
There are JBI Service Units (SU) which are endpoint configurations for the 
bus. A service unit will be deployed to the bus and instantiate endpoints for 
services and bindings. 
There are also Service Assemblies (SA) which is a deployment format containing 
one or more Service Units and Shared Libraries (SL) which contain mostly 
common classes, methods and constants used by more than one component.


A use case for a better understanding:

Imagine the following situation. At customers site they have a host system 
running IBM MQSeries. This system contains FO documents which need to be 
converted into PDF format (for example). You are not allowed to install 
something to this machine. The converted documents have to be put to a ftp 
folder. If a conversion fails, an operator has to be informed via email, 
containing the error log and the original document as attachment.

How to solve it using ServiceMix:

1. you setup a machine with servicemix running
2. you setup a MQSeries Binding Component for polling the documents from the 
host system
3. you setup a FO to PDF service engine inside the smx
4. you configure the poller to send the polled documents to the conversion 
engine inside the bus
5. you setup a ftp sender for sending the converted files
6. you setup a mail sender to notify an operator on demand
7. you configure your converter to send to email-sender on failure and to send 
to ftp-sender on success

That's it. 
This is just a very simple use case. Most of the time you will have much more 
complex scenarios. The advantage is that JBI is a standard. This means 
bindings and services can be used in every JBI compliant container (at least 
it should be like this).

I hope this helps you a bit more now.

Regards
Lars




On Wednesday 04 June 2008 13:36:29 Graham Leggett wrote:
> Lars Heinemann wrote:
> > I strongly suggest that you read the articles from the smx homepage and
> > also the JBI spec (at least to understand some core concepts).
> >
> > http://servicemix.apache.org/articles.html
>
> I am looking for something much more basic than this, like a document
> that explains what problem JBI is trying to solve, how servicemix might
> be a good choice for this, and why using servicemix would be a better
> idea than using something like the J2EE stack.
>
> By analogy, I feel like someone who asked "what is a website, and why
> would it be useful to me", and having someone answer "read RFC2616 HTTP
> 1.1, and oh look for the XHTML specs at w3c.org".
>
> All the docs I have read so far are targeted towards people who already
> are very familiar with JBI and servicemix, and who already know what
> problems servicemix might solve, or for people who have already decided
> that servicemix is the right solution to their problem.
>
> Regards,
> Graham
> --


Reply via email to