Java Reference
In-Depth Information
These days, the cost of hardware, like CPU and memory, has gone down drastically.
But still there is a limit, for example, to the amount of memory that is supported by the
processor. Hence, there is a need to optimally use the system resources. Modern distrib-
uted applications are generally built leveraging object-oriented technologies. Therefore,
services such as object caches or pools are very handy. These applications frequently
interact with relational databases and other information systems such as message-
oriented middleware. However, opening connections to these systems is costly because
it consumes a lot of process resources and can prove to be a serious deterrent to per-
formance. In these scenarios, a connection pool is immensely useful to improve
performance as well as to optimize resource utilization.
Distributed applications typically use middleware servers to leverage the system
services such as transaction, security, and pooling. The middleware server API had to be
used to access these services. Hence, application code would be muddled with a propri-
etary API. This lock-in to vendor API wastes lot of development time and makes
maintenance extremely difficult, besides limiting portability.
In 1999, Sun Microsystems released the Java EE 2 platform to address the difficulties
in the development of distributed multitier enterprise applications. The platform was
based on Java Platform, Standard Edition 2, and as a result it had the benefit of “write
once, deploy and run anywhere.” The platform received tremendous support from the
open source community and major commercial vendors such as IBM, Oracle, BEA, and
others because it was based on specifications. Anyone could develop the services as long
as it conformed to the contract laid down in the specification. The specification and the
platform have moved on from there; the platform is currently based on Java Platform,
Standard Edition 5, and it is called Java Platform, Enterprise Edition 5. In this topic, we
will concentrate on this latest version, referred to officially as Java EE 5.
Java EE Container Architecture
The Java EE platform provides the essential system services through a container-based
architecture. The container provides the runtime environment for the object-oriented
application components written in Java. It provides low-level services such as security,
transaction, life-cycle management, object lookup and caching, persistence, and net-
work communication. This allows for the clear separation of roles. The system
programmers can take care of developing the low-level services, and the application
programmers can focus more on developing the business and presentation logic.
Search WWH ::

Custom Search