Sun Java logo     Previous      Contents      Index      Next     

Sun logo
Sun Java Enterprise System 2005Q1 Technical Overview 

Chapter 1
Introduction to Java Enterprise System

Sun Java™ Enterprise System (Java ES) is a set of software components that provide services needed to support enterprise-strength applications distributed across a network or Internet environment. These applications are referred to in this book as distributed enterprise applications.

Java Enterprise System also represents a Sun software release and delivery methodology and a business and pricing strategy. The focus of this book, however, is on the software components of Java Enterprise System and the services they provide.

This chapter introduces Java Enterprise System and the tasks involved in using the system. It covers the following topics:


Why Do You Need Java Enterprise System?

Today’s business requirements demand software solutions that are distributed across a network or Internet environment and have high levels of performance, availability, security, scalability, and serviceability.

Java Enterprise System provides infrastructure services needed to support such distributed enterprise applications, that is, applications that generally have the following characteristics:

Distributed enterprise applications require an underlying set of infrastructure services that allows their distributed components to communicate with each other, coordinate their work, implement secure access, and so forth. These infrastructure services are, in turn, supported by a hardware environment of computers and network links. This hardware environment includes SPARCŪ and x86 (Intel and AMD) hardware architectures.

The overall layering scheme is shown in the following figure. For the most part, Java Enterprise System provides the distributed infrastructure services layer shown in Figure 1-1. However, Java Enterprise System services also include a number of application-level services accessible to end users.

Figure 1-1  Support Needed for Distributed Enterprise Applications

Diagram showing how a distributed enterprise application sits on top of distributed infrastructure services, which in turn sit on a networked hardware environment.

Among the featured services provided by Java Enterprise System are the following:

Java Enterprise System also provides service that enhance availability, scalability, serviceability, and other application or system qualities. Among the quality of service features provided by Java Enterprise System are the following:

You can deploy one or more Java Enterprise System services, each of which might include a number of Java Enterprise System components.


Java Enterprise System Components

Java Enterprise System is an integration of previously discrete software products into a single software system. The components of this system have been tested together to ensure interoperability. Their integration is facilitated by a number of system-level features:

These features are described in subsequent chapters of this book. The focus of this section is to introduce the various components that are integrated into Java Enterprise System. These system components can be grouped into three main categories, as shown in the following illustration:

System Service Components

A number of Java Enterprise System components provide the main services that support distributed software solutions. These system services include portal services, communication and collaboration services, identity and security services, web container services, and J2EE application services.

The system service components that provide these distributed services, and the services they provide are briefly described in the following table. Each system service component is a multi-threaded server process capable of supporting a large number of clients. For more details on any component, see System Service Component Descriptions.

Table 1-1  Java ES System Service Components 

Component

System Services Provided

Sun Java System Access Manager

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 accounts, roles, groups, and policies.

Sun Java System Application Server

Provides J2EE 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 the Application Server a platform for the development and execution of e-commerce applications and web services. The Application Server also provides web container services.

Sun Java System 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.

Sun Java System 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.

Sun Java System 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.

Sun Java System 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.

Sun Java System Messaging Server

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

Sun Java System 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.

Sun Java System Web Server

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

Service Quality Components

In addition to the system service components shown in Table 1-1, Java Enterprise System includes a number of components used to enhance the quality of services provided by system service components or custom-developed application components. These service quality components fall into the following categories:

Availability Components

Availability components provide near-continuous uptime for system service components and application components. The availability components included in Java Enterprise System and the services that they provide are shown in the following table. For more details on any component, see Availability Component Descriptions.

Table 1-2  Java ES Availability Components 

Component

Availability Services Provided

Sun Cluster

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

High Availability Session Store

Provides a data store that makes application data, especially session state data, available even in the case of failure.

Access Components

Access components provide front-end access to system services, often secure access from Internet locations outside an enterprise firewall. In addition to providing such access, many provide a routing function as well. The access components included in Java Enterprise System and the services that they provide are shown in the following table. For more details on any component, see Access Component Descriptions.

