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.

Oracle on OpenJDK

These are encouraging signs that Oracle will continue to invest in OpenJDK and that it won’t follow the same fate as some other Sun Open Source projects like Open Solaris. I’ve long believed that OpenJDK has the opportunity to become the Linux Kernel for Enterprise developers.

Kurian discussed the roadmap for JDK 7 and JDK 8, which will be based on OpenJDK

“In addition, Oracle remains committed to OpenJDK as the the best open source Java implementation and we will continue to improve OpenJDK and welcome external contributors.”
http://www.oracle.com/us/corporate/press/173712

“Oracle will work with the OpenJDK code base and the OpenJDK community
like Sun did. We wil
l continue to develop the JDK in the open under a
GPL license
. We welcome the cooperation and contribution of any member
of the community – individuals as well as organizations – who would
like to be part of moving the most widely used software platform
forward.”

http://blogs.oracle.com/henrik/

JBoss World Red Hat Summit 2010

Summit2010_OfficialSpeaker_jbw_180x150_0310LL.png

I’ll be speaking at JBoss World / Red Hat Summit again this year. I’m part of 3 sessions focussed on JBoss :

JBoss Enterprise Application Platform Roadmap, Wednesday 2pm

I’ll be sharing our 3-year roadmap and will touch on Java EE 6, HornetQ, Infinispan, support next-Gen (aka Cloud) infrastructure. I’ll also go through some of the changes we’ve recently made to our “release taxonomy”. What I expect you to get from the session is a clear understanding of our major areas of focus and the direction that JBoss EAP is heading in so you can better plan your own deployments. I looked at the feedback forms from last year and the only 2 negative comments were “more chairs please” – hopefully we’ll have a bigger room this year but come early.

Andiamo – Towards Operational Excellence with JBoss, Wednesday 5.30pm

Myself, Andy Miller, Brian Stansberry, Jason Greene and Charles Crouch will be holding this BOF session to discuss some of the changes we’re considering for JBoss EAP 6. Generally the discussion will be around operational ease of use, management, monitoring, tuning, diagnostics, deployment. Getting community input at this stage is super important so come along and tell us what you’d like to see. There’s a good chance of beers afterwards ;)

Java 2020

I’ll be sharing the stage with fellow Brit. and JBoss CTO – Mark Little to discuss Java past, present and future and give a Red Hat perspective of some of the challenges and opportunities ahead. We’ll be covering Next Gen. Infrastructure (aka cloud), Multi-language VMs, virtualization, SOA and many other subjects. We may have time towards the end to discuss England’s performance in the World Cup.

If there are questions or areas you’d like to see us specifically cover in these sessions – either leave me a comment or drop me an email (rich dot sharples at my employer dot com) or DM (richsharples).

JBoss World and Summit represents a great opportunity for me to meet some of my colleagues, learn about other technology areas at Red Hat and spend time with customers. As with all tech. conferences – the real value is in the contacts you make and the hall-way conversations you have. I’ll be around all week – if you want to chat – get in touch.

See you in Boston !

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.

2010 Cary Road Race

I think I may be becoming a ‘runner’.

Late on Friday night, one of my drinking / poker buddies told me he was running in the Cary Road Race (10k) starting at 8.30a the next day. I switched from beer to water (admittedly a bit late) and decided to enter as well.

The start is at Koka Amphitheater, just over a mile from my house so I jumped on my bike and headed down to register. It was a little chilly – but otherwise an awesome Spring morning.

I had no real target time or pace (didn’t even wear a watch) I just went along for the run. It’s basically two laps of a circuit starting with a decent hill.

My final time was 52.08 – that’s an 8.24 pace. That doesn’t break any records but was actually pretty fast for me. A 10k is a nice run – not long-enough to get really knackered but long enough to settle into a pace.

So now I have something to beat next year !

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 !

JBoss, Jobs, Jobs, Jobs !

jbosscorp_logo.png

The JBoss team is expanding again – we’re looking to fill four PM / PMM roles – strong preference for location is Greater Boston (Westford, MA) :

Product Manager – Application Platforms

Product Marketing Manager – Middleware

Solutions Marketing Manager – Middleware

Technical Marketing Manager – Middleware

Submit your resume online via the above links and ping me if we’ve worked together in the past.


Running – Part 5

photo.jpg

Lef to Right : Iain, Rich, Craig enjoy a post race “sports drink”

Last Sunday I completed the ATT Half Marathon (or Full Pikermi if you prefer). This series of posts is mostly for my own reference but if you’re interested you can read the rest here.

My personal goal was to finish in 1:50 minutes – the time of my last Half (2002?, Bristol). I managed to maintain a good pace for the first nine miles (sub 8.30 and even one sub 8 minute mile) but then basically ran out of energy and the last 4 miles were a struggle. I went pretty light on breakfast and a second Banana would probably have made all the difference. On my previous long runs – energy had never been a problem.

My official time was 1:57:01 – short of my goal but bearing in mind that just a couple of months ago I couldn’t even run 4 miles without stopping; I don’t think it was all that bad and shows that pretty much anyone can run a half with some dedication and a training plan.

This was the first ATT Marathon and I thought it was very well organized and as I’ve mentioned before – the ATT is a great place to run. My only criticism was the early start (7am) and the lack of parking meant that it wasn’t really possible for my family to cheer me across the line. Free beer and pizza after the race made up for the shortcoming though.

I plan to stick with the running – it’s by far the best way to keep fit, burn fat and clear your head. I plan to do the City of Oaks Half in November and maybe one other Half or 10k over the summer. You’ll likely find me on the ATT at least once a month for the longer runs.

I did consider doing a full marathon this year but I’m pretty sure I couldn’t do it without injuring my already knackered knees, feet and ankles. However, I am thinking pretty seriously about attempting a Triathlon this year – if anyone has advice on how to get started – let me know !