- J2EE Architectures
Now that we've discussed some of the high-level issues in J2EE design, let's look at some alternative architecture for J2EE applications.
First, let's consider some concepts shared by all J2EE architectures.
Architectural Tiers in J2EE Applications
Each of the architectures discussed below involves three major tiers, although some introduce an additional division within the middle tier.Experience has shown the value of cleanly dividing enterprise systems into multiple tiers. This ensures a clean division of responsibility.The three-tier architecture of J2EE reflects experience in a wide range of enterprise systems. Systems with three or more tiers have proven more scalable and flexible than client server systems, in which there is no middle tier.
In a well-designed multi-tier system, each tier should depend only on the tier beneath it. For example, changes to the database should not demand changes to the web interface.
Concerns that are unique to each tier should be hidden from other tiers. For example, only the web tier in a web application should depend on the servlet API, while only the middle tier should depend on enterprise resource APIs such as JDBC. These two principles ensure that applications are easy to modify without changes cascading into other tiers.
Let's look at each tier of a typical J2EE architecture in turn.
Enterprise Information System (EIS) Tier
Sometimes called the Integration Tier, this tier consists of the enterprise resources that the J2EE application must access to do its work. These include Database Management Systems (DBMSs) and legacy mainframe applications. EIS tier resources are usually transactional. The EIS tier is outside the control of the J2EE server, although the server does manage transactions and connection pooling in a standard way.
The J2EE architect's control over the design and deployment of the EIS tier will vary depending on the nature of the project (green field or integration of existing services). If the project involves the integration of existing services, the EIS tier resources may impact on the implementation of the middle tier.
J2EE provides powerful capabilities for interfacing with EIS-tier resources, such as the JDBC API for accessing relational databases, JNDI for accessing directory servers, and the Java Connector Architecture (JCA) allowing connectivity to other EIS systems. A J2EE server is responsible for the pooling of connections to EIS resources, transaction management across resources, and ensuring that the J2EE application doesn't compromise the security of the EIS system.
- 上一篇：Using Java 5 language features in earlier JDK
- 下一篇：The estate management outline