Table 1-3  Java ES Access Components 

Component

Access Services Provided

Sun Java System Directory Proxy Server

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

Sun Java System Portal Server Secure Remote Access

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

Sun Java System Communications Express

Provides web-based access to Messaging Server, Calendar Server, and Directory Server, depending on configuration.

Sun Java System Connector for Microsoft Outlook

Provides desktop clients using Microsoft Outlook with an interface to both Messaging Server and Calendar Server.

Administrative Components

Administrative components provide management functions, such as configuration and monitoring, for system services. The administrative components included in Java Enterprise System and the services that they provide are shown in the following table. For more details on any component, see Administrative Component Descriptions.

Table 1-4  Java ES Administrative Components 

Component

Administrative Services Provided

Sun Java System Administration Server (and Console)

Provides a graphical administration tool that lets you configure and manage Directory Server and Messaging Server.

Sun Java System Directory Preparation Tool

Provides a script for configuring Directory Server with the schema needed to provision users for Messaging Server and Calendar Server.

Sun Java System Delegated Administrator

Provides both command-line and GUI tools for populating user entries in Directory Server with user attributes needed by Messaging Server and Calendar Server.

Sun Remote Services Net Connect

Provides a remote monitoring capability.

Shared Components

Java Enterprise System includes a number of locally installed shared libraries upon which many system service components and service quality components depend. Java Enterprise System shared components provide local services to Java Enterprise System components running on the same host computer.

Shared components are often used to provide portability across different operating systems. Examples of Java Enterprise System shared components include: Java 2 Platform, Standard Edition (J2SE™ platform), Netscape Portable Runtime (NSPR), Network Security Services (NSS), Network Security Services for Java (JSS), and so forth. For a complete list, see Shared Components.


Working With Java Enterprise System

Creating business solutions based on Java Enterprise System software involves a number of standard tasks. These tasks vary in scope and difficulty depending on your starting point for the adoption of Java Enterprise System and on the nature of the solution you are trying to create and deploy.

This section discusses two aspects of working with Java Enterprise System: the Java Enterprise System solution life cycle and the various adoption scenarios that are typically involved.

Java Enterprise System Solution Life Cycle

The tasks involved in creating business solutions based on Java Enterprise System software can be divided into several phases, as shown in Figure 1-3. The illustration also shows the category of Java Enterprise System user that generally performs the various tasks.

The life-cycle phases shown in Figure 1-3 can be divided into the following general groupings:

The solution life cycle and the tasks in each of the phases shown in Figure 1-3 are discussed more fully in Chapter 4, "Java Enterprise System Solution Life-Cycle Tasks."

Figure 1-3  Solution Life-Cycle Phases and User Categories

Diagram showing life-cycle phases and the categories of Java ES users that perform tasks associated with each phase.[D]

Figure 1-3 shows the Java Enterprise System users who typically perform the tasks shown for the life-cycle phases. If you are working with Java Enterprise System, your job should fit one or more of the user categories shown in Figure 1-3. The following table describes the skills and background for each category of user.

Table 1-5  Java ES User Categories for Life-Cycle Tasks  

User

Skills and Background

Phases

Business planner

System analyst

Has general rather than in-depth technical knowledge.

Understands strategic direction of the enterprise.

Knows business processes, objectives, and requirements.

Business analysis

Technical Requirements

Logical design

Architect

Is highly technical.

Has broad knowledge of deployment architectures.

Is familiar with latest technologies.

Understands business requirements and constraints.

Logical design

Deployment design

System integrator

Field engineer

System administrator

System manager

Is highly technical.

Is intimately familiar with information technology environments.

Is experienced in implementing distributed software solutions.

Knows network architecture, protocols, devices, and security.

Knows scripting and programming languages.

Deployment design

Deployment implementation

Specialized system administrator

Delegated administrator

Support engineer

Has specialized technical or product knowledge.

