Friday 7 October 2016

Red Hat JBoss Fuse 6.3 is OUT!

Red Hat JBoss Fuse 6.3 (and AMQ 6.3!) are now GA!  There are a number of great new features to take advantage of along with a significant number of component upgrades, spec bumps, bug fixes and performance tweaks.

Apache Camel 2.17

  • camel-aws - AWS kinesis streams component added
  • camel-aws - DynamoDB streams component added
  • camel-braintree - for interacting with Braintree Payments.
  • camel-test-cdi - ease testing of Camel CDI applications
  • camel-etcd - Integrating Camel with Etcd key value store
  • camel-kubernetes - Integrates Camel with Kubernetes
  • camel-ignite - for working with Apache Ignite.
  • camel-ironmq - messaging with the IronMQ cloud messaging.
  • camel-jcache - support JCache / JSR107 caching.
  • camel-mllp - for working with the HL7 MLLP protocol. This is an alternative to HL7 component.
  • camel-nats - for interacting with Nats messaging platform
  • camel-spark - bridges Apache Spark computations with Camel endpoints
  • camel-servicenow - for interacting with ServiceNow
  • camel-sql - Now supports calling stored procedures using the new sql-stored component
  • camel-sql - Now supports calling stored procedures using the new sql-stored component 

Apache CXF 3.1

  • Update from 3.0.x to 3.1.x

Jetty 9

  • Upgrade from 8.1 to 9 for Karaf Servlet Container and components
  • Impacts Jetty server, container and camel configurations

JMS 2.0

  • Added support for the JMS 2.0 specification for integration with JMS 2.0 providers such as WebSphere MQ 8
  • AMQ Broker is still using JMS 1.1 APIs

Servlet 3.1

  • Updated from Servlet 3.0 to 3.1 spec
Fuse 6.3 is also the first release of Fuse to be migrated to the official Red Hat maven repository.  All of your fuse artifacts can not be found at https://maven.repository.redhat.com/ga - along with all of your other Red Hat Middleware products such as EAP, BxMS and JDG.

Some other nice features in Fuse 6.3 include;

  • Enhanced Ensemble Recovery
    • Delete and re-add an ensemble member
    • Temporary even ensemble state
  • ZooKeeper Auto Purge for Transaction Logs
    • Configure auto purge intervals and retention for ZK TX logs
  • Support for AMQ 7 Client and Camel Connector
  • Fabric --jvm-opts are now persisted to the local container start script
    • Starting a container locally will now correctly maintain fabric-set JVM arguments
  • System Specific Init Scripts
  • Swagger 1.5.x component update
  • Aries component update
  • Zookeeper  component update
  • Pax Web, Logging, URL component update
  • HTTPClient 4.5.x update
Some of the notable deprecation's in Fuse 6.3 include;
  • fabric8 v1
    • Will move to fabric8 v2  in the next major release
  • OpenJPA
    • Hibernate is the default choice
  • Spring-DM 
    • Blueprint is the default choice
  • RT-Gov
  • DT-Gov
  • S-RAMP
  • BPEL
    • BPM Suite is the default choice
  • Smooks
  • Tanuki Wrappers
    • Use new karaf-service scripts
  • Camel Compoents
    • Google App Engine
    • Netty
      • camel-netty4 is the default choice
    • JBPM
    • LevelDB (except Linux)

Thursday 10 December 2015

Red Hat JBoss Fuse 6.2.1 is OUT!

The Fuse 6.2.1 release brings with it some new goodies as well as a host of fixes across all the major components.

