Sun Java Enterprise System 5 Technical Overview

Deployment Design

In the deployment design phase, you create a high-level deployment architecture followed by low-level implementation specifications.

Deployment Architecture

A deployment architecture is created by mapping the logical building blocks of an application (the logical architecture) to a physical computing environment in a way that meets the quality of service requirements specified in the deployment scenario. The deployment scenario is translated into a deployment architecture, as shown in the following figure.

Figure 4–3 Translating a Deployment Scenario into a Deployment Architecture

Diagram showing how a deployment scenario translates
into a deployment architecture.

One aspect of this architectural design is sizing the physical environment (determining the number of computers and estimating their processor power and RAM requirements) to meet performance, availability, security, and other quality of service requirements. Once the sizing is complete, you map Java ES components and application components to the various computers in the physical environment. The resulting deployment architecture must take into account the capabilities of different computers, characteristics of system infrastructure services, and restrictions on the total cost of ownership or total cost of availability.

The larger the number of Java ES components in the deployment scenario and the more demanding your quality of service requirements, the more demanding your design is on high-power computers and high network bandwidth. Where hardware is limited or prohibitively expensive, you might need to assess trade-offs between fixed costs (hardware) and variable costs (human resource requirements) or between different quality of service requirements, or you might have to increase the sophistication of your design.

The design of a deployment architecture often evolves in an iterative fashion. Reference deployment architectures serve as a starting point Java ES deployment design.

A reference architecture is based on a specific deployment scenario: a logical architecture with specific quality of service requirements. In the reference architecture, a software solution is deployed across a specific physical environment in a way that meets specified quality of service requirements. Performance testing at specified loads is based on the same set of use cases from which the deployment scenario was developed. Reference architecture documentation is available to Java ES customers under non-disclosure.

Based on a reference deployment architecture or a combination of reference architectures, you can design a first approximation of a deployment architecture that meets your own deployment scenario requirements. You can adjust the reference architectures or use them as reference points, taking into account the difference between your own deployment scenario and those upon which the reference architectures are based. In this way, you can assess the impact of your own sizing, performance, security, availability, capacity, and serviceability needs.

Implementation Specifications

Implementation specifications provide details needed to implement a deployment architecture. The specifications generally include the following information:

Implementation Plans

Implementation plans describe how you plan to perform the various tasks in the deployment implementation phase. The plans generally cover the following tasks: