Sun Java Enterprise System Deployment Planning Guide

Chapter 1 Introduction to Deployment Planning

This chapter provides a brief overview of Sun JavaTM Enterprise System (Java ES), discusses deployment planning concepts, and introduces the solution life cycle, which outlines the various steps for planning and designing enterprise software systems. This chapter contains the following sections:

About Java Enterprise System

Java Enterprise System is a software infrastructure that provides a complete set of middleware services to support enterprise applications distributed across a network or Internet environment. The Java Enterprise System components that provide the services are installed using a common installer, synchronized on a common set of shared libraries, and share an integrated user identity and security management system.

System Services

The main infrastructure services provided by Java Enterprise System components can be categorized as follows:

The following table lists the preceding service categories and specifies the Java Enterprise System components that provide services for each category.

Table 1–1 Java Enterprise System Service Categories

Service Category 

Java Enterprise System Components 

Portal services 

Portal Server, Portal Server Secure Remote Access, Access Manager, Directory Server, Application Server or Web Server 

Communication and collaboration services 

Messaging Server, Calendar Server, Instant Messaging, Access Manager, Directory Server, Application Server or Web Server 

Network identity services 

Access Manager, Directory Server, Web Server 

Web and application services 

Application Server, Message Queue, Web Server 

Availability services 

Sun Cluster, Sun Cluster Agents 

For more information about Java Enterprise System services, components, and Java Enterprise System architectural concepts, refer to the Sun Java Enterprise System 5 Technical Overview.

Built-In Services and Custom-Developed Services

Deployment solutions based on Java Enterprise System typically fall into two general categories:

The 80:20 and 20:80 categories are broad generalizations. The exact percentage of the type of services offered is not important. However, the percentage indicates the amount of customization a solution contains.

Java Enterprise System is well suited for 80:20 deployments because of the rich set of services provided by Java ES. For example, it is relatively easy to deploy an enterprise-wide communications system or an enterprise-wide portal system using services provided by Java Enterprise System.

For deployments that require custom development, Java Enterprise System supports the creation and integration of custom-developed services and applications.

Most of the service categories listed in System Services can be used to deliver 80:20 deployments. For example, communications and collaboration services provide email, calendar, and instant messaging services to end users, allowing them to aggregate and personalize the content. Similarly, the network identity and enterprise portal categories of services allow you to install and configure enterprise-wide applications without developing or integrating custom services.

Enterprise solutions that require custom development of J2EE platform services can leverage Application Server, Message Queue, or Web Server which are provided with Java Enterprise System web and application services.

Enterprise deployments can vary greatly in the number of custom-developed services they require. Because of the interoperability between Java Enterprise System services, you can create your own suite of services tailored to your particular enterprise needs.

Migrating to Java Enterprise System

The planning, designing, and implementing of an enterprise solution that uses Java Enterprise System depends largely on your current deployment strategy. For enterprises that are planning a first-time deployment solution, the planning, design, and implementation is driven largely by the specific needs of your enterprise. However, first-time deployments solutions are not typical. More likely are solutions that use Java Enterprise System to enhance existing enterprise solutions or to upgrade from earlier versions of Java Enterprise System components.

When replacing or upgrading existing solutions, you must take additional planning, design, and implementation steps to ensure that existing data is preserved and that software is properly upgraded to current versions. As you proceed through the analysis and design outlined in this guide, keep in mind the preparation and planning required to replace and upgrade existing software systems.

For more information about upgrading to the current version of Java Enterprise System and strategies for migration from other applications, refer to the Java Enterprise System Upgrade and Migration Guide.

About Deployment Planning

Deployment planning is a critical step in the successful implementation of a Java Enterprise System solution. Each enterprise has its own set of goals, requirements, and priorities to consider. Successful planning starts with analyzing the goals of an enterprise and determining the business requirements to meet those goals. The business requirements must then be converted into technical requirements that can be used as a basis for designing and implementing a system that can meet the goals of the enterprise.

Successful deployment planning is the result of careful preparation, analysis, and design. Errors and missteps that occur anywhere during the planning process can result in a system that can misfire in many ways. Significant problems can arise from a poorly planned system. For example, the system could under-perform, be difficult to maintain, be too expensive to operate, could waste resources, or could be unable to scale to meet increasing needs.

Solution Life Cycle

The solution life cycle shown in the following figure depicts the steps in the planning, design, and implementation of an enterprise software solution based on Java Enterprise System. The life cycle is a useful tool for keeping a deployment project on track.

Figure 1–1 Solution Life Cycle

Diagram shows the Business Analysis, Technical Requirements,
Logical Design, Deployment Design, Deployment Implementation, and Operations
phases.

The life cycle consists of ordered phases. Each phase consists of related tasks that result in outputs that are carried forward as inputs to subsequent phases. The tasks within each phase are iterative, requiring thorough analysis and design before generating the outputs for that phase. The early phases can be iterative also. For example, during the deployment design phase, you might discover that the analysis in earlier phases is insufficient and requires more work.

The following sections in this chapter briefly describe each life cycle phase.

Business Analysis Phase

During business analysis, you define the business goals of a deployment project and state the business requirements that must be met to achieve those goals. When stating the business requirements, consider any business constraints that might affect the ability to achieve the business goal. Throughout the life cycle, you measure the success of your deployment planning, and ultimately your deployment solution, according to the analysis performed in the business analysis phase.

During the business analysis phase you create business requirements documents that you later use as inputs to the technical requirements phase.

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 and business constraints defined during the business analysis phase and translates them into technical specifications that can be used to subsequently design the deployment architecture. The technical requirements specify quality of service (QoS) features, such as performance, availability, security, and others.

During the technical requirements phase, you create documents that contain the following information:

The resulting usage analysis, use cases, and QoS requirements documents are inputs to the logical design phase of the solution life cycle. The usage analysis also plays a significant role in the deployment design phase.

During the technical requirements phase, you might also specify service level requirements that are the basis for subsequently creating service level agreements (SLA). Service level agreements specify the terms under which customer support must be provided to maintain the system and are generally signed as part of project approval in the deployment design phase.

For more information on technical requirements, refer to Chapter 3, Technical Requirements

Logical Design Phase

During logical design, using use cases from the technical requirements phase as inputs, you identify the Java Enterprise System components necessary to implement a solution. You identify components that provide support to those Java ES components, and also identify any additional custom-developed components necessary to meet the business requirements. You then map the components within a logical architecture that shows the interrelationships among the components. The logical architecture does not specify any hardware required to implement the solution.

The output of the logical design phase is the logical architecture. The logical architecture by itself is not sufficient to begin deployment design. You also need the QoS requirements from the technical requirements phase. The logical architecture and the QoS requirements from the technical requirements phase form a deployment scenario. This deployment scenario is the input to the deployment design phase.

For more information on logical design, refer to Chapter 4, Logical Design

Deployment Design Phase

During deployment design, you map the components specified in the logical architecture to a physical environment, producing a high-level deployment architecture. You also create an implementation specification, which provides low-level details specifying how to build the deployment architecture. Additionally, you create a series of plans and specifications that detail different aspects of implementing the software solution.

Project approval occurs during the deployment design phase. During project approval, the cost of the deployment is assessed. If approved, contracts for implementation of the deployment are signed, and resources to build the project are acquired. Often, project approval occurs after the implementation specification has been detailed. However, approval can also occur upon completion of the deployment architecture.

The outputs of the deployment design phase include the following:

For more information about deployment design, refer to Chapter 5, Deployment Design

Implementation Phase

During the implementation phase, you work from specifications and plans created during deployment design to build the deployment architecture and implement the solution. Depending on the nature of your deployment project, this phase includes some or all of the following tasks:

For more information on the implementation phase, refer to Chapter 6, Implementation of a Deployment Design

Operations Phase

The operations phase covers tasks necessary to keep the implementation of the deployment running smoothly. This phase includes the following:

Details about the operations phase are out of scope for this guide.