Sun Java Enterprise System Deployment Planning White Paper |
Chapter 4
Designing the Logical ArchitectureThis chapter discusses a process for creating a logical architecture and provides an example of the process using a set of use cases representative of those found in a communications deployment for a medium-sized enterprise.
The logical architecture identifies the Java Enterprise System components (and their dependencies) that provide the software services needed to meet the business goals of a deployment. Typically, use cases developed during the technical requirements phase indicate which software services are required. However, the information on software services can often be obtained directly from the business requirements derived during the business analysis phase.
The logical architecture, together with system requirements determined during requirements analysis, represent a deployment scenario. The deployment scenario is the basis for designing the deployment architecture. The following figure shows the relationship of the logical design phase to the business analysis, technical requirements, and deployment design phases.
Figure 4-1 Logical Design in Relation to Other Deployment Planning Phases
This chapter contains the following sections:
Deployment Planning ExampleTo help illustrate the deployment planning process, this section introduces use cases for an example deployment based on the communications needs of a typical medium-sized enterprise. This example deployment continues in later chapters of this white paper to illustrate various steps of deployment planning.
The example deployment begins with a set of use cases that are derived from typical business requirements for a communications deployment. The following table summarizes these use cases.
From these use cases, you can derive the services needed for the logical architecture, as described in following sections.
Java Enterprise System ServicesDesign of the logical architecture begins with an analysis of the use cases, which should help you determine the services required for the deployment. Using your knowledge of Java Enterprise System and previous design experience, lay out an initial logical design of Java Enterprise System components that provide the services identified by the use cases.
When laying out the components, consider the logical flow of data within the system and the dependencies between the components that provide the services. Your logical design should reflect these dependencies, which impact the flow of data between components in the design.
The following figure shows components provided with Java Enterprise System. Use this figure with Table 4-2 to understand the interdependencies of Java Enterprise System components. In general, components at the bottom of the figure provide support to components above them.
Figure 4-2 Java Enterprise System Components
The following table lists the actual interdependencies among Java Enterprise System components.
For example, to lay out the Java Enterprise System components for the example communications deployment, analyze the use cases listed in Table 4-1. The following table lists the components directly required for the deployment, as indicated by the use cases.
You also need to determine which Java Enterprise System components are needed to support the components listed in Table 4-3 above. The following table lists these additional components.
Logical Architecture for the Example DeploymentFigure 4-3 below shows the layout of components for the example deployment, indicating user entry points to the deployment. The figure places the service requiring the most support (Portal Server) at the top and lists supporting components beneath it, roughly reflecting the dependencies between the components (as described in Table 4-2). The figure does not depict the component providing the web container to support Portal Server and Identity Server because this dependency does not reflect the flow of data in the deployment.
Figure 4-3 Java Enterprise System Components in a Logical Architecture
Data Flow for the Example Deployment
Study the use cases to determine the logical flow of data between services in the logical architecture, and indicate this flow in the layout. The flow of data between the services in a system plays an important role when sizing for performance and availability, as described in Sizing a Planned Deployment.
The following figure depicts the flow of data for the example deployment. The data flow is determined from the use cases for the deployment as well as the Java Enterprise System service dependencies.
Figure 4-4 Logical Flow of Data for the Example Deployment
Figure 4-4 calls out the data flow that satisfies both use cases 1 and 2. This data flow represents the following:
The remaining data flows in Figure 4-4 are similarly derived from the use cases and server dependencies.
Deployment ScenarioThe completed logical architecture design and the system requirements derived during requirements analysis constitute the deployment scenario. The deployment scenario is the starting point for designing the deployment architecture, as explained in Chapter 5, "Designing a Deployment Architecture."