JBoss EAP 7 BETA Available !

Screen Shot 2015-12-19 at 2.25.41 PM

Today Red Hat released JBoss EAP 7.0 BETA.  This is the culmination of a couple of years of hard work by the JBoss EAP team at Red Hat and the broader WildFly community. I would like to thank them for their dedication and hard work and offer congratulations on achieving another huge milestone and major step forward in establishing Open Source in the enterprise and JBoss EAP as the open source standard for Java EE.

JBoss EAP 7  is a significant release in every respect; the last major EAP release (EAP 6.0) was back in June, 2012 and after 4 minor feature releases and numerous patch releases, EAP 6 is now just 8 months away from entering its long-term maintenance phase. While EAP 6 will be fully supported for many years to come – all new development and new features will target EAP 7 and beyond.

While Java EE 7 brings a major set of new features to EAP 7 (see below) it’s only a small part of what defines JBoss EAP 7. There are many other major updates in the release to help us keep up with demands of our customers, industry trends and align with other Red Hat products and initiatives.

  • New high-performance web subsystem based on Undertow – supporting Servlet 3.1, WebSockets, HTTP Upgrade
  • Undertow can also be deployed standalone as a lightweight, scalable proxy / load-balancer.
  • Move from JacORB to the standard OpenJDK ORB
  • New high-performance messaging subsystem based on Apache ActiveMQ Artemis – same searing performance as HornetQ with expanded protocol support and Artemis is now the standard message broker for all JBoss products.
  • Support for Java EE 7 – full and web-profile and Java SE 8.
  • Enhanced (JSR-352) batch support – including cluster support, management (liste, start, stop, resume) of batch jobs and IDE (JBDS 9.0) integration
  • Improved upgrade experience from previous versions of EAP / WildFly and better support for competitive migrations using Windup.
  • Improved JNDI, EJB, JMS and WS interoperability between EAP 7 and older versions – useful for side-by-side upgrades.
  • Ability to manage EAP 6 domain hosts and servers
  • Improved management console; easier navigation, and much better support for large scale domain configurations.
  • Graceful shutdown – allows servers to quiesce without aborting in-flight requests or transactions

Also the following features are available as Technical Preview :

  • A new JGroups based DistributedWorkManager
  • Execute JavaScript (using JDK8’s Nashorn), access JNDI and invoke CDI and JPA EntityBeans from JavaScript
  • HTTP 2.0 – connection multiplexing, header compression and server push

Major enhancements to Java EE 7 include :

A more detailed refresher on  on Java EE 7 features here.

As always – you can download the BETA via the Red Hat Customer Portal or from JBossDeveloper if you don’t have access. Release notes are here. And you’ll need some developer tooling to go with that – JBDS 9.0 is available for download here.

Give the BETA a try and give the team some feedback.

 

The death of bloated, heavyweight, monolothic enterprise Java …

… and the rise of the lightweight, agile, dynamic, modular Enterprise Java.

Java EE has long had the perception of being slow, bloated and monolithic. While the Java EE specification doesn’t prescribe a lightweight, modular implementation; neither does it preclude one. So the negative perception of Java EE is more to do with certain implementations than the standard itself. The two dominant commercial vendors of (Oracle and IBM) have, over the last 10 years, done a lot to re-enforce the perception that Java EE has to be complex, bloated and expensive. While at JBoss we’ve been pushing in a different direction for many years. Each of the last major release of JBoss AS has incrementally pushed modularity closer to an ideal where you only pay for what you need (in memory, complexity, CPU).

junk in the trunkPhoto Credit : “Junk in The Trunk”, zappowbang (CC, some rights reserved)

The latest version (JBoss AS 7) – which is also the underlying technology for Red Hat’s commercially supported product (JBoss EAP 6) has pushed the lightweight theme as far as to completely erode the difference between lightweight web containers (like Tomcat) and “heavyweight EE servers”. As far back as 2008 (through the advances in mobile devices and JBoss miniaturization) it’s been possible to run a full Java EE server on something as small as a smartphone; last year at Red Hat summit we ran the entire JBoss keynote demo (starts about 35min) on a cluster of cheap plug-top computers (far less powerful than today’s smartphone).

