Java: then and now

Java, it seems, is everywhere, and that was never truer than in 2000. Not long ago, Sun Microsystems Inc.’s programming language was used mostly to animate images on Web sites. Java has since matured into a solid enterprise-class solution capable of supporting practically any business need.

The big news last year was that Java went places it had never been before. Although the language had long been a contender at the server level, many enterprises avoided deploying it at the client level because of performance issues. Rising to the challenge, Sun rolled out Version 1.3, providing not only speedier performance but also a ton of new features. Needless to say, because the Standard Edition (J2SE) had not been updated since its initial release in December 1998, the new version was met with great enthusiasm.

Looking to meet the requirement of nanosecond response times demanded by both Internet and client-based applications, Sun fine-tuned its libraries and included the Java HotSpot Client virtual machine, which made Version 1.3 the fastest release of the Java platform to date, with a 25 per cent smaller RAM footprint than that of Version 1.2.

Other new additions included the Java Naming and Directory Interface (JNDI) for LDAP support, and the Remote Method Invocation/Internet Inter-ORB Protocol (RMI/IIOP) for improved connectivity to back-end systems supporting CORBA. Sun also showcased enterprise features such as applet caching and support for RSA electronic signing, dynamic trust management, and X.509 certificates.

Those who chose to embark on the Java Enterprise Edition (J2EE) path found an impressive architecture for defining and supporting a multi-tiered programming model. Making its debut in December 1999, J2EE quickly became the dominant platform for the development and deployment of enterprise applications. Making full use of the features found in J2SE, Sun added support for server-side Enterprise JavaBeans (EJB) components, Java Servlets, JavaServer Pages (JSPs) and XML. But what really made J2EE attractive was that it allowed Java developers to focus on solving business problems by leveraging the power and speed of server-side technology, thereby leaving low-level programming details to the architecture.

Each of the new technologies added huge value, but the most significant was EJB. Through the use of two distinct types of EJB components, Session Beans and Entity Beans, developers quickly realized that they could model and build the full range of objects that most enterprises need. Using Session Beans to represent the behaviour of a client session and Entity Beans for the encapsulation of operations over collections of data (such as rows in a relational database), the process of building complex, persistent, portable applications was made easier than ever. In fact, the task of assembling a J2EE application using a set of tools provided by one vendor, while deploying the application using tools provided by another vendor, has now become commonplace.

Finally, wireless developers also found reason to embrace Java in 2000. The Micro Edition (J2ME) was specifically designed to address the programming needs of the vast wireless market. The package included a Java virtual machine capable of running within most consumer devices, a library of specialized APIs, and tools for deployment and device configuration. In short, J2ME was a complete, end-to-end solution for creating networked products and applications for the consumer and embedded markets.

Java’s emergence in wireless markets was merely another highlight in what was, by all accounts, a pivotal year in the language’s coming-out party. At last, the promise of “write once, run anywhere” is fully upon us.

Thanks largely to a new release (Version 1.3), Java has matured into a robust language that can serve most enterprises’ needs, platforms, and devices. Java is now easier than ever to implement, and the language is transferable across all platforms. In 2000, J2ME debuted, allowing businesses to develop applications for consumer and embedded devices.

Fielden, a senior analyst for the InfoWorld Test Center, has been doing development for the last 15 years and closely follows the part Java is playing in enterprise applications. Send your comments to him at