One of the questions we are asked most often when talking to customers with integration requirements is “What is the difference between Red Hat JBoss Fuse and JBoss Fuse Service Works?”. With that in mind, we thought it would be helpful to provide a high level list of some of the more important differences between them, and some examples of when to use one vs. the other. While this isn't a definitive guide it will provide a solid foundation from which you can start to dig deeper.
Before jumping in to the list, please check out the diagram below, which compares the main components of each platform.
JBoss Fuse vs. Fuse Service Works
These differences largely consist of the tools that provide the runtime container, clustering approaches and monitoring capabilities. There are some lower level technical differences, but none of them contribute much to deciding which platform to use.
JBoss Fuse Service Works is a superset of JBoss FuseBoth JBoss Fuse and Fuse Service Works are built around a common core of ESB technologies.
One reason this is important is that you can use either product to implement Enterprise Integration Patterns (EIPs), a set of technology-independent design patterns which have become the industry standard for describing, documenting and implementing integration problems. Apache Camel offers a standardized, internal domain-specific language to integrate applications through the implementation of EIPs.
JBoss Fuse Service Works subscriptions include access to and support for all of the components of JBoss Fuse.
JBoss Fuse Service Works is a full fledged SOA SuiteFuse Service Works offers a more formalized platform for developing and managing services, allowing a well-thought out architecture to be created with a focus on reusing components. This means that Fuse Service Works provides Service Discovery, Runtime Monitoring with Quality of Service (QoS) metrics, and advanced integration hooks such as business process management (BPM) and rules processing. For this reason, it works well in projects that are laying out a long term strategy rather than merely stitching things together.
The additional capabilities of Fuse Service Works include a structured service development framework, service orchestration, rules processing, service governance and business transaction monitoring.
JBoss Fuse is a an open source Enterprise Service Bus (ESB) with an elastic footprintAs a fully featured Enterprise Service Bus (ESB) JBoss Fuse provides a platform that can be used to allow disparate enterprise components to work together. This is achieved by providing a runtime that supports the necessary integration (Apache Camel), messaging (Apache ActiveMQ) and web services (Apache CXF) components. JBoss Fuse also includes runtime monitoring capabilities, cluster management (Fuse Fabric) and developer plugins that provide graphical tools for constructing integration solutions.
While JBoss Fuse doesn't include all the features of Fuse Service Works, there are plenty of scenarios for which it is better suited. For example, if your use case is mostly simple transformations and workflows that are easily expressed as a Camel route, than JBoss Fuse is a stronger candidate.JBoss Fuse is also more naturally suited to deal with solutions that require many nodes that require varying degrees of intelligence and functionality. For example, a retail chain that includes nodes running in branch stores, regional data centers, on the trucks, on partner premises etc. JBoss Fuse offers the flexibility necessary to meet these requirements in a cost-effective manner.
Sometimes it makes sense to use both
In large complex systems, a hybrid approach leveraging both Fuse Service Works and JBoss Fuse may be appropriate. For example, in the hypothetical retail scenario mentioned above, Fuse Service Works might make the most sense in the regional data centers where most of the heavy lifting is taking place, while JBoss Fuse could be used to integrate nodes that are ‘beyond the data center’ and require only simple transformations and workflows. This approach allows you to use the right tools for the job at hand.
JBoss EAP vs Karaf (OSGI)Another factor to consider is the runtime environment. JBoss Fuse Service Works leverages the JBoss Enterprise Application Platform as it’s container, while JBoss Fuse uses Apache Karaf (OSGi).Apache Karaf is a small and lightweight OSGi based runtime on which various bundles can be deployed. It is better suited to lightweight applications that don’t require many of the enterprise features commonly found in a enterprise application server.JBoss EAP 6 is Java™ EE 6 certified, and also leverages a flexible, modular architecture. For integration scenarios where things like EJB components, web services, and clustering are required EAP is a better choice.
Which Platform Should Your Organization Choose?
There are many factors to consider when choosing between JBoss Fuse and JBoss Fuse Services works for your organization. The following are some factors to consider when making this choice.
JBoss Fuse Service Works* may be a better fit if your organization ...
- is currently heavily invested in Java™ EE 6 development. The Fuse Service Works service model is similar to that of JEE development.
- would like to take advantage of Java™ EE 6 components from your services. Since FSW is embedded in a JEE container, you have full access to JEE components such as persistence and the injection framework.
- uses JBoss Enterprise Application Server (EAP) for other components in your infrastructure. Administration tasks such as deployment, clustering, high availability are similar if not the same as that utilized for FSW.
- is looking for a robust design-time and runtime service governance platform.
JBoss Fuse may be a better fit if your organization ...
- does not use Java or Java Enterprise Edition
- does not utilize the JBoss Enterprise Application Server Platform (EAP).
- uses OSGi in the development of other components in your infrastructure
- uses the Apache Karaf container for other components in your infrastructure.
- Design-time or runtime service governance is not a major factor in your choice of an integration platform.
Hopefully you found this information helpful. Please leave a comment and let us know what you think, or if you have questions.
Do you have integration requirements that could be met with JBoss Fuse or Fuse Service Works? We offer complimentary one hour consultations - click here to request to one.