Sun ONE logo      Previous      Contents      Index      Next     

Sun ONE Application Server 7 Migrating and Redeploying Server Applications Guide

Chapter 1
About Sun ONE Application Server 7

This chapter describes the architecture of the Sun™ ONE Application Server 7 and the J2EE components that are integral to the server environment. In addition, the differences between the Sun ONE Application Server 7 environment and earlier Sun ONE Application Server environments are described.

The following topics are addressed:


Sun ONE Application Server 7 Architecture

Application servers provide the framework for a client to connect to a backend source, execute the application logic, and return the result to the client. The application server occupies the middle-tier in the three-tier computing model.

The Sun ONE Application Server 7 is a Java application server and is fully compliant with the Java 2 Enterprise Edition (J2EE™) specifications. J2EE provides a complete, secure foundation and describes a rich set of standards for security, development, deployment, code re-use and portability that allows the enterprise to create applications that are portable and vendor independent.

The Sun ONE Application Server 7 provides a robust J2EE platform for the development, deployment, and management of e-commerce application services to a broad range of servers, clients, and devices.

Sun ONE Application Server 7 is a J2EE 1.3 compliant application server.

The key goals of this architecture are horizontal and vertical scalability, high availability, reliability, performance, and standards compliance. Sun ONE Application Server 7 is also a significant architectural departure from the first generation of Sun ONE application server products. By combining existing and strong Sun ONE products and technologies with the J2EE 1.3 standards, Sun ONE Application Server 7 architecture is built upon a proven framework of technologies.

Figure 1-1  Sun ONE Application Server 7 Architecture

Figure shows Sun ONE Application Server 7 archtiecture.

The Sun ONE Application Server architecture is graphically represented in the figure Sun ONE Application Server 7 Architecture. The architecture shows the Sun ONE Application Server components, sub-systems, access paths and how external entities interface with the core server.

Sun ONE Application Server 7 architecture, is highly componentised which results in a very highly manageable architecture. All the services required by the J2EE specification are present with well-defined standard interfaces to invoke them from within applications.

The web user interface, new in Sun ONE Application Server 7, provides for easy remote server management. In fact, the server is designed such that one administration server could be used to administer multiple numbers of administered servers. The task of creating a new administered server instance has been greatly simplified in this new version.

Support for the type 2 JDBC drivers bundled along with the earlier versions of Sun ONE Application Server has been withdrawn. As a result of this, the platform has moved towards a more standardized approach to JDBC resource management.

By using the JDK 1.4 for the server operation, Sun ONE Application Server utilizes the enhanced abilities of this newer version of JDK to its advantage.

A typical J2EE application is composed of an n-tier system in which a client obtains processed information from a Web server or an application server. The servers in turn access the information from enterprise systems such as RDBMS or ERP, process them by using contained business logic, and deliver the processed information to the client in an appropriate format. These layers can be designated as client layer (Web browser or rich Java client), middle layer (Web servers and application servers), and the back-end layer or data layer (enterprise systems such as databases).

The J2EE application model within the Sun ONE Application Server allows developers to focus on the business logic while J2EE components handle all the low level details. Therefore, applications and services can be easily enhanced and rapidly deployed, allowing business to quickly react to competitive changes. By providing an open standard architecture through the J2EE Platform, Sun ONE Application Server solves the problem of the cost and complexity in developing multi-tiered services that are scalable, highly available, secure and reliable.


J2EE Component Standards

Sun ONE Application Server 7 is a J2EE v1.3 compliant server based on the component standards developed by the Java community for Servlets, Java Server Pages (JSPs), and Enterprise JavaBeans (EJBs).

In contrast to Sun ONE Application Server 7, Sun ONE Application Server 6.0/6.5 is a J2EE v1.2 compliant server. Between the two J2EE versions, there are considerable differences with the J2EE application component APIs.

The following table characterizes the differences between the component APIs used with the J2EE v1.3 compliant Sun ONE Application Server 7 and the J2EE v1.2 Sun ONE Application Server 6.0/6.5.

Table 1-1  Application Server Version Comparison of APIs for J2EE Components

Component API

Sun ONE Application Server 6.0/6.5

Sun ONE Application Server 7

JDK

1.2.2

1.4

Servlet

2.2

2.3

