Not many technologies compete directly with a strategic Microsoft product and live to tell the tale. The exception that seems to prove the rule is of course Sun Microsystems' Java, which is both a programming language and a sophisticated enterprise application development environment, J2EE, or the Java 2 Platform Enterprise Edition - the alternative framework of choice for many organisations instead of .NET.
J2EE provides developers a very rich environment to build bigger systems, insulating them from having to be too tied down too early to things such as which database, transaction monitor or application server to use; the idea is they can construct complex applications concentrating on things like the best business and presentation logic to use, as well as high-level features like persistence, SOA (Service Oriented Architecture), security and other heavy-duty stuff. J2EE, then, needs to be contrasted against not just .NET but Java SE (Standard Edition), the basic programming language and even Java ME (Microcode Edition) for use in embedded and real-time applications.
At this point, we need to point out that actually we no longer talk of J2EE - the new name is actually Java EE. The back story here is all to do with a fairly sensible clean-up Sun undertook of all the various 'decimal releases' of all things Java floating around - as in, Java EE 5 was previously the somewhat less euphonic J2EE 1.4; the change happened around two years ago, but some people do still refer to 'J2EE' when they should be saying Java EE, with the first version of J2EE itself appearing in 1998. And to round out this part of the story: we are now officially on the sixth release of Java EE, with a technology refresh due in 2009.
A good way to think of the difference between Java SE and Java EE: the first is Java programming, the second is building web applications using the language.
Certification around Java EE is something Sun takes pretty seriously. The company argues that investment in such training delivers measurable benefits in terms of productivity, and has some suggestive data from analyst group IDC that seems to bear this out.
In an April 2008 report by the latter ('The Sun Certification and Team Performance: The Impact on Application Developers System Administrators'), the number crunchers studied nearly 300 developers and found that having 50 per cent of an application development team certified in Java can improve performance in application development by over 40 per cent.
That apparently doesn't mean they get to knock off early to watch 'The IT Crowd' on internet telly; they also build more complex applications that take more advantage of advanced web technology. For example, 'The teams with the highest concentrations of certifications - over 50 per cent of the team certified - completed about 80 per cent of their projects on time... Teams of Sun-certified developers, working in Java, with as few as 10 per cent of the team certified integrate web services into new development projects about half the time. When the concentration of Sun certification increases to 50 per cent, nearly 60 per cent of projects include web services. The teams with the highest concentrations of certified team members integrate web services nearly 70 per cent of the time,' this report concluded.
Most people starting out to attain Java EE qualifications begin with the Sun Certified Java Programmer exam. The course teaches students post-basic Java skills and get them oriented to develop using Java EE. There is also an Associate, i.e. truly entry-level, version of this qualification.
But how to move thence into the EE world? The central starting place, according to Kevin Streater, customer learning manager at Sun in the UK, is a course (not an exam) called 'Developing Applications for the Java EE Platform'.
'We direct everyone here first,' he says, explaining that the material can be consumed via classroom, over the Web or on CD as the student prefers.
But beyond that there lies a much more complex world, leading to four specific Sun qualifications in the Enterprise Java context. The learner needs to choose between three different learning paths, leading to three different exam and qualification destinations: how to develop web components, business components and web services in Java EE.
'These are all specialist areas and you need to choose which one is best for you at which time,' he told IT Training, adding that at the same time it's quite usual for individuals - even teams - to do each one in succession, even going back to re-certify if the base technology changes. The thought is that it'd be very unusual to try and do all three at the same time, basically. 'All these exams result in separately recognised, individual qualifications,' he says.
But that's not all; right at the top of the Java EE pyramid is the master-level qualification, that enabling one to call oneself no less than a Sun Certified Enterprise Architect (SCEA).
'You don't have to take or pass the other exams to take the Enterprise Architect exam - you can do this separately - but to do well you'd have to have experience of the other areas,' he notes.
The Architect exam is also the most practical of all the courses, employing an example application project and the need to demonstrate real-world architecture skills, claims Sun.
Not just Sun says so. Rob Chapman, managing director of Firebrand Training, says: 'Not many vendors are doing this much work that high up their "food chain"'. 'Microsoft has something similar but it's a bit invitation-only, as it were. I think the Sun version is much more structured and formalised and has less of a "viva" element to it.'
It should be pointed out Chapman may be a bit biased in that his firm and Sun have just set up a new Firebrand product, a six-day residential course for those wanting to attain that prized SCEA status. But then Sun's other premier Java training delivery partner in the UK, QA-Xpertise, agrees that the Java EE Enterprise Architect level really is 'the top of the pyramid,' in the words of its commercial director Bill Walker. 'There aren't exactly hundreds and hundreds of people taking this and it'd be the cream of the crop you'd send in for it anyway,' he says.
So who are the people who take Sun certifications in the first place? 'The Java training model is very similar to the open source one,' thinks Firebrand's Chapman. 'A lot of people come in to it by cross-training, by say knowing another object-oriented language [such as C++], and there are lots of books and CDs out there for that.
'But at the Java EE level, people are much more experienced, want to round out and get the full breadth and depth of the environment and fill out the last of their gaps in the skills: think less "Swiss finishing school", more holistic and all-round,' he jokes.
And there seem to be more of them. 'There's strong demand for all of the Java skills stack; a lot of organisations have committed to the technology and will use it alongside .NET, some say it does the same thing better. But in any case there is very string interest in Java EE training in the banking and retail sector at the enterprise end.'
Simon Ritter, technology evangelist at Sun, adds another constituency - the big systems integrators, who he says are also keen on seeing their professional consultants fully qualified on Java EE. 'We see such companies bringing in full teams to be certified, even regularly re-certified,' he says.
'There's solid demand for Java certification, by its nature less people going for the Architect layer but many more at the junior levels,' confirms Walker. That's not to say that you couldn't swing a cat in a room full of Java heads and not hit an SCEA or even a SCJP: 'I think there's a huge opportunity here as there is still a big gap between the Java workforce and the ones fully certified,' admits Chapman.
But if IDC is right, companies looking to get the very best out of their Java EE programming and development resource need to up their certification targets; 'For Java development teams to perform at their "peak" according to this metric, 50 per cent of the team should be certified,' it thinks.
So putting it all together, it's clear Sun Microsystems is keen to protect the value of its Java portfolio with a well-structured learning 'story' around Java EE. And as the credit crunch continues to, er, crunch, it seems highly probable the kind of blue chip integrators and their clients who are the mainstay of the Java Enterprise market will more and more agree that training leading to higher productivity and richer final applications is a sensible use of training time and money.
- The main pages at the Sun website on Java Enterprise Edition.
- Details of the Java EE certification story
- The IDC paper on the impact on team performance of certification is available at the Sun Microsystems' website's training area, as well as other resources and information about Java and the Java certification stack.