Lightning Strikes !

Screen shot 2011-07-05 at 8.02.30 AM.png

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.

Thoughts on G+

My opinion on G+ (based on about an hour of tinkering) :

  1. G+ will be of limited utility until the majority of people I know or care about is using it (ie. it has to catch up with FB and Twitter)
  2. Circles – great start but needs finishing – need more set theory – subsets, intersections, compliments, etc. will make it very powerful though maybe a little nerdy for the non-technical.
  3. UI is very slick – amazing demonstration of what is possible in a standard browser
  4. I represents a personal dilemma. I’ve been using Facebook for mostly personal stuff; Twitter for mostly work stuff. With a little natural overlap. I can manage two social networks; three will be tough.

This is my profile if you want to connect.

Lightning Strikes !

Screen shot 2011-07-05 at 8.02.30 AM.png

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 !

Screen shot 2011-01-05 at 10.12.59 PM.png

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.

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 Best and Worst of 2010

On the first couple of days of 2011 I’m sitting down to continue a tradition I started in 2005 (2006, 2008, 2009) I find this a nice way to review the year before its committed to the cobwebs of my long-term memory. So, here’s a quick review of the best and worst of 2010 :

Best Moments

The U7 Soccer team I coach has really come together this year – I’ve coached many of these kids for the last couple of years and this year was the first time I’ve seen teamwork and tactics emerge. They’re also super-competitive which I think is a “skill” that’s being eroded – there are valuable lessons in winning and losing. Making everyone a winner creates kids who are ill-prepared for the ups and downs of real-life.   

IMG_0342.JPG

We visited Washington, DC over the Thanksgiving break – not the first time I’ve visited but it was the first time I’ve had the time to look around. Reading the inscriptions on the Lincoln Memorial reminds you of how far the United States has come in such a short time and of how great the United States has been through it’s short history – hopefully we now have a leader in office who can restore that greatness. I’m hopeful but only time will tell.

IMG_0651.JPG

I work for Red Hat and through 2010 we continued to turn in good results; after my final few years at Sun staring into gloomy uncertainty – it’s nice to be on a wining team and looking ahead with optimism. It’s also nice to be in a smaller company where the impact of ones efforts on the company’s growth and success (or otherwise) are much more apparent.

Biggest Disappointment

Last year the TSA just edged out the Right-wingnuts but this year the axis of stupid take the prize. Every time I hear Sarah Palin or Glen Beck talk – I’m stunned at the breadth and depth of idiocy it takes for them to be considered leaders. Their followers are making the rest of America look stupid to the rest of the world.

Best Technology

This is a tough one. I held off buying an iPad for while but finally succumbed in August. Soon after – it replaced the “smart-phone” as the tech. toy I use the most. Apple have done it again and defined a new category – I’m excited about the future of tablets with many competing devices emerging – there are many tasks for which a touch screen presents a far more natural user experience. I still haven’t found the killer app. for the iPad but iCal, Things, Kindle Reader and Flipboard are some of my favorites that have embraced the new form factor.

On the other hand is the Garmin Edge 800 GPS-Enabled Cycling Computer – while it has a few kinks that need to be ironed out (I’m downloading the latest firmware update as we speak) – it generally rocks and Garmin have a pretty nice web service for collecting all the data from your runs, rides and workouts – Garmin Connect. I like Garmin products, like Apple – they generally “just work” and don’t get in the way too much – that, in my mind, is success in consumer technology – “get out of the way and become invisible”. I do need spend some more time playing with routes and maps and workouts on the Garmin – there’s a wealth of functionality that I haven’t tapped into yet.

photo.JPG

So in the interests of continued health and well-being – I’ll go with the Garmin Edge 800.

Best Book

I’m still working through Neal Stephenson’s – The Baroque Cycle – a mid numbingly long and complex story of truly epic proportions and as with all Neal Stephenson – impeccably well presented. I’m mid way through book seven of eight so it will be another month or so before I’m finished. For that reason – I’ll go with “A Walk in the Woods: Rediscovering America on the Appalachian Trail” (Bill Bryson) – a fine way to spend a Sunday afternoon at the pool.

Best Film

The only time I go to the Cinema is when I take my kids – so generally catch-up with grown-up movies via Apple TV – a few weeks back I saw Inception – very cool visually with a good story line – good enough to watch again at some point. So I think Inception wins it this year.

Java is Still the Future for Enterprise App. Development

I tried to add a comment to the Forrester blog but I received a “Validation Error” – here’s my comment to Mike Gualtieri’s blog post : “Java Is a Dead-End for Enterprise App Development”

Mike makes some valid points but to claim that Java is a dead-end is a bit sensationalist. By Forrester’s own data – it’s the only mainstream tech. that’s showed sustained growth over the last couple of years – I’m fairly sure 2010 data will continue the same trend.

Sure, Java has it’s limitations and it’s continued commitment to compatibility has hindered its ability to meet new needs but there still really is no better alternative. While Ruby, Scala, Groovy, etc. are compelling for some applications they would need unprecedented sustained growth before they become real main-stream alternatives to Java or .NET. During that adoption ramp they will no-doubt expand to meet additional requirements and their simplicity will be compromised.

These things move at glacial paces – I still meet with customers who are only just starting out with Java. It’s important not to be biased by what the alpha-geeks are looking for – it’s the late majority that provide the momentum.

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.

The End of OpenOffice ?

oo.png

I’ve been a mostly happy OO user for the most part of the last decade (ever since my then employer – Sun acquired StarOffice) – it’s really been the only office application I’ve used consistently at home and at work and I’ve used it across many operating systems – Winders, many Linux variants and OS/X. I haven’t use the ‘other’ popular office suite for more than a decade.

But I have been grumbling more than usual lately about the various annoying bugs and inconsistencies and have moved a lot of my professional use to proprietary tools like OmniGraffle and Keynote. Even though I’d consider myself as an OO power user – OO is not just looking extremely dated but I find other tools on the Mac *way* more productive and that unfortunately trumps my desire to support Open Source.

I don’t think it will be long before I drop OO completely.

But maybe there’s a glimmer of hope. With Oracle’s takeover of the Open Office project (courtesy of Sun) and their clumsy handling of open source communities it seems there has been a mass defection from the Oracle controlled OO project to The Document Foundation. Maybe this is the kind of shake-up the OO needs – here’s hoping.