JSP

1.1

1.2

JDBC

2.0

2.0

EJB

1.1

2.0

JNDI

1.2

1.2

JMS

1.0

2.0

JTA

1.0

1.01

In addition, the two products support a number of technologies connected with XML standards and Web Services which, while not part of the J2EE specification, are mentioned in the following table due to the increasing usage of these standards in enterprise applications.

Table 1-2  Additional Application Server Supported Technologies

Technology

Sun ONE Application

Server 6.0/6.5

Sun ONE Application

Server 7

XML document processing
(API and XML parser)

JAXP 1.0,Apache Xerces

JAXP 1.1

SOAP/Java support for Web Services

SOAP 1.1 (IBM SOAP4J framework)

Apache SOAP 2.2, JAX-RPC 1.0, JAXM 1.1, JAXR 1.0


Development Environments

This section characterizes the differences between the development environments for the Sun ONE Application Server 6.0/6.5 and the Sun ONE Application Server 7. The following topics are described:

Sun ONE Application Server 6.0/6.5 Development Environment

Sun ONE Application Server 6.0/6.5 offers an evaluation version of Sun ONE Studio for Java, which is especially geared towards application development for this version of the Sun ONE Application Server.

It is a very complete development environment in Java, based on the NetBeans platform. This IDE provides an extremely rich range of features for designing and developing Java applications and EJB components. It also integrates through a plug-in with Sun ONE Application Server for assembly, deployment, and debugging of the various J2EE components of an application. It is available in both Windows and Solaris.

Of the third-party vendor solutions available on the market, the recently released Borland JBuilder 6 Enterprise is an extremely mature, comprehensive product, with the added advantage of being available on several platforms (Windows, Solaris, Linux, and MacOS X). In addition to its Java development features (servlets, JSP pages, EJB components, graphic applications), JBuilder also caters for UML design, unit testing, collaborative development, and XML development. Moreover, JBuilder integrates perfectly with mainstream application servers (including the Sun ONE Application Server) for assembly, deployment and debugging of Web applications and EJB components.

Sun ONE Application Server 7 Development Environment

The availability of a fully integrated development solution is key to the success of the Sun ONE Application Server 7. Sun ONE Studio for Java Enterprise Edition 4 is the Sun ONE strategic tool for Sun ONE application development.

Sun ONE Studio for Java 4 is provided with Sun ONE Application Server.

Some of the key features of Sun ONE Studio for Java Enterprise Edition 4 are:

As shown in the figure Sun ONE Studio Enterprise Edition and Sun ONE Application Server 7 Integration, the Sun ONE Application Server 7 integration module relies upon the NetBeans Open Source modules that are implemented from the Sun ONE Studio Close Source.

Figure 1-2  Sun ONE Studio Enterprise Edition and Sun ONE Application Server 7 Integration

Figure shows integrated relationship between Sun ONE Studio Enterprise Edition and Sun ONE Application Server 7


Administration Tools

This section characterizes the differences between the administration tools for the Sun ONE Application Server 6.0, Sun ONE Application Server 6.5, and the Sun ONE Application Server 7. The following topics are described:

Sun ONE Application Server 6.0 Administration Tools

Sun ONE Application Server 6.0 features a full set of graphical administration tools, which cover all the aspects of server management and administration

Sun ONE Application Server 6.5 Administration Tools

Sun ONE Application Server 6.5 can be administered using integrated Administration Tool, Sun ONE registry editor and command line tools, which are described below:

Sun ONE Application Server 7 Administration Tools

The Administration Server in Sun ONE Application Server 7 is a special instance of the Server that serves the Administrative interface and controls some global settings common to all server instances. It is a web-based server that contains the forms used to configure the Sun ONE Application Server.

This graphical tool allows you to manage your application server including viewing error and access logs, monitoring server usage, creating and editing virtual servers, apply configuration changes and start or stop server instances.

When you installed the Sun ONE Application Server, you chose a port number for the Administration Server, or used the default port of 4848. To access the Administrative interface, in a web browser type:

http://hostname:port/admin

You are prompted for the configured user name and password. Upon entering this information and clicking the OK button, the home page of the Administrative interface is displayed, as shown in the figure "Administrative Interface Home Page".

The left pane is a tree view of all items you can configure in the Sun ONE Application Server. To use the Administrative interface, click an item in the left pane. The right pane displays the page associated with that item.

You can access help for any page in the Administrative interface by clicking the Help button in the banner at the top of the Administrative interface. The online help describes the use of the page you are accessing and gives information about what to enter in the fields on the page.

Figure 1-3  Administrative Interface Home Page

Figure shows Administrative Interface Home Page

Sun ONE Application Server 7 contains a command line interface. You can use a utility and commands to perform the same set of tasks as you can perform in the Administrative interface. You can use these commands either from a command prompt in the shell, or you can call them from other scripts and programs. Using these commands you can automate administration tasks that otherwise might become repetitive.

Sun ONE Application Server 7 has a command line utility asadmin, which can be run from the command-line prompt on Windows and the shell prompt on Solaris. The asadmin utility has a set of commands used to perform administrative tasks. You can use these commands to perform all the same tasks that are performed from the Administrative Interface, from basic configuration to deploying an application. To get a complete description of any command, type help after entering the asadmin utility.

You can run asadmin either in singlemode or multimode. In singlemode you run one command at a time from the command prompt. In multimode you can run multiple commands without needing to reenter environment-level information.


Database Connectivity

This section describes type of drivers included in the Sun ONE Application Server 6.0, Sun ONE Application Server 6.5 and Sun ONE Application Server 7. This section also describes the database(s) supported by each type of driver.

The following topics are included:

Database Support in Sun ONE Application Server 6.0

Sun ONE Application Server 6.0 includes a series of type 2 JDBC drivers (which require installation of native client libraries for access to the corresponding DBMSs), which provide connectivity to the following main market database back-ends:

It is possible to use third-party Type 4 JDBC drivers, by declaring them via the Sun ONE Application Server Administration Tool, or via a specific, separate utility: db_setup.sh in Solaris, jdbcsetup in Windows.

JDBC data sources and connection pool properties can be added and configured from the Sun ONE Application Server Administrative interface, or from the iasdeploy command line utility. For the latter, an XML file is passed which defines the properties of the data source to be defined.

Database Support in Sun ONE Application Server 6.5

Sun ONE Application Server 6.5 provides a JDBC type 2 driver which supports a variety of databases, including:

Configuration of native JDBC drivers on Solaris can be done via a specific utility, db_setup.sh. On Windows, native drivers are automatically configured during installation if the database client libraries are present in your machine. If you install a database client library after Sun ONE Application Server installation, then restart Sun ONE Application Server to automatically configure the native drivers.

It is possible to use third-party Type 4 JDBC drivers, by declaring them via the Sun ONE Application Server Administration Tool, on Solaris as well as on Windows.

Sun ONE Application Server allows you to adjust database connectivity through connection parameters via the Sun ONE Application Server Administrative interface. The connection parameters are grouped in the following categories:

Database Support in Sun ONE Application Server 7

Sun ONE Application Server 7 has Type 2 and Type 4 XA capable JDBC 2.0 style drivers, which provide connectivity to the main market database back-ends:

All external JDBC compliant drivers are supported by Sun ONE Application Server.

JDBC data sources and connection pool properties can be added and configured from the Sun ONE Application Server Administration interface, or from the asadmin command line utility.

For details on configuring JDBC Data sources and connection pools, refer to the section "Using JDBC 2.0 Data Sources".


J2EE Application Components and Migration

J2EE simplifies development of enterprise applications by basing them on standardized, modular components, providing a complete set of services to those components, and handling many details of application behavior automatically, without complex programming. J2EE v1.3 architecture includes several component APIs. Prominent J2EE components include:

J2EE components are packaged separately and bundled into a J2EE application for deployment. Each component, its related files such as GIF and HTML files or server-side utility classes, and a deployment descriptor are assembled into a module and added to the J2EE application. A J2EE application is composed of one or more enterprise bean(s), Web, or application client component modules. The final enterprise solution can use one J2EE application or be made up of two or more J2EE applications, depending on design requirements.

A J2EE application and each of its modules has its own deployment descriptor. A deployment descriptor is an XML document with an .xml extension that describes a component’s deployment settings. An enterprise bean module deployment descriptor, for example, declares transaction attributes and security authorizations for an enterprise bean. Because deployment descriptor information is declarative, it can be changed without modifying the bean source code. At run time, the J2EE server reads the deployment descriptor and acts upon the component accordingly.

A J2EE application with all of its modules is delivered in an Enterprise Archive (EAR) file. An EAR file is a standard Java Archive (JAR) file with an .ear extension. The EAR file contains EJB JAR files, application client JAR files and/or Web Archive (WAR) files. The characteristics of these files are as follows:

Using modules and EAR files makes it possible to assemble a number of different J2EE applications using some of the same components. No extra coding is needed; it is just a matter of assembling various J2EE modules into J2EE EAR files.

The migration process is concerned with moving J2EE application components, modules, and files.

For more information on migrating various J2EE components please refer to Chapter 2, section "Migration Issues From Sun ONE Application Server 6.x to 7."

For more background information on J2EE, see the following references:


Migration and Redeployment

This section describes the need to migrate J2EE applications and the particular files that will need to be migrated. Following successful migration, a J2EE application can be redeployed to the Sun ONE Application Server. Redeployment is also described within this section.

The following topics are addressed:

Why is Migration Necessary

Although J2EE specifications broadly cover requirements for applications, it is nonetheless an evolving standard. It either does not cover some aspects of applications or leaves implementation details as the responsibility of application providers.

These product implementation-dependent aspects manifest as differences in the way application servers are configured and also in the deployment of J2EE components on application servers. The array of available configuration and deployment tools for use with any particular application server product also contribute to the product implementation differences.

The evolutionary nature of the specifications itself presents challenges to application providers. Each of the component APIs in turn are separately evolving. This leads to a varying degree of conformance by products. In particular, an emerging product such as Sun ONE Application Server, has to contend with differences in J2EE application components, modules, and files deployed on other established application server platforms. Such differences require mappings between earlier implementation details of the J2EE standard such as file naming conventions, messaging syntax, and so forth.

Moreover, product providers usually bundle additional features and services with their products. These features are available as custom JSP tags or proprietary Java API libraries.

Usage of such proprietary features render these applications non-portable.

What Needs to be Migrated

For migration purposes, the J2EE application consists of the following file categories:

Deployment descriptors (XML files)

Deployment is accomplished by specifying deployment descriptors (DDs) for EJBs (ejb-jar), front-end web components (war) and enterprise applications (ear). Deployment descriptors are used to resolve all external dependencies of the J2EE components/applications. The J2EE specification for DDs is common across all application server products. However, the specification leaves several deployment aspects of components pertaining to an application dependent on product-implementation.

JSP source files

J2EE specifies how to extend JSP by adding extra custom tags. Product vendors include some custom JSP extensions in their products, simplifying some tasks for developers. However, usage of these proprietary custom tags results in non-portability of JSP files. Additionally, JSP can invoke methods defined in other Java source files as well. The JSP’s containing proprietary API’s needs to be rewritten before they can be migrated.

Java source files

The Java source files can be Servlets, EJBs or other helper classes. The Servlets and EJBs can invoke standard J2EE services directly. They can also invoke methods defined in helper classes. Java source files are used to encode the business layer of applications such as EJBs.Vendors bundle several services and proprietary Java API with their products. The usage of proprietary Java API is the major source of non-portability in applications. Since J2EE is an evolving standard, different products may support different versions of J2EE component APIs. This is another aspect that migration will address.

Files within the above file categories need to be migrated to Sun ONE Application Server. The details on how to migrate each of the indicated file categories are provided in Migration Issues From Sun ONE Application Server 6.x to 7.

What is Redeployment

Redeployment refers to deploying a previously deployed application from an earlier version of Sun ONE Application Server, or from applications that were previously deployed, but migrated, from a competing application server platform.

The act of redeploying an application typically refers to using the standard deployment actions outlined in the Sun ONE Application Server Administrator’s Guide. However, when migration activities are performed with automated tools, such as the Sun ONE Migration Tool for Application Servers (for J2EE applications) or the Sun ONE Migration Toolbox (for NetDynamics and Netscape Application Servers), there might be post-migration or pre-deployment tasks that are needed (and defined) prior to deploying the migrated application.

For more information about the available migration tools, refer to Automating Migration.



Previous      Contents      Index      Next     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.