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 > --
