It’s Open Source!
JBoss Fuse is an open-source ESB and is the evolution of Fuse ESB after the Red Hat acquisition of FuseSource. It’s open-source, Apache v2 Licensed, and fully supported by Red Hat. One of the best parts is, you can download it and play with it for free and the same bits supported in production or with a subscription are exactly the same bits you can get right now.
JBoss Fuse is an open-source ESB, but what does that even mean? I think the term ESB has lost its true meaning these days and now just means “box in the middle that all our stuff connects to”. That’s not an ESB. And that architecture doesn’t work. What you need is a way to distribute out processing, integration, services, etc so that a “box in the middle” doesn’t become a “bomb in the middle” that cannot scale and falls in on itself.
So what you need is a light-weight integration container that can allow you distribute out your integrations. Deploy only the services you need to support your integration logic. Not doing EJB? Then why do you need an over-bloated EJB implementation in your container? And why stuff everything into a servlet container when not everything is a servlet?
Build on best-of-breed open-source software
JBoss Fuse is focused on integration and provides the tools within its container to facilitate that. Under the covers you’ll find Apache ActiveMQ, Apache Camel, Apache CXF, all wrapped nicely in a Apache Karaf container that’s built on OSGi. You can also take advantage of a vital cluster management tool known as Fuse Fabric.
Fuse Fabric is a critical piece of software that helps simplify management of medium to large clusters of containers (built on Karaf), brokers (built on ActiveMQ), and integration routes (built with Camel). It can also be used to simplify the deployment processes and change management of production applications. It’s built on the idea of a registry that coordinates the cluster (built on ZooKeeper), a distributed git scm that houses your deployment descriptors (profiles) and container management that allows you to version your changes, roll upgrades, and easily rollback updates.
Version 6.1 is due out soon!
The latest version of Jboss Fuse is due out soon. This includes new enhancements to the container, a new Fuse Management Console for Fuse Fabric, new features as a result of using newer versions of ActiveMQ and Apache Camel.
And one of the biggest changes is the introduction of an awesome new HTML5-based/AngularJS web console for managing all of your JVM based applications and services, intended to replace the current Fuse Management Console (and more!): http://hawt.io.
HawtIO is the new Fuse Management Console (FMC)!
HawtIO is intended to replace the mess of “every JVM has its own web console” … “oh and by the way they all replicate functionality, they are inconsistently clunky, and i don’t have time to learn 5 new consoles”. It’s the one-and-only console for ActiveMQ, Camel, Karaf, and Fabric within the Fuse Family. It also comes out of the box with ActiveMQ 5.9 but you should make no mistakes, it’s not tied to those technologies. It can be used with any JVM technology with a little instrumentation from an awesome HTTP/REST API over JMX: Jolokia. It’s built on a plugin architecture that currently supports technologies such as:
Reading about HawtIO and Fuse Fabric in JBoss Fuse is not as fun as demo’ing it, so let’s see it in action!
Here’s a quick 5 minute intro to JBoss Fuse, Fuse Fabric, and HawtIO. Though keep in mind this might whet your pallet, I encourage you to download JBoss Fuse 6.1 Alpha and give it a shot.
Here are some more resources:
- James Strachan Welcome’s HawtIO 1.2.0!
- Claus Ibsen also wishes HawtIO a 1 year birthday
- James gives a nice sneak peak of JBoss Fuse 6.1 features
- James’ video from Camel One 2013
I have a lot to share about Fuse Fabric, JBoss Fuse 6.1, and of course HawtIO. In upcoming installments, I’d like to cover:
- Creating JBoss A-MQ (built on ActiveMQ) broker clusters using Fuse Fabric and new HawtIO visualizations
- Change management with profiles, git, and versioning
- Elastic search + Fuse Insight
- Apache Camel value-adds!
Get ready to program in a whole new way!
Functional Programming in Java will help you quickly get on top of the new, essential Java 8 language features and the functional style that will change and improve your code. This short, targeted book will help you make the paradigm shift from the old imperative way to a less error-prone, more elegant, and concise coding style that’s also a breeze to parallelize. You’ll explore the syntax and semantics of lambda expressions, method and constructor references, and functional interfaces. You’ll design and write applications better using the new standards in Java 8 and the JDK.