Christian Posta — Software Blog

Become the best you can be at your profession. If you've stopped learning, you've given up.

JBoss Fuse 6.1 + HawtIO Part I

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

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 java application 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:

Quick Demo?

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.

JBoss Fuse 6.1 + HawtIO Fuse Management Console from Christian Posta on Vimeo.

Here are some more resources:

What’s next?

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!

Please stay tuned for the next Parts!

7 Responses to “JBoss Fuse 6.1 + HawtIO Part I”

  • Anton Ryabtsev says:

    Hi Christian!

    Thanks for this post.
    Could you pls clarify how you got the snapshot version of the fuse fabric?

    Cause if I need just this I don’t understand how I can extract it from the full Alpha package of jboss fuse…

  • Bwana says:

    Hi,

    Thanks for the post.

    I downloaded the beta version of Fuse but my console doesn’t look exactly like what you have on your screencast. Of interest is Apache Camel/Configurations menu that is missing. Also, I seem to have only one perspective: Containers.

    Is this due to version change (from Alpha to Beta) or am I missing something?

    Kindly advise. On the whole, this looks promising and I cant wait to try out your example.

  • Jesse says:

    Nice post.

    Assuming we are already familiar with JBOSS EAP as a container and have JON for operations management and monitoring, what are the advantages and disadvantages of deploying to a JBOSS Fuse Karaf container that introduces yet another container and yet another management console VS having a developer use the Fuse Integration Tooling with their IDE to create a camel/activemq/cxf project and deploying into JBOSS EAP?

    • admin says:

      Honestly, if you’re on EAP and familiar, comfortable and have infrastructure around it, just stay with it :) Camel runs great on EAP.

      • jesse says:

        Thanks Christian. Redhat support has seen your post because I asked them the same thing, but they are more for using the FUSE suite. They basically said your packaging a camel route into a war and using the EAP container, but doesn’t tell you if you are not doing a webservice, then what happens? Or wrap around in an EJB, etc… (Not sure what RedHat meant by this?). Also we loose the nice management console where we can see the camel routes, message tracing etc…

        do you have any comment on the above?

        Also, another question from me, what happens if you need to connect to an activemq broker? Would you just install the active MQ RAR into EAP and point it at a remote broker?

        • admin says:

          Well, going forward, the goal is to be container agnostic.. so you can run any container and still take full advantage of the fuse tooling/hawtio. at the moment, the camel distro distributed by red hat is supported on EAP, but since it’s not managed by fuse, they may not support using hawtio. otherwise, you can just plug in the jolokia agent into EAP and point hawtio to it and it should see everything there.

          as for activemq, the latest A-MQ 6.1 is supported on EAP via RAR/JCA in EAP 6.2


Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>