So it’s great to see IBM following our lead and pulling their own miniaturization stunt – Websphere running on a Rasberry Pi – very cool. Great to see IBM joining us to help change the perception of Java EE.

Red Hat is looking for some awesome Product Managers

Looking for a new challenge in a fast growing business ? Familiar with Java, JBoss and Open Source ? Able to kick competitor butt and have fun ?

Product Manager, JBoss User Experience (UXP) Mobile Platform

The Product Manager, JBoss User Experience (UXP) and Mobile Platforms Group is looking for a Product Manager, to be responsible for the overall product life cycle of Red Hat’s User Experience Platforms including Mobile and Portal. The Product Manager will be responsible for determining the market requirements for a successful product and driving the overall product strategy. This Product Manager will also work closely with the product development and engineering teams to determine product priorities and plan product releases and determine the product roadmap.

Sr Product Manager, JBoss Application Platforms

JBoss Enterprise Application Platform is the market leading platform for innovative and scalable Java applications. Integrated, simplified, and delivered by the leader in enterprise open source software. Responsible for the overall product life cycle of Red Hat’s application platform products marketed under the JBoss brand name. Responsible for determining the market and technical requirements for a successful product and driving the overall product strategy. Will work closely with product development to determine product priorities and plan product releases and determine the product roadmap.

Sr. Product Manager, JBoss Enterprise SOA

The Sr. Product Manager will be responsible for the overall product life cycle of Red Hat’s JBoss Enterprise SOA platform, Enterprise Service Bus, BPEL engine, related tooling and integration with related technologies. The individual will be responsible for determining the market requirements for a successful product and driving the overall product strategy. This person will work closely with product development and engineering to determine product priorities and plan product releases and determine the product road map.

JBoss EAP 6 BETA Webinar

ease-into-the-cloud.png

Join me next Wednesday 3/14 – I’ll be talking about how to get involved in the JBoss EAP 6 BETA program. World-wide-friendly times :

  • Wednesday, March 14, 2012 | 14:00 UTC / 9am (New York) / 2pm (Paris) / 6:30pm (Mumbai)
  • Wednesday, March 14, 2012 | 19:00 UTC / 2pm (New York) / 7pm (Paris) / 11:30am (Mumbai)
  • Thursday, March 15, 2012 | 01:00 UTC / 6:30am (Mumbai) / 9am (Singapore) / 12 noon (Sydney)

Sign-up for the free Webinar here.

Java Container Popularity and a Prediction

Hey, 3 days into the New Year and my second blog post !

Another day, another survey – this one from Tools Vendor ZeroTurnaround. From what I can tell survey participants were self-selected – but the results underline what has been a solid trend over the last several years and I’ve seen the same in internal surveys I’ve commissioned.

Below is the 2009 / 2010 Container Popularity chart. Note the significant decline of Websphere and Weblogic and the growth in leaner, Open Source containers like JBoss, Jetty and Tomcat.

Screen shot 2011-01-03 at 10.55.01 AM.png

Glassfish bucked this trend – likely due to uncertainty about it’s future under it’s new owner Oracle. JBoss showed only a little growth – I’ll put this down to a fairly slow year in 2010. But 2011 is going to be very, very different. We already have a Java EE 6 Web Profile container (released last week) and JBoss AS 7 is taking shape pretty rapidly. With our increased attention to slimming the footprint and increasing the speed of adopting new technology and standards like Java EE 6 — my prediction is that JBoss will catch or overtake Tomcat in the next year.

The JBoss Product Lifecycle Explained

There was a fairly innocuous post on the interwebs at the end of last week which Oracle employees have jumped all over in an effort to discredit JBoss. I’ll rise above the petty mud-slinging and instead use this post to explain the relationship between upstream projects that JBoss uses and the downstream platforms that JBoss supports. It is my hope that people can then make their own informed decision about what to use to deploy their own applications.

