| Features |
JBoss ESB |
Service Mix |
Mule |
Open ESB |
| Version |
4.2.1.GA |
3.2.1 (4 in Beta) |
2.0 |
2.0 (3 in preview) |
|
-
Service (as Actions)
-
Endpoint (as Listeners)
-
Transport (as Providers)
-
Routing
- Transformers (as Actions)
|
-
JBI Components
-
Endpoints
-
Transports
-
Routing
-
Transformers
|
|
-
JBI Components
-
Endpoints
-
Transports
-
Routing
-
Transformers
|
| Spring Enabled |
No |
Yes |
Yes |
No |
| Clustered |
Yes:
-
With JMS
- With JBoss Clustering
|
Yes:
|
Yes, 2 Types:
|
Yes:
-
Provides by Glassfish
- With JBoss Clustering (configuration server JBoss)
|
| Scripting |
Yes,
Groovy |
Yes,
Groovy |
Yes,
Groovy
PHP
JavaScript |
Yes,
JavaScript
Groovy
JRuby |
| Deployment Type |
|
|
|
|
| Transport Implementations Supported |
-
JMS
-
JBossWS
-
File based
-
FTP
-
HTTP
-
Email
-
JDBC
-
Hibernate
-
Jboss Remoting
-
Groovy
-
Scheduler
-
JCA
|
-
SOAP
-
CFX/Xfire
-
Email
-
File based
-
FTP
-
HTTP
-
XMPP (jabber)
-
JMS
-
RSS
-
VFS
-
WSIF (with support to Axis, local Java, EJB, JMS, JCA and CCI).
-
Quartz
|
-
Axis WS
-
CXF WS
-
SOAP WS
-
EJB
-
Mail (pop/imap/smtp)
-
RMI
-
HTTP(s)
-
Servlets
-
JDBC
-
JMS
-
File
-
FTP
-
Jetty
-
JNP
-
VM
-
SSL,TLS
-
STDIO
-
Multicast
-
TCP,UDP
-
Quartz
-
XMPP (jabber)
|
-
File
-
FTP
-
HTTP
-
JMS
-
JDBC
-
Email
-
XMPP(jabber)
|
| Transformation |
-
Smooks (support to XML to XML, CSV to XML, EDI to XML, XML to EDI, XML to CSV, Java to XML, Java to EDI, Java to CSV, Java to Java, XML to Java, EDI to Java)
-
Xslt
- Binary Transformation (ObjectToXStream, ObjectToCSVString)
|
|
-
JMSMessageToObject & vise versa
-
Pojo Beans
-
Stream to Object & vice versa
-
Xml to Bean & vice versa
-
Encrypted String to String
-
String to Email Message
-
Xstl Transformation to HTML
-
Dom to Xml & vice versa
-
Scripting with groovy
-
Jxpath
-
GZipCompressTransformer GZipUncompressTransformer
-
Encoder to Decoder & vice versa
-
ByteArrayToSerializable & vice versa
-
StringToByteArray & vice versa
- Custom transformation (by developer).
|
-
Xslt
- ETL Data(Extract,Transform,Load)
|
| Routing |
-
Content Based Routing.
-
WireTap.
-
Message-Filter.
-
Aggregator
- StaticRouter
|
-
Implemented with EIP
-
Content-Based Router
-
Message Filter
-
Pipeline
-
Static Recipient List
-
Static Routing Slip
-
Wire Tap
-
XPath Splitter
-
Aggregator
-
Content Enricher
- Resequencer
|
|
- Implement IEP Routing, no more details.
|
| Security |
|
|
|
-
Glassfish Realm Security
- Access Manager
|
| Tools |
|
-
Archetypes in Maven for RAD
-
Service Mix plug-in to Deployment Task with maven.
-
CIMERO Eclipse Plug-in for Developer (Only Service Mix 3.0)
-
Web Console Administration
-
Ants tasks (Administrative)
|
-
Mule IDE (Eclipse Plug-in).
-
Archetypes in Maven for RAD (Project, Modules, Transport)
|
|
| Task for Developer |
|
-
Customer Transport (as Binding Component)
-
Customer Component (as Service Engine)
-
Customer Transformers (as Service Engine)
-
Xml Configuration to Bus (xbean.xml)
- Deployment Service Assembly
|
|
-
Customer Transport (as Binding Component)
-
Customer Component (as Service Engine)
-
Customer Transformers (as Service Engine)
-
Xml Configuration
- Deployment Service Assembly
|
| Configuration Flow |
In Xml File with Jboss ESB Schema. |
In Xml Files with Xml Spring type, used schemas to implement xml configuration (xbean.xml, jbi.xml) |
In Xml Files, 2 types
Mule Type
Spring Type
Used schemas to implement xml configuration |
In Xml wsdl files, orchestration in BPEL, jbi.xml. |
| Component Implementation. |
Simple POJO as “Actions” |
JBI (Binding Component, Service Engine – Service Unit –Service Assembly) |
Simple POJO as Component |
JBI (Binding Component, Service Engine – Service Unit –Service Assembly) |
| Additional Configuration Files |
Yes:
-
To Service Registry (uddi)
-
To Message Store
-
Others (JMS Queues, log4j, etc)
|
Yes:
-
JBI Service Assembly
-
To Security, to engine service mix, to components, to ActiveMQ embedded, jmx, jndi.
|
No |
Yes,
|
| Others |
|
-
JBPM
-
JNDI
-
Drools Rules
-
JMX
-
Bean Flow (a Workflow managed by beans)
-
Threads Pools by Component (Configurable)
-
Client API
-
Transaction (synchronous & asynchronous, defined in flow)
-
Validation vs. Schemas
- BPEL
|
-
JBPM
-
REST
-
JNDI
-
Quartz
-
Transaction with jomt & mule providers (vm, jdbc, jms). Simple & XA
-
JMX
-
Client API
-
Pluggable with JBI Components of others ESB
-
Integration with JavaSpaces Implementation ( as GigaSpaces)
-
Server Notifications (Custom implementation)
-
Mule Agents (Not managed components)
-
Internationalization
-
Exception Strategies
|
-
WorklListManager
-
SQL Service Engine
-
JMX
-
Events Processor
-
SIP Binding Component
-
SNMP Binding Component
-
DCOM
-
CORBA
-
BPEL
- Third part components.
|
|
|
|
|
|
| Advantages |
-
Easy Configuration
- Use resource of JBoss (included in AS).
|
|
|
|
| Disadvantages |
-
High learning-curve for JBI
-
Draft still immature in comparison with other technologies
-
This initiative (JBI few components themselves)
- Not its container for JBI
|
-
high learning-curve for JBI
-
Complex Xml Configuration (Schema Service mix to Endpoints & Components).
-
High knowledge in Maven to use the tools RAD
- XML-based communication, good for integration but overloading the network bad thing
|
|
|
| Books |
|
|
|
|
| Support |
Yes;
-
Subscription (24×7 or 9am-9pm)
-
Training (jBPM, Rules, ESB)
-
Consultant Service.
- Documentation online (in community, Wiki, Forum, Mailing List/FAQ)
|
Yes,
|
Yes,
|
Yes,
-
Consulting/training Services by Partner
-
Documentation online (low), Wiki, User docs, FAQ, Blogs, Mailing List, forums).
|