The Sun Java System Application Server Enterprise Edition 8.2 is a J2EE 1.4 platform-compatible server for the development and deployment of J2EE applications and Java technology-based web services in large-scale production environments.
This chapter includes the following sections:
The Application Server Enterprise Edition 8.2 includes the following enhancements:
Improved Administration – The Application Server supports the remote secure management of complex multisystem enterprise deployments by using either a browser-based console or a scriptable command-line interface. The Application Server also provides a rich JMX based API allowing remote, secure, programmatic access to administrative and monitoring functions.
Message Broker – The Application Server includes an integrated enterprise-class message broker that provides highly available, reliable, high-performance, and scalable messaging.
Message Queue 3.7 UR 1 – The Application Server now implements MQ 3.7 UR 1.
Expanded Platform Support – Additional operating systems, databases, locales, and hardware are supported.
Sun Java Enterprise System – As a key component of the Sun Java Enterprise System, the Application Server is tightly integrated with portal and network identity services.
Migration and Upgrade Tools – These tools enable you to verify J2EE applications for standards conformance and portability, help with migrations from other J2EE Application Servers (JBoss, WebLogic, WebSphere), and aid in upgrading from previous versions of Sun ONE Application Server/ iPlanet Application Server.
Java 2 Standard Edition 5.0 Support – The Application Server supports the Java 2 Standard Edition 5.0, which includes enhanced management and monitoring features and many performance and scalability improvements.
Java Web Services Developer Pack 1.6 (JWDSP) Plugin Support – All JWSDP plug-ins are now supported. The JWSDP 1.6 can be downloaded for free from http://java.sun.com/webservices/downloads/1.6/index.html.
Java DB Database Support – Application Server includes the Java DB database, based onApache Derby. Backward compatibility with Pointbase database is maintained, but any new databases created on the server will use Java DB by default. After an upgrade from Application Server 8.1 PE or 8.1 EE, existing domains will continue to use Pointbase database, but any new domain created after the upgrade will use Java DB.
JDBC Drivers – The Application Server ships with Sun JDBC drivers.
Web Services Security – These container message security mechanisms implement message-level authentication (for example, XML digital signature and encryption) of SOAP web services invocations by using the X509 and username and password profiles of the OASIS WS-Security standard.
WS-I Basic Profile 1.1 – As mandated by the J2EE 1.4 specification, this release implements Web Services Interoperability (WS-I) Basic Profile 1.1 to enable interoperability for web services applications.
Backend Connectivity with iWay Adapters – Sun Microsystems now resells and supports 22 iWay adapters to key backend systems (SAP, Siebel, Oracle, CICS, and IBM MQ Series) to help you leverage existing IT applications from within the Application Server environment. These adapters support the J2EE Connector Architecture 1.5 specification and Web services (SOAP) standards, and include developer tools to reduce time to connect to backend applications.
Latest HADB Management System – The UNIX® platforms contain the new high-availability database (HADB) management system (HADB version 4.4.2–7), which includes a database server, ODBC 2.5 driver, JDBC 3.0 type 4 driver, clusql (an interactive program to enter and execute SQL statements), and a management system. This version eliminates the dependency on SSH or RSH, but requires that the network be configured for UDP multicast. See the Sun Java System Application Server Enterprise Edition 8.2 High Availability Administration Guide for the details about HADB requirements and limitations.
Dynamic Content Technology Support Discontinued – Dynamic content technologies, such as CGI and SHTML, are no longer supported.
This section lists the requirements that must be met before installing the Sun Java System Application Server Enterprise Edition 8.2 product.
The following table lists the operating systems that are supported for Sun Java System Application Server Enterprise Edition 8.2 product. Additionally, the minimum and recommended memory requirements are identified for installing and running the Application Server.
Table 2–1 Sun Java System Application Server 8.2 Platform Requirements
Operating System |
Minimum Memory |
Recommended Memory |
Minimum Disk Space |
Recommended Disk Space | |
---|---|---|---|---|---|
Windows 2000 Advanced Server SP4 Windows XP SP2 Windows 2003 Enterprise Server SP1 (32 bit) Windows 2003 Enterprise Server SP1 (64 bit) |
1 GB |
2 GB |
500 MB free |
1 GB free |
J2SE 1.4.2_10, J2SE 5_06 |
You must use the NTFS file system rather than FAT or FAT32 when running the Application Server on any Microsoft Windows platform.
For the current list of required patches for Sun Java System Application Server Enterprise Edition 8.2, see http://sunsolve.sun.com and search for “app server 8.1 patch.” Follow the Sun Java System Application Server Enterprise Edition 8.2 links. As operating system patch requirements change and patches to Java Enterprise System components become available, updates will be made available on the SunSolveSM web site, initially in the form of recommended patch clusters.
The Sun Java System Application Server is designed to support connectivity to any DBMS with a corresponding JDBC driver. For a list of components that Sun has tested and found to be acceptable for constructing J2EE compatible database configurations, refer to the following table.
Table 2–2 J2EECompatible JDBC Drivers
JDBC Vendor |
JDBC Driver Type |
Supported Database Server |
---|---|---|
i-net Software |
Type 4 |
Oracle® 8.1.7, 9i, 9.2.0.3+, 10.1.x, 10.2.x Sybase ASE 12.5. Microsoft SQL Server 2000 4.0 Service Pack 1 |
IBM |
Type 2 |
IBM DB2 8.1 Service Pack 3+ |
Java DB |
Type 4 |
Apache Derby 10.1.2.1 |
PointBase |
Type 4 |
PointBase Network Server 5.2 |
DataDirect |
Type 4 |
Oracle (R) 8.1.7, 9i, 9.2.0.3+, 10.1.x, 10.2.x Sybase ASE 12.5.2 Microsoft SQL Server IBM DB2 8.1 Service Pack 3+ |
MySQL |
Type 4 |
5.x |
Sun Java System JDBC Driver for Oracle |
Type 4 |
Oracle (R) 9.2.0.3, 10G |
Sun Java System JDBC Driver for DB2 |
Type 4 |
IBM DB2 8.1 Service Pack 3+ |
Sun Java System JDBC Driver for Sybase |
Type 4 |
Sybase ASE 12.5.2 |
Sun Java System JDBC Driver for Microsoft SQL Server |
Type 4 |
Microsoft SQL Server 2000 4.0 Service Pack 1 |
Oracle |
Type 4, Type 2 |
Oracle (R) 9.2.0.3, 10G |
This section provides instructions for using the Java DB database implementation bundled with Application Server 8.2.
Sun Java System Application Server 8.2 introduces two new asadmin commands for starting and stopping the Java DB Network Server.
The start-database command starts an instance of the Java DB network server:
start-database [--dbhost 0.0.0.0] [--dbport 1527] [--dbhome "path/derby"] |
The default value for the host is 0.0.0.0, which allows for Java DB to listen on localhost as well as the IP and hostname interfaces. The value for the dbhome property is the location of the Java DB databases. The default path is appserver_install_dir/derby.
The asadmin stop-database command is used to shut down an instance of the Java DB network server that is running:
stop-database [--dbhost 0.0.0.0] [--dbport 1527] |
The Java DB configuration that ships with Application Server 8.2 also includes several useful scripts that can help you use Java DB. The following scripts are available for use in the appserver_install_dir/derby/frameworks/NetworkServer/bin directory:
startNetworkServer.ksh/bat – Script to start the network server
stopNetworkServer.ksh/bat – Script to stop the network server
ij.ksh/bat – interactive JDBC scripting tool
dblook.ksh/bat – Script to view all or part of the DDL for a database
sysinfo.ksh/bat – Script to display versioning information regarding the Java DB environment
NetworkServerControl.ksh/bat – Script that provides a means of running commands on the NetworkServerControl API
Set the DERBY_INSTALL environment variable to point to the appserver_install_dir/derby directory.
Unset your CLASSPATH environment variable.
(Optional) You can also set the following properties:
Set DERBY_SERVER_HOST to the host on which the network server will listen.
Can also be set to 0.0.0.0 to enable all listeners.
Set DERBY_SERVER_PORT to the port number on which the network server will listen.
For more information about these utilities, see the Derby Tools and Admin guides.
This section lists the web servers that are supported for the Sun Java System Application Server Enterprise Edition 8.2.
Table 2–3 Supported Web Servers
Web Server |
Version |
Operating System |
---|---|---|
Sun Java System Web Server |
7 |
Windows 2000 Advanced Server SP4 Windows XP SP2 Windows 2003 Enterprise Server SP1 (32-bit) Windows 2003 Enterprise Server SP1 (64-bit) |
This section lists the browsers that are supported by the Sun Java System Application Server Enterprise Edition 8.2.
Table 2–4 Supported Web Browsers
Browser |
Version |
---|---|
Mozilla |
1.4, 1.5, 1.6, 1.7.x |
NetscapeTM Navigator |
4.79, 6.2, 7.0, *** |
Internet Explorer |
5.5 Service Pack 2, 6.0 |
Firefox |
*** |
In addition to the requirements listed in Hardware and Software Requirements, verify that your system meets the following requirements for running HADB.
The Java components of the system have been built with JDK 1.4.2_02 and the system has been tested on JDK 1.5.
Microsoft Windows – Microsoft Windows 2000 Advanced Server Service Pack 4 and Microsoft Windows 2003 Enterprise Edition. Note that HADB does not support any of the forthcoming Microsoft Windows operating system versions in 64–bit mode.
Minimum memory – 512 MBytes per node.
Minimum free disk space – 70 MBytes for HADB binaries per host. In addition, disk space is needed for the data devices: 512 MBytes for a test installation per node.
Recommended memory – 1 GByte per node.
Recommended free disk space – 70 MBytes for HADB binaries per host. In addition, disk space is needed for the data devices: 1200 MBytes for a test installation per node.
Minimum memory – 128 MBytes
Minimum free disk space – 70 MBytes for HADB binaries per node
Minimum memory – 120 MBytes
Minimum free disk space – 20 MBytes
This section lists the customer-escalated issues resolved for the Sun Java System Application Server Enterprise Edition 8.2 product.
Bug Number |
Description |
---|---|
4887079 |
Programmatic APIs for deploying or undeploying and finding out which applications are deployed. |
4911462 |
Incorrect message when port outside of available range. |
4918535 |
sun-appserv-deploy() doesn't take flag to support createAndDropTables(). |
4939749 |
xml:lang() value should not be inserted automatically by the Deploytool. |
4946914 |
Deployment support for cluster. |
4979136 |
Directory-based deployment copies the application in a backup directory. |
4987274 |
Deployment fails if remote interface for the bean is named Util(). |
4988818 |
Transparent Persistence runtime tests fail when J2SE 1.5 is used. |
4992295 |
Deploying a system component succeeds on the command-line interface, but an error is logged in server's log file. |
4994790 |
JSP deployed with precompilejsp=true does not use compiler flags in sun-web.xml. |
4996876 |
Verifier versus deploy with verify=true, different reports. |
5003356 |
Recent server.policy file updates are not accounted by Upgradetool. |
5006854 |
asadmin deploy --virtualservers fails to deploy. |
5007309 |
Inappropriate default value for HTTP listener accepter threads. |
5008941 |
JSR88 start operation fails when an application is deployed again after it is undeployed. |
5016848 |
On Windows, the JDK JAR file caching and open files prevent some redeployments. |
5017956 |
list -m at the JAR module level does not list the EJBs. |
5030425 |
The deploydir command ignores security-role-mapping changes. |
5041343 |
Not checking servlet-mapping url-pattern--directory always wrapped by /. |
5046120 |
SEVERE log messages while deploying big applications. |
6041268 |
No mechanism to disable HTTP TRACE. |
6062410 |
Upgradetool is launched in English on a localized machine. |
6067341 |
The deploydir command on a web application with ejb-refs fails on rmic the remote interfaces. |
6152752 |
An outofbound exception is logged during SPEC J2004 test runs. |
6154949 |
Connection Validation does not work. |
6157310 |
Runtime reloads the Collection field during relationship management. |
6165491 |
Failed to start a domain if it was created on a different path than the default domain. |
6171667 |
The lifecycle modules property elements are not created in domain.xml. |
6171729 |
Non-String RA ActivationSpec properties result in an IllegalArgumentException during MDB deployment. |
6172178 |
OSS/J TT TCK failed to get JMS connection factory from a remote application server. |
6172589 |
Optimize calls to security manager. |
6183492 |
[DataDirect] DB2: Some transparent persistence application server tests failed with exception thrown during EJB invocation. |
6184864 |
EJB QL query returns no results using OR operator. Expression contains null single-valued CMRS. |
6197393 |
The Deploytool often won't create message-destination element in deployment descriptor. |
6198796 |
EE samples asadmin commands needs to include availabilityenabled=true() option when deploying the application. |
6198981 |
Missing xalan.jar file from classpath causes empty drop-downs and failure of web service wizard. |
6199076 |
Unable to run the Duke bookstore sample failover test with the asant script. |
6202363 |
Cluster name hard coded in one ant target in mq-failover sample application. |
6202606 |
JMS service configuration cannot be used for SSL JMS between JMS and Message Queue. |
6206176 |
Application Server 8.1 requires startserv and stopserv to have permissions of 755. |
6207297 |
Accessing the Application Server without the default SSL Port number (443) does not work. |
6207862 |
asadmin create-domain --help produces some garbled text. |
6363339 |
managementws sample needs to update MANIFEST.MF references from castor-0.9.3.9-xml.jar to castor-0.9.9.1.jar. |
6372759 |
Specific Java System Properties are not handled correctly by AS v8.2 Startup. |
This section describes important additional information about the HADB implementation that is included in Application Server 8.2.
A new management command, hadbm setadminpassword, has been implemented to allow changing the password used for database administration. The command takes options indicating which management agent to use, and the old password and the new password. For more information, see the hadbm setadminpassword man page.
The existing management command, hadbm listpackages, has been modified. Previously, the command took no operands, and listed all packages in the relevant management domain. The modifications introduce an optional package name operand, and list only packages with that name. If the operand is not provided, all packages are listed. For more information, see the hadbm listpackages manpage.
The existing management command, hadbm createdomain, has been modified. The hostlist operand is extended to also specify the port number of the management agent. In this way, the domain is completely specified by using only the hostlist operand. The old behavior is still supported for backward compatibility. For more information, see the hadbm createdomain manpage.
Some of the error messages from the management system have been modified. The modifications are intended to improve comprehension, consistency, and accuracy of the error messages. The actual modifications are not listed in these release notes.
The installation and uninstallation behavior has been slightly changed. Installing or uninstalling the HADB should always preserve the link /opt/SUNWhadb/4, but this has not always been the case.
The possibility of typing passwords on the command line as a command option is deprecated. This deprecation is relevant to all hadbm commands that accept passwords as command-line options. For hadbm commands, it has previously been possible to type a password as:
A password file
A command line option
An interactive input
The command-line option is considered unsafe and is therefore deprecated. A warning message is issued if a password is typed in this way. Instead, use a password file or interactive output. Note this applies to all hadbm commands that accept a command-line password option.
HADB has been upgraded to use JGroups Version 2.2, and its source code is distributed along with the HADB. To support online upgrade from a previous HADB version, both JGroups 2.1 and 2.2 are delivered with HADB. For JGroups 2.1, byte code is delivered only.
You cannot create a UNIQUE secondary index on a table.
The expression (DISTINCT column) is not allowed in an aggregate expression, unless this is the only selected expression.
All tables must be created with a primary key specification. That is, tables without primary keys are not supported.
FULL OUTER JOIN is not supported.
IN subqueries that are table subqueries are not supported, for example:
SELECT SNAME FROM S WHERE (S1#,S2#) IN (SELECT S1#,S2# FROM SP WHERE P#='P2') |
Constraints other than NOT NULL and PRIMARY KEY are not supported.
You can assign a new owner to a resource. When making this change, however, privileges granted to the current owner are not granted to the new owner.
Queries with two or more nested NOT EXISTS subqueries where each subquery is not directly correlated to outer level of queries is not supported.
Column privileges are not supported.
Row value constructors are allowed only in a VALUES clause.
Subqueries are not accepted as value expressions in row value constructors.
The following data types cannot be used when creating primary keys:
REAL
FLOAT
DOUBLE PRECISION
DECIMAL
NUMERIC
The Application Server includes load balancing for the following:
HTTP, IIOP, and JMS clients
HTTP session failover support
EJB clustering and failover support
Highly available EJB timers
Distributed transaction recovery
Support for rolling application upgrades
High-availability database for storing the transient state of J2EE applications
Availability allows for failover protection of Application Server instances in a cluster. If one Application Server instance fails, another Application Server instance takes over the sessions that were assigned to the unavailable server. Session information is stored in the HADB. HADB supports the persistence of HTTP sessions, Stateful Session Beans, and Single Sign On credentials.
The Application Server product is delivered in various ways. The following table identifies the delivery mechanisms by product release.
Application Server Product Release |
Delivery Mechanism |
---|---|
Application Server Enterprise Edition component within the Sun Java Enterprise System. |
File-based distribution Patch installation needed through SunSolve |
Application ServerStandard and Enterprise Edition Standalone product |
File-based and package-based distribution |
Deploytool is no longer be available. The equivalent functionality is available in the NetBeans IDE. For more information and to plan a migration, please see J2EE 1.4 tutorial for NetBeans 4.1 at http://www.netbeans.org/kb/41/j2ee-tut/index.html.
Verifier GUI mode (invoked by verifier -u) is no longer be available. The equivalent functionality will be available in the NetBeans IDE.
The default mode for application verification when using verifier tool has been changed from “Verify J2EE Rules” to “Verify J2EE Rules and Sun Application Server Configuration Rules.” In other words, by default verifier tests whether an application meets J2EE rules and is configured to run on Sun Application Server. The verifier command contains a command-line switch to test an application for J2EE rules only.
In the current release, the JAR and directory entries added to classpath-prefix, server-classpath, and classpath-suffix attributes of domain.xml (application server configuration file) are available in the JVM system classpath. An application depending on this behavior might be using the following methods from the class java.lang.ClassLoader to access classes or other resources from the JVM system classpath:
getSystemClassLoader()
getSystemResource()
getSystemResourceAsStream()
getSystemResources
In the next major release, the JAR and directory entries added to classpath-prefix, server-classpath, and classpath-suffix will no longer be available in the JVM system classpath. If an application uses one of the previously mentioned methods, Sun strongly recommends using an equivalent method that does not assume that the resources are available in the system classpath. The equivalent methods that do not rely on the JVM system classpath are available in java.lang.ClassLoader and should be used when possible, for example:
java.net.URL url = ClassLoader.getSystemResource ("com/acme/tools/tools.properties");
java.net.URL url = this.getClass().getClassLoader().getResource ("com/acme/tools/tools.properties");
If you cannot change the code, then you can choose to use a new configuration option that will be added in the next release to set the JVM system classpath.
Security for Web services can be configured by using the files wss-client-config.xml and wss-server-config.xml. Note that the content and names of these configuration files are unstable and likely to change. The equivalent functionality will continue to be available.
The Sun Java System Application Server Enterprise Edition 8.2 supports the J2EE 1.4 platform. The following table describes the enhanced APIs available on the J2EE 1.4 platform.
Table 2–5 APIs Available on the J2EE 1.4 Platform
API |
Description |
---|---|
Components |
|
Application and Application Client |
Implementation of standard deployment descriptors by means of XML schemas. |
Enterprise JavaBeans (EJB) 2.1 |
Timer service and EJB Web-service endpoint. |
Java Servlet 2.4 |
Web-service endpoint filter. |
JavaServer Pages (JSP) 2.0 architecture |
Expression language and tag library. |
J2EE Connector Architecture 1.5 |
Inbound resource adapter and Java Message Service (JMS) pluggability. |
Web Services |
|
Java Web Services Developer Pack 1.5 |
Integrated toolkit for building, testing, and deploying XML applications, Web services, and Web applications. |
Java API for XML-based Remote Procedure Calls (JAX-RPC) 1.1 |
Mapping for WSDL and Java technology and support for development of Web-service clients and endpoints. |
WS-I Basic Profile 1.0 |
The enabling element for interoperability by using WSDL and SOAP. |
SOAP with attachment API for Java (SAAJ) 1.2 |
An API for SOAP-based messaging. Fosters the creation of SOAP messages with attachments. |
Java APIs for XML Registries (JAXR) 1.0 |
A uniform and standard API for accessing XML registries, such as those for Universal Description Discovery and Integration (UDDI and ebXML). |
Other |
|
J2EE Deployment 1.1 |
Standard APIs that enable deployments of J2EE components and applications. |
J2EE Management 1.0 |
Definitions for the information model for managing the J2EE platform. |
Java Management Extensions (JMX) 1.2 |
Standard management API. |
Java Authorization Contract for Containers (JACC) 1.0 |
Definitions of security contracts between a J2EE Application Server and the authorization policy provider. |
Java API for XML Processing (JAXP) 1.2 |
An API with which applications can parse and transform XML documents. Also adds support for processing of XML schemas. |
JMS 1.1 |
A messaging standard that enables J2EE application components to create, send, receive, and read messages. Also adds support for uniform APIs for queues and topics. |
JavaMail 1.3 |
A set of abstract classes that model a mail system. Also includes minor updates to the APIs. |
Sun Java System Application Server 8.2 requires J2SE 5.0 or or a compatible version as the underlying JVM. If you want to switch from one Java version to another, perform the following general steps for both Windows and Unix OS.
Download the Java SDK (not the JRE) and install it on your system, if you have not already done so.
The Java SDK can be downloaded from http://java.sun.com/j2se.
Completely stop the Application Server.
You can use the following command line:
ApplicationServer-base\bin\asadmin.bat stop-domain
|
Alternatively, you can use the Administration Console GUI:
Edit the install_dir\config\asenv.conf file (asenv.bat on Windows), changing the value for AS_JAVA to point to the new J2SE home directory.
Edit the as-install\samples\common.properties file, changing the line beginning com.sun.aas.javaRoot... to reference the new J2SE home directory.
Restart the Application Server.
ApplcationServer-base\bin\asadmin.bat start-domain |
The Application Server includes a high-performance EJB container, web container and services, and supports concurrent message delivery with the Sun Java System Message Queue software.
The Application Server supports horizontal scalability through clustering of server instances and requests for load balancing. The Application Server also achieves class leading vertical scalability that supports large multiprocessor machines. The integrated message broker can be clustered for better scalability and availability. Client access from HTTP clients, RMI/IIOP based Rich Client Applications, Web Services Clients, and JRM Clients can be load balanced to Application Server clusters.
The Sun Java System Application Server Enterprise Edition 8.2 supports JavaServer Faces 1.1 technology. The JavaServer Faces technology consists of a set of server-side APIs that represent user-interface components that manage their state, event, handling, and input validation. The APIs also define page navigation and support internationalization and accessibility. You can add custom user-interface components with a JSP custom tag library.
While developing with JavaServer Faces technology, each member of a development team can focus on a single piece of the process. A simple programming model then links the pieces, resulting in a more efficient and simpler development cycle.