Sun Java logo     Previous      Contents      Next     

Sun logo
Sun Java Enterprise System Deployment Planning White Paper 

Chapter 1
Introduction to Deployment Planning

This 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 System

The 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.

Table 1-1  Java Enterprise System Components 

System Component

Services Provided

Application Server

Provides Java 2 Platform, Enterprise Edition (J2EE™ platform) container services for Enterprise JavaBeans™ (EJB) components, such as session beans, entity beans, and message-driven beans. The container provides the infrastructure services needed for tightly-coupled distributed components to interact, making it a platform for the development and execution of e-commerce applications and web services. The Application Server also provides web container services.

Calendar Server

Provides calendar and scheduling services to end users and groups of end users. Calendar Server includes a browser-based client that interacts with the server.

Directory Proxy Server

Provides security services for Directory Server from outside a corporate firewall. Directory Proxy Server provides enhanced directory access control, schema compatibility, routing, and load balancing for multiple Directory Server instances.

Directory Server

Provides a central repository for storing and managing intranet and Internet information such as identity profiles (employees, customers, suppliers, and so forth), user credentials (public key certificates, passwords, and pin numbers), access privileges, application resource information, and network resource information.

Identity Server

Provides access management and digital identity administration services. Access management services include authentication (including single sign-on) and role-based authorization for access to applications and/or services. Administration services include centralized administration of individual user profiles, roles, groups, and policies.

Instant Messaging

Provides secure, real-time communication between end users, such as instant messaging (chat), conferencing, alerts, news, polls, and file transfer. The service includes a presence manager that tells users who is currently on line and includes a browser-based client that interacts with the server.

Message Queue

Provides reliable, asynchronous messaging between loosely-coupled distributed components and applications. Message Queue implements the Java Message Service (JMS) API specification and adds enterprise features such as security, scalability, and remote administration.

Messaging Server

Provides secure, reliable, high-capacity store-and-forward messaging that supports email, fax, pager, voice, and video. It can concurrently access multiple message stores and provides content filtering to help reject unsolicited email and prevent virus attacks.

Portal Server

Provides key portal services, such as content aggregation and personalization, to browser-based clients accessing business applications or services. Portal Server also provides a configurable search engine.

Secure Remote Access

Provides secure, Internet access from outside a corporate firewall to Portal Server content and services, including internal portals and Internet applications.

Web Server

Provides J2EE platform web container services for Java web components, such as Java Servlet and JavaServer Pages™ (JSP™) components. The Web Server also supports other web application technologies for delivering static and dynamic web content, such as CGI scripts and Active Server Pages.

Sun Cluster

Provides high availability and scalability services for the Java Enterprise System, the applications that run on top of the Java Enterprise System infrastructure, and the hardware environment in which both are deployed.

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.


Note

Actual enterprise deployments can vary greatly in the amount of custom developed services they require.

Java Enterprise System is particularly suited to 80:20 deployments because of its rich set of services it. For example, it is relatively easy to deploy an enterprise-wide communications system or an enterprise-wide portal system.

However, for deployments requiring custom development, Java Enterprise System provides the ability to create and integrate custom developed services and applications.


The following table groups Java Enterprise System components into suites that can deliver enterprise deployments. Some components are in more than one suite.

Table 1-2  Java Enterprise System Suites of Services 

Suite

Java Enterprise System Components

Network Identity Services

Identity Server
Directory Server
Web Server

Enterprise Portal Services

Portal Server
Secure Remote Access
Identity Server
Directory Server
Application Server or Web Server

Enterprise Communication and Collaboration Services

Messaging Server
Calendar Server
Instant Messaging
Identity Server
Directory Server
Application Server or Web Server

Web and Application Services

Application Server
Message Queue
Web Server

Availability Services

Sun Cluster 3.1 4/04
Sun Cluster Agents

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.

Table 1-3  Java Enterprise System Advantages 

Advantage

Description

Simple to use

Java Enterprise System provides a common installer, which makes it easy to install, configure, and upgrade.

Java Enterprise System provides a shift from integrating independently developed, single products and middleware to a system of integrated platform services that can be deployed and configured with little customization.

Predictable

The Java Enterprise System release cycle takes into account compatibility among the Java Enterprise System components. When you upgrade to a new release, you can avoid incompatibility and misalignment between the components.

Java Enterprise System components use a set of shared platform components, which makes it easier for services to interoperate.

Java Enterprise System delivery model of scheduled releases provides predictability in deployment planning.

Affordable

Java Enterprise System single unit pricing model for commercial licenses reduces the complexity and cost of installing and upgrading a deployment. The single unit price includes support, maintenance, and consulting services.

Other pricing models for OEM and education licenses are available.


About Deployment Planning

Successful 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

Diagram showing the order of the Business Analysis, Technical Requirements, Logical Design, Deployment Design, and Implementation 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:

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".



Previous      Contents      Next     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.