Enhanced Patching Mechanism

  • Backported to Fuse 6.2.0 to facilitate 6.2.0 to 6.2.1 patching
  • Patch and update any file (no more manual steps)
  • Aligned patch commands in standalone and fabric
  • Rollup Patches (R)
    • New naming schema 6.2.Rollup AKA 6.2.1 / 6.2.2 / 6.2.3
    • Released as a Full Installation
      • Unzip 6.2.1 or 6.2.2 to start from there
    • Allows full, in-place container patching from previous release
      • Ex: Patch 6.2.1 to 6.2.2
    • Can patch any File, JAR, Bundle, Feature (no more manual steps)
  • Incremental Patch (P)
    • Released as Patch on a specific Rollup release only
      • 6.2.1 Patch 1 or 6.2.2 Patch 1
    • Can only Patches Bundles
    • Small size, targeted fixes

Full Integration of Fuse and Service Works on Fuse Karaf

  • SwitchYard
  • RT-Gov
  • S-RAMP
  • BPEL

Camel, SwitchYard, CXF, S-RAMP, BPEL, RT-GOV on Red Hat JBoss EAP

  • With Red Hat JBoss Fuse 6.2.1, you have the flexibility to use JavaEE as your container of choice when working with select components from the Fuse stack

Transformation Tooling

  • Translate data from one format or language to another, with full Red Hat JBoss Developer Studio IDE integration
  • Now Fully supported

SAP Tooling

  • Integrate Camel with SAP Application Servers through the available Camel SAP components
  • Now Full Supported

Swagger

  • Create API docs through the new camel-swagger component and the REST DSL
  • Now Fully Supported

Wednesday 25 November 2015

JavaOne 2015: Java EE 8 Work in Progress

The second session of day 2 was a walk through of the JavaEE 8 specification with Linda DeMichiel, the specification lead from Oracle. JavaEE 8 is ultimately driven by community feedback. It will be comprised of 3 primary themes including HTML5 and Web, Ease of Development and CDI Alignment and Infrastructure for the Cloud.

HTML and Web Tier Enhancements:
  • JSON-B 1.0
    • Marshall and Unmarshal Java object to and from JSON
    • Draw from the best of all current binding implementations
    • Default mapping of classes to JSON
    • Selectable provider implementation
  • JSON-P 1.1
    • Tracking new pointer standards; IETF RFC 6901
    • Add editing operations
      • add, replace, remove, move, copy, test
    • Helper classes to utilize SE8 streams
    • JSON Query with Lambdas
  • Server Sent Events
    • Part of HTML5
    • Server to client streaming of text
    • Long lives HTTP sessions
    • Supported through JAX-RS enhancements
      • New media type and event in server API
      • New handlers in client API
  • MVC 1.0
    • Action based mvc architecture
    • Gluing together key EE technologies
    • Model
      • CDI, Bean Validation, JPA
    • View
      • Facelets, JSF
    • Controller
      • JAX-RS
  • HTTP/2
    • Addressing the limitation of HTTP/1.x
    • Reduce latency
    • Address head of line blocking issues
    • Support true parallelism
    • Request/Response multiplexing over 1 connection
    • Binary framing
    • Stream prioritization
    • Server Push
    • Header compression
  • Servlet 4.0
    • Incorporating HTTP/2 features into Servlet spec
      • Multiplexing, stream prioritization, server push, binary framing
Ease of Development and CDI Alignment
  • CDI security interceptors
    • @isAuthorized
      • hasRoles, hasAttributes, ruleSourceName, dynamic qualifiers
  • JMS 2.1
    • Flexible MDBs
      • User defined callbacks (removing the onMessage limitation)
      • JMS specific annotations
      • Flexible method signatures (direct access to concrete types)
    • Improved asynchronous consumption
    • CDI alternative to MDBs
  • Pruning
    • Has a multi-phased approach
      • Current EE-Spec expert group defines a technology as proposed optional and awaits feedback
      • EE-Spec EG + 1 may define a technology as optional based on given feedback
        • Optional means vendors have a choice of maintaining the technology of removing the specification
    • EE8 Proposed Optional
      • CORBA and IIOP
      • EJB 2.x remote and local views
