Tuesday, June 23, 2015

JBoss Fuse 6.2 is out!

Hot off the presses today is JBoss Fuse 6.2. For those who don't know, Fuse is an open source ESB focused on making integration easier. It is made up of a bunch of popular opensource projects like Apache Camel, Apache CXF, Apache ActiveMQ, Apache Karaf, HawtIO, and Fabric8.

OK, so what's new since Fuse 6.1?

Camel 2.15

Camel (my fav project ;-) has had quite a stable API for years now. Most of the change comes from new components being added to connect to all sorts of new things. This release was no exception as there are almost 40 new components to choose from:

* camel-ahc-ws
* camel-atmosphere-websocket
* camel-beanstalk
* camel-box
* camel-cassandraql
* camel-chunk
* camel-docker
* camel-dozer
* camel-dropbox
* camel-github
* camel-google-calendar
* camel-google-drive
* camel-google-mail
* camel-gora
* camel-hdfs2
* camel-hipchat
* camel-jgroups
* camel-jira
* camel-kafka
* camel-kura
* camel-linkedin
* camel-metrics
* camel-netty4
* camel-netty4-http
* camel-olingo2
* camel-openshift
* camel-optaplanner
* camel-pgevent
* camel-rest
* camel-sap
* camel-schematron
* camel-scr
* camel-spark-rest
* camel-splunk
* camel-spring-boot
* camel-swagger
* camel-swf
* camel-test-spring40
* scheduler

Another notable addition is the REST DSL which allows you to easily define REST services within a Camel route.

Something really cool for folks who like to write Camel components is the API component framework. This takes a lot of the drudgery out of creating Camel components that mainly just call 3rd party APIs. The box, linkedin, google-*, and salesforce components were all created with this tool in a fraction of the time. Check it out!

Karaf 2.4

We still haven't bit the bullet on moving off the very stable Karaf 2.x line - it just works. Still, it doesn't mean there were no new features this time. Not a flashy change but a biggy:

Role based access control (RBAC) support is here!

Back in Fuse 6.1 days and before you had one user that could do everything. Obviously this doesn't fit for all deployments. Now we have the same set of roles as JBoss EAP: Monitor, Operator, Maintainer, Deployer, Auditor, Administrator, and SuperUser. You can selectively give access to Karaf shell commands and JMX MBeans.

Fabric8 Insight

Insight is a centralized logging and metrics collection facility for fabric8 clusters. We introduced it as a tech preview back in 6.1 but now it is fully GA. The backend is implemented with elastic search and there is a nice console accessible within hawtio. You'll have to try it out to fully appreciate the difference a centralized logging + console makes in tracking down problems in a big cluster.

Eclipse tooling updates

The tooling went through a major overhaul. Lars was on a mission to make your life easier as shown in the video below:


JBoss Fuse Tooling - Usability Improvements from JBoss Developer on Vimeo.

Another cool thing was sneaked into the Eclipse tooling as well: a data mapper! While this is still in the early days of development (and tech preview for 6.2), it is already looking quite nice. Here's a video of it in action!


Fuse 6.2 - Data Transformation Overview from JBoss Developer on Vimeo.


HawtIO 1.4

A lot of little things round out the feature set in this new version of HawtIO. Some highlights:
  - RBAC support
  - Camel metrics
  - JMS message searching and editing
  - Improved Camel tracer and debugger

Fuse integration package

A separate download from the Fuse distro, the integration pack provides glue for interacting with JBoss BRMS & BPMS. Yes, you can now officially use these products together in a supported way :-)

ActiveMQ 5.11

  - Hardened MQTT/AMQP/LevelDB support
  - new AMQP clients (JMS, C++, python)

CXF 3

Version 3 brings a lot of changes. Some highlights:

- Full support for JAX-RS 2.0
- New streaming WS-Security impl
- Netty HTTP server/client
- Websocket transport

Switchyard

Another big change for this release is that Switchyard is now part of JBoss Fuse. Up until now it was a separate product at JBoss. Now that Switchyard runs on Karaf you can load it in Fuse like any other feature.

What is Switchyard? It's a layer above Camel essentially, focused on building structured, maintainable services and applications using the concepts and best practices of SOA. Very useful if you have a set of well defined services with contracts and you need to route between them.

Switchyard in Fuse 6.2 is tech preview right now but we plan on full GA support in a not too distant release.

OK, that was a mouthful and I only skimmed the surface :-) To find out more go to: