Sun ONE Application Server 7, Enterprise Edition Migrating and Redeploying Server Applications Guide |
Chapter 1
Migration ConsiderationsThis chapter provides an overview of the enhancements available in Sun Open Net Environment (ONE) Application Server 7, Enterprise Edition.
Why Migrate?Sun ONE Application Server incorporates the latest Java technologies in an easy-to-use, developer-friendly package. The Application Server product leverages over six years of Sun expertise in delivering highly scalable application server technology, enabling developers to rapidly build robust applications that are based on JavaServer Pages (JSP) technology, Java Servlet, and Enterprise JavaBeans (EJB) technology. This technology supports a broad range of business requirements from small departmental applications to enterprise-scale, mission-critical services.
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.
Advantages in Sun ONE Application Server 7The Sun ONE Application Server 7 core introduces a wide variety of new features that enhance both the developer and operational experience.
All of these new features are included in all editions of the product.
Developer Features
The Sun ONE Application Server 7 distribution includes the following developer features:
- Java 2 Enterprise Edition 1.3 Compatible including
- Java 2 Platform, Standard Edition (J2SE platform) 1.4
- Integrated Java Web Services
- Updated Sun ONE Studio Integration with seamless debugging and deployment
- Dynamic (“Hot”) Deployment and Reloading
- JSP Source-level Debugging
- Greatly Enhanced Container Managed Persistence (CMP) Support
- Easy-to-configure, XML-based Server Configuration
- Lifecycle Listener Classes (sophisticated startup and shutdown classes)
- Integrated J2EE Application Verification Utility
- Extensive Sample Applications
- Ant Build Facility Integration
- Easy Installation with Minimal Dependencies (no separate web server or directory server required)
Operational Features
The Sun ONE Application Server 7 distribution includes the following operational features:
- Integrated, High-Performance HTTP Server
- Integrated, Proven Sun ONE Message Queue 3.0, Platform Edition as the JMS Provider
- Virtual HTTP Server Support for Web Applications
- Multiple Administration Domains per Install Image (Separate application server configurations from single install image.)
- Web-based Administration
- Proxy Plug-in for redirecting requests from web server to application server
- Full-featured, Remotable Command-line Interface Supporting Remote Monitoring
- Pluggable Authentication Based on Java Authentication and Authorization Service (JAAS)
- Improved Logging with multiple log levels
- Platform-specific packaging with SVR4 style packages for Solaris
- Remote web-based Administration interface
- Rights to use bundled Sun ONE Directory Server for User Authentication and limited application configuration
- Load Distribution by redirecting URIs configured on the web server to a different application server
- Remote monitoring using the SNMP monitoring facilities
See Sun ONE Application Server 7, Enterprise Edition Platform Summary for more information.
Additional Features in Enterprise EditionSun ONE Application Server 7, Enterprise Edition provides the following features over the standard edition:
High Scalability Through Clustering
You can add multiple instances of Sun ONE Application Server to a single machine, thereby increasing the capacity of the system without degrading performance. Application Server instances can be distributed over many machines and can be grouped together in ‘clusters’ for easy manageability.
High Performance Through Load Balancing
Dynamic load balancing of the various instances or individual instances within clusters, ensures optimum performance of Sun ONE Application Server and your J2EE applications. Since the load balancing configuration can be dynamically reloaded, there will be no disruption in service as you add more instances to a cluster.
High Availability Through Failover
Sun ONE Application Server 7, Enterprise Edition provides a highly available and reliable solution through the use of load balancing and a sophisticated failover mechanism.
In addition, the bundled High Availability Database ensures that HTTP/S session information are securely stored.
These enhanced features, along with the High-Availability Database server, lets you provision for a 24x7x365 service for your J2EE applications.
Migration StrategyThis section discusses the application components that needs to be migrated. For a detailed migration walk through of the migration process, see Chapter 5, "Migrating iBank Application - Walkthrough." For planning your hardware and software requirements, see Chapter 4, "Installation, Administration, and Deployment."
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 Containing Proprietary API’s
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 Containing Proprietary API’s
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.
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.