So thanks for the opportunity to explain some of this.

First the obvious disclaimer – yes I work for Red Hat. Specifically I am the Director of Product Management for JBoss Enterprise Application Platforms and as such responsible for the product roadmap and technical direction of JBoss branded products like JBoss EWS, EAP and EWP.

So let me explain Red Hat’s model – something we call the Fedora / RHEL model internally. Red Hat provides subscriptions for use of its Enterprise distributions. A subscription provides the following (in no particular order) :

  • long-term world-class technical support – and we do it very well (PDF report)
  • long-term application compatibility
  • long-term stability and predictability
  • long-term partner certifications
  • legal assurance
  • long-term provision of security patches, performance enhancements bug fixes and RFEs

It may seem contrary if you’re used to the traditional model of “buying bits” but in our model, the provision of the bits is somewhat secondary; it’s something we have to do to support the value outlined above. For example, partners will only certify their applications and products if we have some way of identifying specific releases – supporting a continuous stream of releases is impractical. We can only provide application compatibility if we focus on specific identified releases.

So, one of the entitlements of a subscription is access to the supported binary distributions of a product – this is the thing to which we can apply all the other things I’ve outlined above.

For all of Red Hat’s products there are one or more upstream Open Source projects. In the case of JBoss EAP – the JBoss AS project is the primary components but JBoss EAP also includes Seam, mod_cluster, Apache CXF to name a few. Some of the projects that Red Hat uses in it commercial platforms are essentially Red Hat (or JBoss) projects – we provide the majority of developers, drive the roadmap and the release cadence (eg. JBoss AS, Seam, Hibernate), for others we’re merely one collaborator among many (eg. Apache CXF, OpenJDK, Apache HTTP).

Screen shot 2010-11-21 at 8.55.41 AM.png

The upstream Open Source projects is where the innovation happens – the focus of many of the Open Source projects driven by Red Hat is to act as technology incubators. Releases for projects like JBoss AS are frequent, experimental features are released, refined and re-released. That’s the focus – agility, speed, innovation. There’s never been any promise, implicit or otherwise that any given release is suitable for running your business critical applications. In fact we make it pretty clear on JBoss.org :

Screen shot 2010-11-21 at 8.40.58 AM.png

OK, so let’s dig into the relationship between project (or community) releases and platform releases. I’ll use JBoss AS (project) / JBoss EAP (platform) as examples as they are among the most widely downloaded / deployed :

Let’s take the JBoss AS 5 branch which was the foundation of the most recent JBoss EAP 5 family. JBoss AS 5 was focussed on a couple of big things : i) providing a new level of modularity via the Microcontainer 2.0; and ii) providing a Java EE 5 certified container. JBoss AS 5.0.1 was released in February 2009, followed a few months later by 5.1.0.

JBoss AS 5.1.0 met our functional criteria for JBoss EAP so that is what we picked up for our ‘productization’ process and JBoss AS 5.1.0 essentially became the Alpha Release for JBoss EAP 5.

Screen shot 2010-11-21 at 8.56.33 AM.png

The productization process is really not dissimilar to the kind of process you’d see in any other software company – we bring in all the major components, refine the dependencies, remove duplicates, perform additional testing above and beyond the community / project testing – focussing on security, performance, scalability, failure, longevity and the component integration points. We also look at documentation and the certification of third-party products like databases, Operating Systems, JVMs and other Application that work with JBoss. During this process we also run a traditional Early Access Program (aka Alpha, Beta) – this augments the attention the individual components receive during their own community release cycles. We’re fortunate to have some very willing customers who are able to apply significant resources to push our technology very hard using real-life applications and operational scenarios – often finding issues that are very hard to flush out in QE or during community release cycles.

The result of this process is an Enterprise Platform GA that differs from the upstream binary release we started with. First, we bundle additional components – like APR (Apache Portable run-time), Seam, mod_cluster, Apache CXF. And the core JBoss AS we include has a large number of fixes to address the security, performance and other issues identified during the productization process.

