All enterprise computing applications and systems have similar requirements to support the needs of their users:
Over the years, vendors have implemented systems to provide enterprise-quality functions to businesses. For the most part, they were successful in delivering high quality solutions. However, the systems were frequently proprietary, thus requiring businesses to "lock-in" to a particular vendor. Because vendors specialized in particular kinds of functions such as data storage or electronic messaging, businesses were required to integrate applications to meet their larger needs. Unfortunately, the systems did not interoperate easily, and often required the custom development of software that tightly coupled the systems. Because of the expense and difficulty, businesses usually only integrated applications for common work functions, or for specific workgroups resulting in computing "islands" of applications or information. In 1995 Sun Microsystems introduced the Java programming language. Besides being an interesting and useful programming language, Java promised "write once, run anywhere" portability, and came with a rich platform for building networked applications. This made it possible to easily create applications that were independent of the underlying hardware, operating systems, or networks. Shortly thereafter in 1996, Sun released the Java Database Connectivity (JDBC) specification, which provided a portable and vendor-neutral standard to access relational databases. A programmer using JDBC can access and manage a database using a well-defined Application Programming Interface (API), without having to consider vendor-specific protocols or functions. Sun continues to produce specifications for enterprise APIs that enable the development of "neutral" applications. In addition, Sun has developed useful frameworks that help developers meet most of the objectives of enterprise computing. Note Specifications for APIs and enhancements to the Java platforms are developed and evolved through the Java Community Process (JCP), which includes members from a large number of software and hardware vendors, government and educational organizations, and members of the open source community. The Java community process is described at the community Web site (http://www.jcp.org). There you can also find Java Specification Requests (JSR) for all requests that are under consideration and are publicly available for review. J2EE is a collection of these enterprise-level APIs and frameworks. Mature enterprise APIs are bundled into a J2EE release. The current specification for J2EE version 1.3, can be found at http://www.javasoft.com/j2ee/download.html. With each release of J2EE, Sun also delivers a reference implementation, a compatibility test suite so that vendors can certify their own implementations, and a BluePrints document that assists developers by providing architectural and design direction for using J2EE technology. J2EE extends the Java 2 Platform, Standard Edition (J2SE), which includes the Java programming language, support for I/O, networking, and other services and tools. |