Sun Java Enterprise System Deployment Planning White Paper |
Chapter 1
Introduction to Deployment PlanningThis white paper provides an introduction to planning large scale deployments based on Sun Java Enterprise System. It presents some basic concepts and principles of deployment planning and introduces a number of processes that you can use as a starting point when designing enterprise-wide deployments.
If you are evaluating Java Enterprise System or planning to create and deploy large scale applications based on Java Enterprise System, use this paper as a guide to the deployment planning process.
This chapter provides a brief overview of Java Enterprise System and introduces concepts on deployment planning that are discussed in later chapters. This chapter contains the following sections:
About Java Enterprise SystemThe Java Enterprise System is a software infrastructure that provides services to support enterprise-strength applications distributed across a network or Internet environment. The following table lists the components of the Java Enterprise System and the infrastructure services they provide.
Java Enterprise System Suites of Services
Java Enterprise System deployments typically fall into two general categories, those consisting primarily of services provided by Java Enterprise System and those that integrate a significant number of custom developed services and third party applications. You can think of the former type of deployment as an 80:20 deployment (80% of the services are provided by Java Enterprise System) and similarly, the latter as a 20:80 deployment.
The following table groups Java Enterprise System components into suites that can deliver enterprise deployments. Some components are in more than one suite.
Most of the suites in Table 1-2 above can deliver 80:20 type of deployments. For example, the Enterprise Communications and Collaboration suite can be used to create a deployment that provides email, calendar, and instant messaging services to end users, allowing them to aggregate and personalize the content. Similarly, the Network Identity and Enterprise Portal suites allow you to install and configure enterprise-wide applications without having to develop or integrate custom services.
The Availability Services suite provides high availability to large scale deployments of enterprise applications. Use the Web and Application Services suite if your enterprise application requires custom development of J2EE platform services that run in an application server or web server.
Because of the interoperability between Java Enterprise System services, you can create your own suite of services tailored to your particular enterprise needs.
Advantages of Java Enterprise System
Enterprise deployments have three keys to success.
Java Enterprise System provides you with the tools to address each of these keys to success, as indicated in the following table.
About Deployment PlanningSuccessful deployment planning is the result of careful preparation, analysis, and design through a series of phases, as illustrated in the following figure.
Figure 1-1 Deployment Planning Phases
Each phase depicted in Figure 1-1 has its own set of analyses and procedures that results in specifications and designs carried forward to subsequent phases. The following sections in this chapter provide a summary description of each deployment planning phase.
Business Analysis Phase
During the business analysis phase you define the business goal of a deployment project and state the business requirements that must be met to achieve that goal. When stating the business requirements, consider any business constraints that might impact the ability to achieve the business goal. The business analysis phase results in a business requirements document that you later use in the technical requirements phase and against which you later measure the success of the deployment design.
For more information on the business analysis phase, refer to Chapter 2, "Business Analysis".
Technical Requirements Phase
The technical requirements phase starts with the business requirements you create during the business analysis phase and translates these requirements into technical specifications that can be used to design the deployment architecture. During the technical requirements phase you prepare the following information:
The resulting set of usage analysis, use cases, and system requirements documents are inputs to the logical design phase.
During technical requirements analysis, you might also specify service level requirements, which are the terms under which customer support must be provided to remedy a deployed system failure to meet system requirements. Service level requirements are the basis for service level agreements signed during project approval.
For more information on the technical requirements phase, refer to Chapter 3, "Technical Requirements".
Logical Design Phase
Deployment design begins in the logical design phase. In this phase, you design a logical architecture that represents the Java Enterprise System services and dependencies that satisfy the use cases you identified during the technical requirements phase.
The logical architecture, together with the system requirements document, characterize a deployment scenario. The logical architecture does not specify the actual hardware required to implement the deployment scenario.
For more information on the logical design phase, refer to Chapter 4, "Designing the Logical Architecture".
Deployment Design Phase
In the deployment design phase, you create a deployment architecture that represents a mapping of the deployment scenario to a physical environment. The physical environment is the network infrastructure for the deployment and includes computing nodes, hardware requirements for each node, firewalls, and other devices on the network.
The process of mapping consists of sizing the deployment to specify the actual hardware needed to fulfill system requirements and determining a strategy to optimize the deployment architecture to meet budget considerations.
Approval for a deployment project typically follows the creation of the deployment architecture. During project approval, the cost of the deployment is assessed, and if approved, contracts for implementation of the deployment are signed, and resources to build the project acquired.
A detailed design specification is also part of the deployment design phase. The design specification provides details needed to implement the deployment architecture, such as the actual hardware, operating systems, network design, and other aspects of a physical environment. The detailed design specification also includes specifying directory services data structures needed to provision users for access to system services. Depending on the processes and policies for your deployment project, design specification occurs before or after project approval.
For more information on the deployment design phase, refer to Chapter 5, "Designing a Deployment Architecture".
Implementation Phase
During the implementation phase, you build out the deployment architecture. Depending on the nature of your deployment project, this phase includes some or all of the following steps:
- Creating and deploying pilot and/or prototype deployments in a test environment
- Designing and running functional tests to measure compliance with system requirements
- Designing and running stress tests to measure performance under peak loads
- Creating a production deployment, which might be phased into production in stages
Once a deployment is in production, you need to continue to monitor, test, and tune the deployment to ensure that it fulfills the business goals.
For more information on the implementation phase, refer to Chapter 6, "Implementing a Deployment Design".