But that’s just the start.

Screen shot 2010-11-21 at 9.17.25 AM.png

JBoss EAP is supported for 7 years and with every additional minor or micro release we further improve the performance, security and stability of the Enterprise Platform. We’ve now released 2 micro and one minor release of JBoss EAP – that’s about 150 top-level issues in total. While the issue rate will slow over time – we’ll still be in a position to fix issues and respond to new security threats in 2016.

All those fixes are made available upstream and will ultimately make there way in to upstream binary releases but what the upstream project can’t guarantee is that those fixes will be isolated from more substantial changes and improvements – community releases typically don’t distinguish compatible bug fixes from more intrusive changes that provide the innovation.

OK so what happens to the community project once we’ve delivered an application platform? Well in the case of AS 5.0, from a Red Hat contributor perspective – the work was complete and Red Hat’s developers moved on to the next wave of innovation in AS 6 and AS 7. The goal of AS 6 is to deliver a Java EE 6 Web Profile implementation, the goal of AS 7 is to tackle the operational use-cases with a new domain model and console.

So to summarize this rather long post – if you want to deploy your business critical applications and receive long term support from Red Hat then the JBoss Enterprise Platforms are what I would recommend – if you’re more interested in seeing how those platforms will evolve and more interested in emerging technology but willing to take on more risk then upstream projects are where you should be looking. It all a matter of assessing the risk.

First they ignore you, then they laugh at you, …

“First they ignore you, then they laugh at you, then they fight you, then they produce lame marketing videos, then you win.”

– with apologies to the late Mahatma Gandhi.

Actually, I’d say if your competitors are producing videos at the rate that the Websphere marketing team are producing them about JBoss I think you can safely conclude that they’ve given up all hope competing with products and technology. The latest almost makes me feel a little embarrassed for the Websphere team. How the mighty have fallen.

Lies, damned lies, and statistics

First some insight into how my twisted mind works. I rarely believe any bar chart, pie-chart, percentage I see presented unless I can access the raw data myself and draw my own conclusions. I’m not a statistician by trade or education but I’ve spent a lot of time running surveys and analyzing large data sets; so I have the benefit of some experience.

Replay Solutions just published a survey about Java Platform usage. The questioning, subsequent analysis and presentation of the results was poor IMO. But they did one thing right – they provided the raw data. Thanks for that.

There’s a posting on TSS entitled “Why is JBoss at the bottom of this list ???”. In typical TSS style – few people actually bothered to read the survey results or question them and a long and rather pointless thread ensues. This post is an expansion of my comment at the end of the TSS thread.

The original report has this chart :

Screen shot 2010-04-09 at 11.07.48 AM.png

Update – Sunday 4/11/10