Infrastructure for the Cloud
  • Management 2.0
    • Updating JSR77
    • REST APIs for management and deployment
    • Defined by CRUD operations
    • Server sent events
  • Security 1.0
    • Password Aliasing
    • User Management
    • Role Management
    • Authentication
    • Authorization


In total Java EE8 is targeting 11 major JSRs of which 3 are new and dozens of maintaincen JSRs on key JavaEE components like JPA, Batch, Bean Validation, Web Sockets and JCA.

Tuesday 24 November 2015

JavaOne 2015: Project Jigsaw: Under the Hood

Winding down day 2, we really pick up the intensity. The under the hood session on Jigsaw was one of the top sessions in terms of technical depth and knowledge sharing. If you're interested in the nuts and bolts of how modules will function in JDK9, this is a definite one to watch.

Here is a brief overview of the session.
  • Module Based Classloader
  • Strong encapsulation
  • Explicit readability
  • Modules must explicitly export and import the packages and classes to maintain readability
  • A public class no longer implies accessibility across barriers
  • Readability defined accessibility
src/com.example.package/module-info.java
    module com.eample.package {
          exports com.example.package.data
          exports com.example.package.services
    }
  • Independent of classloading and enforceable at compile time, in JVM and through reflection
  • Three types of modules to achieve smooth migration and backward compatibility
    • Explicit
      • Explicitly created JDK9 module
      • Well defined export / import for read edges
    • Automatic
      • Implicit module
      • Exports all
      • Reads from JDK and unnamed module
      • Modules named after JARs
    • Unnamed
      • Akin to the classpath
      • May read any exported prckage or class
      • Exports all
      • Reads none
      • Holds JARs only
  • No classloader changes, modules are associated to the base 3 classloaders
  • Classloaders always respect the module graph
  • Layers - Control the relationship of classloaders to modules
    • Creates a hierarchical module graph
    • Guarantees no cycles
  • Only 1 module may export a package (no split packaging)
  • Loader may only have 1 class of the same name

Friday 3 July 2015

WildFly 9 is OUT!

With the release of WildFly 9 we continue the march towards EAP 7.

Since the release of WildFly 7.x the number of feature enhancements in WildFly have been staggering!

First and foremost both WildFly 8 and 9 are fully JavaEE 7 compliant for both the Full and Web profiles.

Undertow was introduced as the new ultra high performance web container to deliver even high levels of scalability, concurrent and performance.  It also supports the new HTTP/2 protocol and the ability to act as a load balancer and reverse proxy to other WildFly instances.

CLI Enhancements including quick connect server aliases, the CLI GUI tree explorer and an offline mode where you can make changes to the server without actually having it running.

Upgrades to the patching framework now allows for remote install and rollback of static patches as well as brand new support for in-place upgrades.  In-place upgrades allow you to seamlessly migrate between minor versions (8.0 -> 8.1 or 8.1 -> 8.2) while preserving your configuration, deployments and custom modules.

The clustering components have been enhanced to include updated versions of Infinispan (7.2.x) and JGroups (3.6.x).  New features include public application APIs to monitor topology changes and broadcast commands as well as a new and very much so simplified API for clustered singleton services.  We are also now taking advantage of the JGroups FORK protocol which allows for the multiplexing of messages to unique forks across the same channel.

Integration with JDK8 is being continually advanced and it the recommended JDK for WildFly 8+.

Hibernate Search is now provided as a default module and can be used in conjunction with Infinispan to query against relational databases.  For added reliability, you can also integrate JMS for index update processing.

The often requested "Graceful Shutdown" feature also makes its triumphant debut allowing administrator to put a server in a state where it will reject new incoming requests while still being able to complete all the current in-flight one.  Once all the in-flight requests finish, the server is suspended and maintenance can be preformed, the server can be shutdown or the server can be fully resumed.

