Saturday, March 2, 2013

Fuse ESB

FuseSource was formed when Progress Software spun off this open source effort into a separate organization in mid-2010. It was acquired by RedHat in mid-2012 to enhance Red Hat's JBoss middleware portfolio.

Fuse ESB is the core product of FuseSource.

Fuse ESB is an open source integration platform. It is a flexible, standards-based enterprise service bus based on Apache ServiceMix. It combines features from the Apache ServiceMix ESB, the Apache Camel integration framework, the Apache ActiveMQ message broker, and the Apache CXF web services framework.

You can download it now from RedHat downloads page, but I wonder  if the 90 day evaluation  story here is a mistake or not! Isn't it open source any more???



Fuse ESB has a pluggable architecture that allows organizations to use their preferred service solutions in their SOA. Any standard JBI or OSGi-compliant service engine or binding component – including BPEL, XSLT or JMX engines – may be deployed to a Fuse ESB container, and Fuse ESB components may be deployed to other ESBs.

It differentiates itself in the following ways:
  • Fuse ESB kernel is lightweight and can run on most platforms.
  • Fuse ESB kernel uses the OSGi framework to simplify componentization of applications.
    • The OSGi framework is a standard for managing the dependencies between application components. It also provides a standard mechanism for controlling the life-cycle of components.
  • Fuse ESB supports the Java Business Integration (JBI) specification.
    • JBI is a well defined standard for packaging, deploying, and managing components deployed to the ESB.
  • Fuse ESB can be coupled to other infrastructure services over a variety of transport protocols and message formats.
    • Out of the box, the Fuse ESB supports JMS, HTTP HTTPS, FTP XMPP, Web services, and a number of other bindings. In addition, you can easily extend its connectivity options using other components that conform to either the OSGi or JBI specification.
  • Fuse ESB employs standards as much as possible to limit dependencies.

In addition, Fuse ESB supports event driven architectures. Services deployed into the Fuse ESB container can be fully decoupled and will simply listen on the bus until an appropriate service request arrives. Fuse ESB also supports events that occur outside of the bus. For example, a JMS service can listen on a topic that is hosted outside of the bus and only act when an appropriate message arrives.

Architecture Overview


Fuse ESB employs a layered architecture comprised of the following:
  • Kernel: A lightweight runtime that extends OSGi with powerful features for handling and managing OSGi bundles.
  • Technology layer: A layer of component technologies that sits on top of the kernel.

Fuse ESB kernel is based on Apache Karaf, an OSGi-based runtime that provides a lightweight container into which you can deploy various components and applications.

The kernel provides the following features:
  • Console: Karaf can be administered via an extensible console shell that supports secure, remote access.
  • Dynamic logging: A dynamic logging backend provided by Log4J supports different APIs (JDK 1.4, JCL, SLF4J, Avalon, Tomcat, OSGi).
  • Hot deployment: When a JAR file is added to the InstallDir/deploy folder, it is automatically installed inside the runtime.
  • Provisioning: Application provisioning through file-drop, Maven repository and remote download.
  • Dynamic configuration: Changes to the properties files contained in the InstallDir/etc directory are monitored and propagated to the relevant services.
  • Security: Security framework based on Java Authentication and Authorization Service (JAAS).

No comments:

Post a Comment