In response to last week`s Double Take, in which I stated that Cobol is alive and well and living in the basements of most major banks, some readers responded with varying levels of outrage at my marginalisation of Java as a serious enterprise contender. So is it ready?
The question should not be whether Java is ready for the enterprise, but where in the enterprise architecture Java should fit in.
Jason Norwood-Young, technology editor, ITWeb
The heated debate regarding Java`s readiness has been waged for over three years. Typically the pro-Java pundits make much more impassioned arguments for its stability, scalability and general coolness, while the anti-Java crowd grumble quietly among themselves about this little up-start.
Looking at Sun`s strategy, there is no doubt that it sees Java as an enterprise product. The release of Java 2 Enterprise Edition, its purchase of Forte, and its current Java-centric developments confirm this.
I also see Java as firmly entrenched in the enterprise. Its entire design principle - that of multi-platform portability - is more applicable to the top market segment than any other. The home and small and medium enterprise user is hardly likely to port code from one platform to another over weekends. Its product - and its sandbox ethos - delivers an acceptable amount of security for enterprise applications, even though security breaches still rear their ugly heads from time to time.
High-scalability
The big iron that is now available on the market has the strength to lift Java into the high-scalability arena. The object-oriented nature of the language makes for great reusability and concurrent development. The question should not be whether Java is ready for the enterprise, but where in the enterprise architecture Java should fit in. It is still not Cobol, and I doubt that Sun sees it as such either.
One of the most recent Java standards awaiting ratification pay testament to this. The J2EE Connectors Specification is designed to link Java to existing enterprise information systems (EIS). These EISs include typical enterprise technologies like TP monitors, existing Web servers, database systems and application servers. Through a common client interface (CCI), Java will be able to talk to all of these enterprise animals as an extension of itself. Once it is ready, the CCI will control transactional, security and connection functions between Java and the rest of the information system.
The fact that this standard is only being ratified now means that Java still has a way to go before it is capable of slotting into an existing enterprise architecture without a fair amount of kicking and screaming. The fact that enterprise needs such a standard reveals that Java is not all things to all people. The standard also reveals an important role that Java can play in the enterprise - that of the middle tier.
Portability
By connecting to an enterprise`s current data structure, enterprise will have the ability to utilise Java as the application development language it was always meant to be. It wasn`t meant to be super-scalable - that`s the back-end job. It wasn`t meant to look great, although it can now be used for this too. It maintains its portability through the standard application interface delivered by the CCI. It fits in so snuggly that most would agree that this is where it belongs.
Why, then, do some still believe that Java needs to be - or could be - anything more?
Perhaps it is the religious zeal that Java has sparked among its fanatical followers, who want it to be ubiquitous throughout the enterprise. Maybe it was an unclear message from Sun as to where they see their product playing. Perhaps even it is just the fact that the 4GL world is so out of fashion that a replacement just has to be found.
Whatever the reason, I encourage the enterprise Java community to stop trying to fit square pegs in round holes, and see Java for what it is, and not what you would like it to be.
Share