My initial (very quick) analysis was wrong. My formula for searching for different categories had a basic reg-ex flaw so I was over-counting JBoss by fair bit. I’ve fixed that mistake (spreadsheet here) and also removed duplicates (responses with both “JB + TC” and “Tomcat” or “JBoss” – I’d already admitted to this minor double counting (in the comments) – the original author’s analysis still includes this error.

So the ranking is now the same as the original author’s but the %’s are different. My apologies to IBM for originally stealing their #2 spot 😉 By the way – Red Hat fully supports both Tomcat and JBoss AS – so #1 and #3 rankings and being able to satisfy 87% of the market isn’t such a bad result for us.

Screen shot 2010-04-11 at 8.25.17 AM.png

[As percentages of respondents – that’s : Tomcat = 59%, Websphere = 39%, JBoss = 28%, Weblogic = 23%, Other = 19%]

These rankings (WAS above JBoss) are more representative of larger organizations (where both WAS and WLS have traditionally been stronger) – the latest Eclipse survey shows a similar break-out. Unlike the Eclipse survey – this survey doesn’t have any information on the respondents and they seem to be largely self-selected.

My original points still stand – poor questioning, poor analysis and presentation are common in these kinds of surveys. Always ask for the source data !

Releases / Lifecycles and other Product Management Miscellany

jbosscorp_logo.png

This week we GA’d JBoss EAP 5.0. As you’d expect from a new release there’s a long list of new features, capabilities and APIs and at some point I’ll talk about those some more. But the intention of this post is to give you an idea of some of the other less visible things that have happened with this release. EAP 5.0 marks a key milestone in the evolution of JBoss and demonstrates where we’re heading with the JBoss Platforms.

Performance

We set some pretty aggressive performance targets for this release. By comparison to JBoss EAP 4.3 we see an increase in peak throughput of about 20%, faster response times and more scalable HTTP connection handling. Performance is an ongoing activity and we’re continuing our investment in improving it in future releases. Performance at any cost is interesting to few outside of Formula 1 and Rocket Science and it isn’t a goal – we’re specifically interested in price / performance using a broad range of typical, real-life workloads.

Quality

Popular Open Source technologies (like JBoss AS – on which EAP is based) have always had the benefit of a large community who actively poke and prod. and push the software in different ways; who peer into the design and code and offer improvements.The result is some pretty decent, efficient and well polished code. But with the JBoss platforms we go one (or several steps) further. For EAP we had a long and active Early Access Program. It started back in April and is only now winding down as FCS customers complete their work. The diagram Below illustrates how we connect the AS and EAP lifecycle, the upstream (AS) GA essentially starts our EAP Early access program. This allows enterprise customers to start using a stable (though incomplete) release with the full backing of Red Hat Global Support.

Screen shot 2009-11-06 at 9.50.09 AM.png

Obviously the diagram is a massive oversimplification – EAP is more than AS – it is the integration point for Seam, RESTEasy, the installer, mod_cluster and the Apache Native components.

With every release we also enhance our QE coverage; in the case of this release there was a bigger focus on Performance, Stress and Longevity testing using larger and more complex topologies and a broader range of workloads.

Lifecycle

We’ve also refreshed and restated our product update and support policy for all JBoss platforms – the hope is that it’s more clear, better aligned with other products from Red Hat and puts even more distance between us and our Open Source competitors.

Screen shot 2009-11-06 at 9.54.11 AM.png

Ease of Use

A while back we kicked of an Internal initiative called “Andiamo” – I talked a little about it at JBoss World, and Mark wrote about it recently. While much of what we have planned around Operational and Development Ease of Use is planned for release beyond EAP 5.0, EAP 5.0 does lay the foundation for some of the things we need to achieve. The new Microcontainer provides us a very flexible and powerful toolbox that will allow us to build the middleware platform for the next decade. Specifically around ease of use, and as a taste of things to come we did provide a first cut of the new embedded console (it replaces the old JMX and Web Consoles). It has pretty limited functionality right now but I think it achieves the goal of making simple tasks simple to do.

What’s Next ?

The EAP Springtime Release (nominally EAP 5.1) is well underway and we’ll be pushing for even greater performance gains as well as defining the target platform for an upcoming Common Citeria (EAL 4+) certification.

We’re also underway with the EAP Lancer Release (nominally EAP 6.0) which will be the first major output of the Andiamo work as well as supporting the new Java EE 6 platform.

Onwards and Upwards.

Tab Sweep : JBoss World 2009

JBoss World 2009

JBoss World 2009 is just under 3 weeks away and it’s still not too late to register. GEICO CIO Jess Reed will be one of the keynotes this year underlining that JBoss World is a great place to come and learn how other organizations just like you have saved money and improved performance and stability by moving to JBoss and Red Hat.

“GEICO is the 3rd largest passenger auto-insurer in the US and provides coverage for 9 million policyholders.”

“Reed will highlight GEICO’s deployment of Red Hat’s JBoss Enterprise Middleware and their use of open source middleware software for mission critical platforms”

You can even save money ($400) on saving money by registering before the event.

I’ll be at Red Hat Summit / JBoss World all week and have a couple of sessions talking about JBoss Enterprise App. Platform both present and future. If you’re around and want to chat – get in touch.