IronJacamar fully implements JCA 1.7 to include lazy connection management (think multiplexing logical handles to actual physical connection), the distributed work manager to more effectively distribute work across a cluster and pooling has been enhanced to include new capacity policies and flush strategies to control and tune how your grow and shrink a pool.  It also adds features to support server wide graceful shutdown as well as enhancements to track connections across transaction boundaries and the tracer module to create a human readable sequence diagram based on it's own trace logging.

The new admin console has a sweet updated UI to go along with some great new features.  It has significantly more information around patching and applied patch, it has a fully integrated log viewer displaying the full file with searching and it now provides datasource templates to ensure easy and error free DB connectivity.


Web Services have seen some significant improvements as well to include support for CXF 3.x and JAX-RS 2.0.

And these are only the big ticket items!  With all of the smaller enhancements and bug fixes, we could write a novel.

I would encourage you to immediately go and download the GA release and ask questions or let us know what you think on the WildFly forum.



Wednesday 1 July 2015

Red Hat Summit - 2015

It's a wrap on Red Hat Summit for another year!  It was a fantastic week in Boston, everyone really brought their A game from the Keynotes, to the demos, labs and presentations.  To top it all off, the customer events really knocked it out of the park!

I had a great time doing my first mini-presentation!  You can be sure I will be targeting a general session in 2016!  You can check out the fully recorded presentation, Getting Started with Fuse Fabric on the Red Hat Customer Portal!  You can also access and share the live presentation on the official Red Hat Slides page.

Check out the Keynotes presentations on YouTube as well as all the one on one interviews from The Cube!  You can also access all the great Summit Presentations directly from the 2015 Summit site.

It was especially exciting to see CEE's very own Marco Bill-Peter deliver a fantastic Keynote on the modern vision of customer support really driving home what Red Hat is all about!  On top of launching Red Hat Access Insights and delivering the customer innovation award he also clarified that he's Swiss, Neutral and not Arnold Schwarzenegger.

Now that summit is over, naturally it is time to prepare for the 2016 event!  You can register for updates for the 2016 Red Hat Summit taking place June 28th to July 1st in sunny San Francisco!

Monday 29 June 2015

Red Hat JBoss Fuse 6.2 is OUT!

If you were at Red Hat Summit last week, I am sure you are well aware that Red Hat JBoss Fuse 6.2 is officially out the door.  Hiram did an excellent What's New in Fuse 6.2 presentation at Red Hat Summit.

This release is chalked full of component upgrades, enhancements and bug fixes.  I would tell you how many but it would take a week to count them all.

Camel 2.15.1

  • Now with 168 Camel Components!
  • 40 new component additions
  • REST DSL

ActiveMQ 5.11

  • Enhanced and improved MQTT (Middleware keynote anyone?) / AMQP transports
  • New  clients (Python, JMS, .NET)

Karaf 2.4

  • Role Based Access Control
    • Same roles as EAP -> Monitor, Operator, Maintainer, Deployer, Auditor, Administrator, and SuperUser
  • Hibernate 4.2.19 - Aligned with EAP 6.4.2

fabric8 1.2

  • Upgraded ZooKeeper to 3.4.6
  • Enhanced fabric8-maven-plugin
  • New Insight Plugin for aggregated log and metric collection

CXF 3.0.4

  • JAX-RS 2.0
  • WebSockets

HawtIO 1.4

  • RBAC
  • Insight Plugin
  • Enhanced Camel metrics
  • Enhanced JMS Viewer and Editor

JDK 8 Support

  • OpenJDK, OracleJDK, IBMJDK

Fuse Tooling

  • Red Hat JBoss Developer Studio Integration Stack
  • Camel Debugger
  • Fuse Server Adapters

Fuse & BRMS Integration Pack

  • Yes, drools is supported on Karaf with a well integrated features file.
A few noteworthy features in TechPreview state.

  • Switchyard on Karaf
  • Transformation Tooling
  • SAP Tooling
  • Swagger
This is merely a snippet of the best stuff, check out the full breakdown at:

https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.2/html-single/Release_Notes/index.html