Is familiar with hardware, platforms, directories, and databases.

Is skilled at monitoring, troubleshooting, and upgrading software.

Knows system administration for operating system platforms.

Operations

Java Enterprise System Adoption Scenarios

The business needs that lead to the adoption of Java Enterprise System vary widely. However, the high-level goal for nearly every Java Enterprise System deployment fits into one of the following adoption scenarios:

Each adoption scenario has its own concerns and challenges. Regardless of which adoption scenario characterizes your situation, the solution life-cycle process shown in Figure 1-3 applies. Depending on your adoption scenario, however, the issues you need to address and the resources you need to invest in the life-cycle phases might vary.

The following concerns generally apply in varying degrees to the adoption scenarios:

The following table summarizes the nature of the concerns that apply to each of the Java Enterprise System adoption scenarios.

Table 1-6  Concerns Related to Different Java ES Adoption Scenarios

Adoption Scenario

Migration

Integration

Training

Hardware

New system

Not a concern

Relatively easy to integrate new components

Normally a significant concern

Trade-offs between equipment costs and labor costs.1

Enhancement

Can be a major concern

Need to integrate new components with existing system

Can be a significant concern

Can involve significant constraints due to existing equipment

Extension

Not normally a concern

Might need to integrate new components with existing system

Might be a significant concern

Generally requires new hardware with same trade-offs as with a new system

Upgrade

Can be a significant concern

Relatively easy to integrate upgraded components

Relatively minor concern

Relatively minor concern

1Using a few powerful computers generally increases equipment costs while requiring fewer IT resources. Using many smaller computers generally decreases equipment costs while requiring more IT resources.


Key Terms in This Chapter

This section explains key technical terms used in this chapter, with an emphasis on clarifying the relationships between these terms how they are used in the Java Enterprise System context.

adoption scenario     An overall reason for deploying Java Enterprise System software, characterizing the software system you start with and the goal you are trying to achieve. There are four basic Java Enterprise System adoption scenarios: new system, replacement, extension, and upgrade.

component     A unit of software logic from which distributed applications are built. A component can be one of the system components included in Java Enterprise System or an application component that is custom developed. An application component usually conforms to a distributed component model (such as CORBA and the J2EE™ platform) and performs some specific computing function. These components, singly or combined, provide business services and can be encapsulated as web services.

distributed enterprise application     An application whose logic spans a network or Internet environment (the distributed aspect) and whose scope and scale meet the needs of a production environment or service provider (the enterprise aspect).

end user     A person who uses a distributed application, often through a graphical user interface, such as an Internet browser or mobile device GUI. The number of concurrent end users supported by an application is an important determinant of the deployment architecture of the application.

service     A software function performed for one or more clients. This function might be at a very low level, such as a memory management, or at a high level, such as a credit check business service. A high-level service can consist of a family of individual services. Services can be local (available to local clients) or distributed (available to remote clients).

service quality component     One of a number of kinds of system components included in Java Enterprise System. Support components, which include access components and administrative components, provide support for system service components.

shared component     One of a number of kinds of system components included in Java Enterprise System. Shared components, usually libraries, provide local services to other system components. By contrast, a system service component provides distributed infrastructure services to other system components (or to application components).

system component     Any software package or set of packages included in the Java Enterprise System and installed by the Java Enterprise System installer. There are several kinds of system components: system service components that provide distributed infrastructure services, service quality components which support the system services components by providing access and administrative services, and shared components that provide local services to other system components.

system service     One or more distributed services that define the unique functionality provided by Java Enterprise System. System services normally require the support of a number of service quality components, a number of shared components, or some of both.

system service component     One of a number of kinds of system components included in Java Enterprise System. System services components provide the main Java Enterprise System infrastructure services: portal services, communication and collaboration services, identity and security services, web and application services, and availability services.



Previous      Contents      Index      Next     


Part No: 819-0061-10.   Copyright 2005 Sun Microsystems, Inc. All rights reserved.