Join our online virtual event next Wednesday (June 20th) at 11am ET and hear us talk about some exciting new JBoss products – JBoss EAP 6 and JBoss Data Grid. We have separate developer and operations tracks with speakers from the product teams and customers ready to share their experience of these exciting new technologies. Sign up for free here.
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).
Photo 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
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)
With all the enthusiasm of cleaning up a dog turd …
… Heroku finally got around to supporting Java. But they couldn’t do it without first piling on some hate.
Why then, if Java is such a miserable platform to develop on would Heroku bother ?
Here are a couple of thoughts :
1. Huge Developer Base
2. Massive Adoption
3. Large, Active Ecosystem
Only Java gives developers such a broad range of tools, technologies and APIs – both commercial and open source. Only Java gives you Open Standard enterprisey features like Transactions, Object Persistence, Messaging, Security, Integration, scalability and high availability for when you need them.
Basically, most professional developers use Java (if they aren’t beholden to Microsoft that is) and they, to a degree, decide how to spend money on deployment and long-term care and feeding of applications. And Heroku, like any other company wants to make money.
But why would a professional Java developer choose Heroku given their very out of date and poorly informed opinion of Java ?
Surely – Red Hat’s OpenShift is a better choice ? Instead of whining about Java’s shortcomings over the years – Red Hat / JBoss has put a huge amount of energy in fixing Java’s shortcomings – and doing it in an open and collaborative way so the entire ecosystem can benefit. Red Hat has a deep understanding of Java technology and open collaboration – more than anyone else in the industry. OpenShift’s support for Java EE 6 is a recent example of this – we didn’t sit around complaining that Java EE didn’t fit with the new deployment paradigm that PaaS represents – we simply did what we had to do to make it work. And you can try it for free.
Finally, as Isaac makes clear, it’s time for the folks at Heroku to wise up about Java and maybe trade in their 2004 copy of “Beginning J2EE 1.4: From Novice to Professional” and have a look at some of the advancements in Enterprise Java over the last decade. Hey – Adam – leave a comment and I’ll buy you a new book 🙂
Rethinking Enterprise Java
JBoss AS 7 has been out for a week or so – probably not enough time for opinions to be formed but the feedback I’ve seen so far has been overwhelmingly positive. But that isn’t the subject of this post.
You probably didn’t see Red Hat’s press release as those things are typically only read by the press so I wanted to draw to you attention a single paragraph :
“JBoss Application Server 7 represents a major milestone in the evolution of Java application servers from complex and monolithic to more lightweight, modular and agile. This release will enable developers to re-think how they develop and deploy enterprise Java applications.”
I wrote that and I meant it. Over the last 5 years there has been a significant difference between the Java EE servers like JBoss, Weblogic and Websphere and Apache Tomcat. Tomcat has been the poster-child for the lightweight container movement (but we shouldn’t forget Jetty and Resin – both very capable servers) and has established itself as probably the most popular Java run-time.
But I think we’re at the point where there is no-longer a lightweight division between Java EE servers and Tomcat (and other Web Containers) – some good blog posts here and here that discuss typical developer requirements like startup time and deployment speed (make sure you read the comments). When we’re at the the point where we’re discussing sub-second differences between startup or deployment times then I think we have convergence. I think we’re at a point where you can no longer paint Java EE servers into the big, slow and heavy corner and Tomcat into the lean and fast corner.
Developers have more choice today than ever before – they can choose a lightweight container but no longer have to make a tradeoff between footprint and features. Or start with a basic server like Tomcat and incrementally build a full featured application server from the ground up as more features like caching, persistence, transactions, messaging, view layer are required.
OK before the Glassfish fanboys chime in – yes Glassfish did a great job of addressing light-weight needs for Java EE some time ago but by any available measure Glassfish still doesn’t represent a mainstream choice like Tomcat, JBoss, Weblogic or Websphere.
Lightning Strikes !
Just 6 months after JBoss AS 6 was released, JBoss AS 7 (codename Lightning) is now available. Congratulations and a big thank you to the JBoss AS team and community. JBoss AS 7 is a major release in every respect and will become the technology underpinning for much of what we do at JBoss for the next decade. I believe it also represents a shift in the way developers will think about enterprise Java and it opens up new possibilities for deployment that were unthinkable 5 years ago due to technical and economic limitations.
If you’ve been following the AS 7 candidate releases (and AS 6 before it) then you already know that AS 7 includes some significant new features. I’m not going to list them all; but here are the highlights:
Developer Productivity
- Startup-time and memory utilization have been significantly reduced which leads to a much more productive developer experience – no more coffee breaks during deployments and restarts.This required some significant rethinking and a fair amount of innovation (something we’re good at apparently)
- The Java EE 6 Web Profile provides a much leaner, less complex platform for developers who focus purely on the web-tier – less to learn, fewer design choices – increased developer productivity
- More flexible and powerful modular classloader – less time debugging and configuring classpaths; more time writing applications
- Testable by Design with Arquillian with out of container testing for the business logic so developers can be more productive while delivering better quality applications.
Price / Performance
- It’s probably a little early to claim significant performance gain over the competition right now but request path performance is a goal and the hard work of tuning and performance improvements starts now, One early indicator will hopeful give you a sense of what we’d like to achieve is the recent SPECjms2007 submission from Red Hat. SPECjms is a pretty narrowly focussed benchmark and not all the JMS vendors are represented, that said this is pretty significant for us as it is the first public benchmark submission from JBoss and good practice for future activities
Operational Ease of Use
- Some of the more significant advances in JBoss AS 7 are around the operational ease of use. The configuration has been completely refactored around a multi-node domain model, though the simple single-instance view has been maintained for developer use as well
- There are stable, easy to use management APIs – so AS 7 deployments can be completely automated from Java or any other scripting environment.
- New shiny, task oriented domain console that also allows you to manage multiple, distributed nodes.
Anyway – time to stop reading and start playing : learn more about JBoss AS 7 here and get the bits here and provide feedback on community site.
Next post – how AS 7 relates to Red Hat’s commercial, fully supported distribution – JBoss Enterprise Application Platform 6.
Lightning Strikes !
Just 6 months after JBoss AS 6 was released, JBoss AS 7 (<codename>) is now available. Congratulations and a big thank you to Jason, Brian, Jaikaran and team. JBoss AS 7 is a major release in every respect and will become the technology underpinning for much of what we do at JBoss for the next decade. I believe it also represents a shift in the way developers will think about enterprise Java and it opens up new possibilities for deployment that were unthinkable 5 years ago due to technical and economic limitations.
If you’ve been following the AS 7 candidate releases (and AS 6 before it) then you already know that AS 7 includes some significant new features. I’m not going to list them all; but here are the highlights:
Developer Productivity
- Startup-time and memory utilization have been significantly reduced which leads to a much more productive developer experience – no more coffee breaks during deployments and restarts.This required some significant rethinking and a fair amount of innovation (something we’re good at apparently)
- The Java EE 6 Web Profile provides a much leaner, less complex platform for developers who focus purely on the web-tier – less to learn, fewer design choices – increased developer productivity
- More flexible and powerful modular classloader – less time debugging and configuring classpaths; more time writing applications
- Testable by Design with Arquillian with out of container testing for the business logic so developers can be more productive while delivering better quality applications.
Price / Performance
- It’s probably a little early to claim significant performance gain over the competition right now but request path performance is a goal and the hard work of tuning and performance improvements starts now, One early indicator will hopeful give you a sense of what we’d like to achieve is the recent SPECjms2007 submission from Red Hat. In and of itself – this is the first public benchmark submission from JBoss and while not all the competing JMS products are represented – we’re confident we can crush the competition.
- Stay tuned on this one.
Operational Ease of Use
- Some of the more significant advances in JBoss AS 7 are around the operational ease of use. The configuration has been completely refactored around a multi-node domain model, though the simple single-instance view has been maintained for developer use as well
- There are stable, easy to use management APIs – so AS 7 deployments can be completely automated from Java or any other scripting environment.
- New shiny, task oriented domain console that also allows you to manage multiple, distributed nodes.
Next post – how AS 7 relates to Red Hat’s commercial, fully supported distribution – JBoss Enterprise Application Platform 6.
Anyway – time to stop reading and start playing : learn more about JBoss AS 7 here and get the bits here and provide feedback on community site.
JBoss AS 6 Released !
So after a fast sprint JBoss AS 6 was released at the end of the year and it passes the Java EE 6 (Web Profile) TCK. It’s great to see the culmination of efforts from fellow Red Hatters that went into this release. But Red Hat’s involvement in the future of Enteprise Java goes way beyond this release – many of the technologies delivered in AS 6 as part of Java EE 6 were driven through the JCP by people like Gavin King, Emmanuelle Bernard, Pete Muir and Jason Greene to name a few. Work on these specifications started several years ago so for some this has been anything but a sprint.
It’s great to see the release cadence of JBoss AS pick up – AS 6 had a number of milestone releases over the year’s development and I think this has gone down pretty well judging from the download rate (about 200k even before GA).
While AS 6 has been going through the last stages in the development and certification cycle, the next major release – AS 7 has already released an early alpha to demonstrate it’s “lean by default” services architecture – the feedback so far seems to be very positive.
You can read more about AS 6 from Stan, Gavin, Shelley, Jaikiran and Dimitris as well as J-Development, InfoQ and NetworkWorld.
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.
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.