The intent of this blog is to provide its readers with quickest overview of Jboss Fuse. Red hat has immense documentation that is very well written and structured on it, but the problem I faced was if I am new to some of the concepts at times it is too much to handle in that documentation.
So below is a very high level overview on the Jboss Fuse. I encourage people to read through it and i have taken lot of visual aid of images to help put the concepts forward. Hope it helps. Feel free to comment and I would try to answer your questions based on my experience in Jboss Fuse.
What is Jboss Fuse
It is an Enterprise Service Bus. An Enterprise Service Bus is a software architecture model used for designing and implementing communication between mutually interacting software applications in a service-oriented architecture (SOA).
Jboss Fuse: The Origin
JBoss Fuse is an
open source enterprise service bus (ESB) that reduces the pain of connecting disparate
applications, services, and devices.
JBoss Fuse combines several technologies like core Enterprise Service Bus capabilities (based on Apache Camel, Apache CXF, Apache ActiveMQ), Apache Karaf and Fabric8 in a single integrated distribution.
Red Hat JBoss
EAP : The JBoss Enterprise
Application Platform (or JBoss EAP) is a subscription-based/open-source Java EE-based
application server runtime platform used for building, deploying, and hosting
highly-transactional Java applications and services.
With that said, lets dive into Jboss Fuse. Lets look at its architecture diagram as published by Red Hat.
Jboss Fuse Architecture
On the left hand side of above diagram, there are set of development tools which include your IDE( Fuse Development Studio).
On the right hand side there are monitoring tools that Jboss Fuse goes well with like Jboss Operations Network.
In the middle are the actual Jboss Fuse Components and what Jboss Fuse is really made up of. Starting from bottom, Jboss Fuse has Apache Karaf as its light weight runtime. It has Apache ActiveMQ as its messaging framework. Apache CXF and Apache Camel are its webservices and Integration Frameworks Respectively.
Followin sections are further highlevel definitions of Jboss Fuse Components.
JBoss Fuse Components
Following diagram defines on high level the Jboss Fuse Components.
Lets try to understand each of these components in more details. It is very important to understand on the role of each component.
Below diagram depicts what the Apache Karaf is made up of:
The overall CXF architecture is primarily made up of the following parts:
So below is a very high level overview on the Jboss Fuse. I encourage people to read through it and i have taken lot of visual aid of images to help put the concepts forward. Hope it helps. Feel free to comment and I would try to answer your questions based on my experience in Jboss Fuse.
What is Jboss Fuse
It is an Enterprise Service Bus. An Enterprise Service Bus is a software architecture model used for designing and implementing communication between mutually interacting software applications in a service-oriented architecture (SOA).
Below diagram shows an Enterprise Service Bus
Jboss Fuse: The Origin
Red Hat acquired FuseSource in June 2012.
FuseESB (based on
Apache servicemix) product of FuseSource was rebranded
to Jboss Fuse.
Introduction to JBoss Fuse
JBoss Fuse combines several technologies like core Enterprise Service Bus capabilities (based on Apache Camel, Apache CXF, Apache ActiveMQ), Apache Karaf and Fabric8 in a single integrated distribution.
Before we delve in Jboss Fuse, it is important to understand other offerings from Red Hat and how they are different from Jboss Fuse. It requires a separate blog to go over those in details, but i will try to quickly summarize it and provide reference links under below section:
Red Hat JBoss Products
Red Hat JBoss
Fuse Service Works: Red Hat®
JBoss® Fuse Service Works is a service design, development, and integration platform.
SwitchYard is a component-based development framework focused on
building structured, maintainable services and applications using the concepts
and best practices of SOA.
Overlord: It is a SOA based governance system.
With that said, lets dive into Jboss Fuse. Lets look at its architecture diagram as published by Red Hat.
Jboss Fuse Architecture
On the left hand side of above diagram, there are set of development tools which include your IDE( Fuse Development Studio).
On the right hand side there are monitoring tools that Jboss Fuse goes well with like Jboss Operations Network.
In the middle are the actual Jboss Fuse Components and what Jboss Fuse is really made up of. Starting from bottom, Jboss Fuse has Apache Karaf as its light weight runtime. It has Apache ActiveMQ as its messaging framework. Apache CXF and Apache Camel are its webservices and Integration Frameworks Respectively.
Followin sections are further highlevel definitions of Jboss Fuse Components.
JBoss Fuse Components
Following diagram defines on high level the Jboss Fuse Components.
Each component has a specific responsibility in Jboss Fuse. Below picture depicts details.
Jboss Fuse Component Features
Lets try to understand each of these components in more details. It is very important to understand on the role of each component.
Below diagram depicts what the Apache Karaf is made up of:
The most important concept to understand about Karaf is OSGi. I would be publishing a separate blog post on OSGi. For now and In short OSGi is a
modularity layer for java platform.It is
a set of specifications that
define a dynamic component system for Java.
At
a high level, Camel is composed of processors, components, and routes.
All of these are contained within the CamelContext.
•The
routing engine uses routes as specifications for where messages are routed.
•Routes
are defined using one of Camel’s domain-specific languages (DSLs).
•Processors
are used to transform and manipulate messages during routing and also to
implement all the EIP patterns, which have corresponding keywords in the DSL
languages.
•Components
are the extension points in Camel for adding connectivity to other systems. To
expose these systems to the rest of Camel, components provide an endpoint
interface.
The overall CXF architecture is primarily made up of the following parts:
1.Bus:
Contains a registry of extensions, interceptors and Properties
2.Front-end:
Front-ends provide a programming model to create services.
3.Messaging
& Interceptors: These provide the low level
message and pipeline layer upon which most functionality is built.
4.Service
Model:
Services host a Service model which is a WSDL-like model that describes the
service.
5.Protocol
Bindings:
Bindings provide the functionality to interpret the protocol.
6.Transports:
Transport factory creates Destinations (Receiving) and Conduits (Sending)
The
goal of ActiveMQ is to provide standards-based, message-oriented application integration across as many languages and platforms as possible.
fabric8 (pronounced fabricate) is
designed to make it really easy to deploy your Java integration solutions and
services on a number of machines, containers, processes, and JVMs.
Fabric8
Features:
Deployment
& Provisioning
Multi-container
support
Centralized
management
Service
discovery
Load
balancing and failover
Fabric8
Components:
ZooKeeper for
Registry and Coordination
Git for
Configuration
Profiles
for modeling configuration
Hawtio for
managing
Thanks for sharing, it was informative. We play a small role in upskilling people providing the latest tech courses. Join us to upgradeJBOSS FUSE ONLINE TRAINING
ReplyDelete