ServiceMix currently has the following JBI components:
Service components
- Rules based routing via the Drools rule engine.
- BPEL support for WS-BPEL via PXE
- Cache for caching service invocations using a Map cache or a JCache provider
- Groovy for clean integration with the Groovy scripting language as a component, transformer or expression language
- JCA allows the Java Connector Architecture to be used for efficient thread pooling, transaction handling and consumption on JMS or other Resource Adapters
- Quartz to support enterprise timer integration via the Quartz library
- Scripting support to allow any JSR 223 compliant scripting engine to be used to easily create a component, perform a transformation or be an expression language.
- Transformation using XSLT
- Validation for schema validation of documents using JAXP 1.3 and XMLSchema or RelaxNG
- XSQL for working with SQL and XML via Oracle's XSQL library
SOAP Bindings and Web Services
- ActiveSOAP the lightweight StAX based SOAP stack
- JAX WS to use the JAX-WS API to make a web service client invocation or to host a Java based web service and expose it over multiple protocols
- SAAJ for Soap With Attachments and Apache Axis support
- XFire for clean integration with POJOs via the XFire SOAP stack
- WSIF for integration with the Apache Web Service Invocation Framework (WSIF)
Transport Bindings
Standard JBI components
The following components ships with ServiceMix distribution:
- servicemix-bean is a JBI component for mapping beans (POJOs) to JBI message exchanges for easy procssing of JBI message exchanges. Note that if you want to support SOAP, type safe business interfaces or JAX-WS / JSR 181 then you should use servicemix-jsr181
- servicemix-bpe (deprecated)
- servicemix-camel to integrate with Apache Camel
- servicemix-cxf-bc is a CXF Binding Component
- servicemix-cxf-se is a CXF Service Engine
- servicemix-drools to integrate with Drools
- servicemix-eip contains several routing patterns based on the great EIP book
- servicemix-exec is a Service Engine that allows to execute system command
- servicemix-file is a file system Binding Component
- servicemix-ftp is an FTP Binding Component
- servicemix-http is an HTTP/SOAP Binding Component
- servicemix-jms is a JMS Binding Component
- servicemix-jsr181 Service Engine can expose annotated POJOs as services
- servicemix-lwcontainer Service Engine can deploy lightweight components
- servicemix-mail Email Binding Component
- servicemix-osworkflow OSWorkflow Service Engine
- servicemix-quartz to leverage Quartz scheduler
- servicemix-saxon to transform using XSLT using Saxon
- servicemix-script uses Spring Dynamic Language Support
- servicemix-scripting JSR-223 Scripting Engine
- servicemix-smpp SMPP (SMS) Binding Component
- servicemix-snmp SNMP Binding Component
- servicemix-validation a xml validation engnine
- servicemix-vfs a vfs binding component based on Apache Commons-VFS
- servicemix-wsn2005 is an implementation of WS-Notification
- servicemix-xmpp is an XMPP (Jabber) Binding Component
Components Roadmap
The following list shows the future components that will be included in ServiceMix distribution :
Info | ||
---|---|---|
| ||
The development of JBI components has been discontinued, in favor of Apache Camel which provides a full range of components. |
Component | Type | Description | Status | Jira | Resource | |
---|---|---|---|---|---|---|
servicemix-cache | SE | Provide way for caching sync executions of other components (cxf, http etc) with multiple cache proviers (EHcache, JBoss Cache ..) | TODO |
|
| |
servicemix-ldap | BC | Poll and send data with a LDAP directory server. | Proto |
|
| |
servicemix-atom | BC | Poll data from RSS/Atom feed. | TODO |
|
| |
servicemix-irc | BC | Send and receive data from IRC channels. | TODO |
|
| |
servicemix-jt400 | BC | Integrates data queues on an AS/400 (aka System i, IBM i5, ...) | TODO |
|
| |
servicemix-jcom | BC | Uses the Java Communication API (http://java.sun.com/products/javacomm/) | TODO |
| ||
servicemix-jdbc | BC | Uses JDBC connectivity to poll and send data within a database | TODO |
|
| |
servicemix-rmi | BC | Uses to get and send marshaled object using RMI-IIOP ORB | Proto |
| ||
servicemix-talend | BC | Uses to get/put data coming from/to Talend ETL | TODO |
| ||
servicemix-asterisk | BC | Uses to get/put data coming from/to Asterisk VOIP server | TODO |
| ||
servicemix-sip | BC | Uses SIP protocol to get/put data | TODO |
|
| |
servicemix-dcom | BC | Uses to get/put data using Microsoft's DCOM protocol | TODO |
|
| |
servicemix-sap | BC | Interface with SAP | TODO |
|
| |
servicemix-hl7 | BC | Interface with systems supporting HL7 protocol | TODO |
|
| |
servicemix-sdo | BC | Interface with BEA commonj protocol | TODO |
|
Third Party Standard JBI Components
These components are a wonderful benefit of JBI that is a direct result of the JBI spec. Because the JBI spec is open, many vendors provide JBI compliant components that can be deployed in ServiceMix.
Apache ODE
Apache Ode is a BPEL engine which provides a JBI compliant component that can be easily deployed into ServiceMix.
Sun OpenESB JBI Components
The Sun OpenESB is based on JBI and provides many JBI compliant components that can also be used in ServiceMix.
ObjectWeb Petals Components
The Petals ESB is also based on JBI and provides JBI compliant components as well.
Various Highly Useful JBI Components
- Support for WS-BPEL is provided via Apache ODE
- BpmScript is a Business Process Engine written using Rhino continuations
- JAFS is an FTP server embedded in a JBI component
- JBI4Corba a JBI component for working with CORBA services
- JBI4Cics a JBI component for working with CICS services
- JBI4Ejb a JBI component for working for existing EJBs
Lightweight components
ServiceMix also provides some lightweight components, but theses are rather deprecated and the standard JBI components above should be used instead.
...