Communications Server is a Java EE 5 platform-compatible server for the development and deployment of Web, SIP, and converged applications and Java technology-based web services in large-scale production environments.
This chapter includes:
While Communications Server supports all the features available in Sun GlassFish Enterprise Server, it has a host of new features as listed here. For the list of features in Sun GlassFish Enterprise Server, see the Sun GlassFish Enterprise Server Release Notes.
Compliant with JSR 289 — Communications Server contains a SIP stack that is compliant with RFCs 3261, 3262, 3265, 3311, 3515, 3903, etc. It will also expose the SIP Servlets Java APIs defined by JSR 289.
Converged SIP and HTTP Sessions — Communications Server supports converged HTTP and SIP session functionality as defined by JSR 289.
Integrated SIP Servlet Container — The SIP Servlet container offers the following functionality:
Provides a network end point to listen to SIP requests,
Provides an environment to host and manage the lifecycle of SIP Servlets.
The SIP Servlet container works in conjunction with the web container to provide support for converged applications as defined by the SIP Servlet API Specification ( SSA).
Easy Administration — Communications Server enables easy administration of the SIP container and the deployed SIP applications using the CLI and the GUI.
Security— Digest Authentication is supported for both HTTP and SIP protocols. P-Asserted-Identity is supported for SIP protocol. The SIP Container supports SIPS over TLS.
Converged Load Balancer — Converged Load Balancer (CLB) is a software load balancing component, which facilitates high availability of converged applications, by distributing the application requests in a cluster of server instances. The CLB provides the following functionality:
Forwards SIP(S) and HTTP(S) requests to a cluster of server instances.
Load balances requests using consistent hashing/round-robin policy.
Enables and disables server instances in a cluster.
Monitors health of server instances.
Support to Deploy SIP and Converged Applications — Communications Server supports deployment of pure SIP applications and converged applications using the extension-module mechanism in GlassFish. It also supports sun-sip.xml as the Sun-specific deployment descriptor for SIP applications.
NetBeans Tooling — Communications Server provides support for SIP Servlet applications based on JSR 289 on top of NetBeans 6.0. A simple SIP client can be created using the test agent to test SIP Servlets. This plug-in is available under as-install-dir/lib/tools.
Application Router Deployment — Communications Server supports hot deployment of Application router archives (JAR files) using the extension module mechanism. An application router that follows a simple alphabetical rule for routing the requests is provided by default.
Packaging and File Layout — Communications Server is being delivered as a file-based installable.
Registration with Sun Connection — You can use the installer, the Admin Console GUI, or the Update Center to register the product with Sun Connection. By registering the Communications Server with Sun Connection you receive benefits such as:
Patch information and bug updates
Screencasts and tutorials
News and events
Support and training offerings
SuSe Linux 64–bit support
Multilevel relationship prefetching support— Multilevel relationship prefetching for container-managed persistence (CMP) 2.1 entity beans is now supported. For more information, see Enabling Multilevel Relationship Prefetching.
Enhanced JBI support — You can update a JBI component through the Admin Console GUI or from the command line without the need to redeploy any service assemblies that are already deployed.
Java EE 5 platform support — Sun GlassFish Communications Server implements the Java EE 5 specification to deliver one of the best application runtimes for next-generation enterprise applications and web services. Communications Server implements the following Java EE standards:
Enterprise Java Beans 3.0
JAXB 2.0
Java Persistence
Java Server Faces 1.2
Java Server Pages 2.1 (JSP 2.1)
Java Server Pages Standard Tag Library (JSTL) 1.2
Streaming API for XML (StAX)
Web Services Metadata
Java API for XML based Web Services 2.0 (JAX-WS 2.0)
Common Annotations for the Java Platform 1.0 (CAJ 1.0)
Java Servlet 2.5
The complete list of Java EE 5 platform technologies is provided later in these notes.
Web Services Interoperability Technologies (WSIT) support – Sun is working closely with Microsoft to ensure interoperability of Web services enterprise technologies such as message optimization, reliable messaging, and security. The initial release of WSIT is a product of this joint effort. WSIT is an implementation of a number of open web services specifications to support enterprise features. In addition to message optimization, reliable messaging, and security, WSIT includes a bootstrapping and configuration technology. Starting with the core XML support currently built into the Java platform, WSIT uses or extends existing features and adds new support for interoperable web services, including:
Bootstrapping and Configuration
Message Optimization Technology
Reliable Messaging Technology
Security Technology
See More About WSIT Integration later in this chapter for more information about WSIT integration in Communications Server.
JBI support – JBI extends Java EE with business integration Service Provider Interfaces (SPI). These SPI enable developers to create or implement a Java business integration environment for specifications such as WSCI, BPEL4WS and the W3C Choreography Working Group. A JBI implementation is installed directly by the Communications Server installer, mostly in the as-install/jbi directory. This directory contains all common JAR files and system components for the JBI including a lifecycle module that starts the JBI framework in the Communications Server JVM.
Usage profiles – Every administrative domain is associated with a usage profile, which identifies the capabilities of that domain. Communications Server provides the following profiles:
Developer – Use this profile if you are running your domain in a development environment and if your applications do not need clustering features, such as load balancing, high availability, and session replication. Note that the actual name of the profile is “developer” (case sensitive).
Cluster – Use this profile if you want to create clusters of application server instances imparting scalability and high availability to the deployed Java EE applications. The state of the applications is persisted in-memory. Note that the actual name of the profile is “cluster” (case sensitive).
Open Source and SailFin Community — TheSailFin community has the goal of developing a free, open source, commerical-grade communcations server that implements the newest features of the Java EE 5 platform and related enterprise technologies.
Update Center Support – The Communications Server Update Center provides automated Communications Server updates and easy access to additional components.
This section lists the requirements that must be met before installing Sun GlassFish Communications Server.
All supported operating systems are 32-bit unless indicated otherwise. The 64-bit JDK is supported only on 64-bit supported operating systems.
The following table lists the operating systems with which the Sun GlassFish Communications Server is compatible.
Table 2–1 Supported Operating Systems
Operating System |
Minimum Memory |
Recommended Memory |
Minimum Disk Space |
Recommended Disk Space |
JVM |
Deployment Type |
---|---|---|---|---|---|---|
Sun Solaris 10 (x86)(32–bit and 64–bit) |
512 MB |
512 MB |
250 MB free |
500 MB free |
J2SE 5.0 - 32 bit Java SE 6 - 32 bit |
Production |
Sun Solaris 10 (SPARC)(32–bit and 64–bit) |
512 MB |
512 MB |
250 MB free |
500 MB free |
J2SE 5.0 - 32 bit Java SE 6 - 32 bit |
Production |
Red Hat Enterprise Linux 3.0 Update 1, 4.0, and 5.x (32-bit and 64-bit) |
512 MB |
1 GB |
250 MB free |
500 MB free |
J2SE 5.0 - 32 bit Java SE 6 - 32 bit |
Production |
SUSE Linux Enterprise Server 10 SP1(32–bit and 64–bit) |
512 MB |
1 GB |
250 MB free |
500 MB free |
J2SE 5.0 - 32 bit Java SE 6 - 32 bit |
Production |
Windows XP Windows Vista Windows 2008 |
1 GB |
2 GB |
500 MB free |
1 GB free |
J2SE 5.0 - 32 bit Java SE 6 - 32 bit |
Development |
Macintosh OS 10.4, 10.5 |
512 MB |
1 GB |
250 MB free |
500 MB free |
J2SE 5.0 - 32 bit Java SE 6 - 32 bit |
Development |
On UNIXTM, you can check your operating system version using the uname command. Disk space can be checked using the df command.
It is recommended that you use the NTFS file system rather than FAT or FAT32 when running the Communications Server on any Windows platform.
It is recommended that Solaris 10 (x86, SPARC) users have the “Sun recommended patch cluster” installed. This patch cluster is available under “Recommended and Security Patches” on the SunSolve Web site.
The minimum (and certified) version of JDK required for Communications Server is 1.6.0_7.
You can switch to a supported Java SE version by editing the asenv file as described here.
If you have not already done so, install the new Java SE version on your system.
The Java SE SDK can be downloaded from http://java.sun.com/javase
Stop the Communications Server domains.
Edit the as-install/config/asenv.conf file (asenv.bat on Windows), changing the value for AS_JAVA to point to the new Java home directory:
Edit the as-install/samples/common.properties file, changing the line beginning com.sun.aas.javaRoot... to reference the new Java home directory.
Restart Communications Server.
The Ant version bundled with SailFin JAR installation is 1.6.5. To build a custom Application Router application, you need Ant 1.7, which you will need to download separately.
Table 2–2 lists databases and drivers that meet the Java EE compatibility requirements. All supported configurations of the Sun GlassFish Communications Server must contain at least one database/driver combination from this table, such as the bundled Java DB database and driver. In addition, the Communications Server is designed to support JDBC connectivity to any additional DBMS with a corresponding JDBC driver.
Table 2–2 Java EE-Compatible JDBC Drivers
JDBC Driver Vendor |
JDBC Driver Type |
Supported Database Server |
---|---|---|
Derby Network Client |
Type 4 |
Derby 10.2 |
DataDirect 3.6.x, 3.7.x |
Type 4 |
Oracle 10g Oracle 9i Sybase ASE 15 MS SQL 2005 DB2 9.1 DB2 8.2 |
MySQL Connector/J Driver 5.1.6 |
Type 4 |
MySQL 5.0 |
Oracle 10G |
Type 4 |
Oracle 10g -RAC |
PostGres |
Type 4 |
8.2.x |
Table 2–3 lists all the additional databases and drivers scheduled to be supported in the Communications Server FCS release.
Table 2–3 Supported JDBC Drivers and Databases (Communications Server FCS)
JDBC Driver Vendor |
JDBC Driver Type |
Supported Database Server |
---|---|---|
Oracle OCI |
Type 2 |
Oracle 9i |
IBM DB2 |
Type 2 |
DB2 9.1 |
In general, the Communications Server supports all JDBC drivers that meet the Java EE specification.
For file-based installations, Message Queue 4.3 is co-packaged with Communications Server. For UNIX package-based installations, Message Queue 4.1.1, which is functionally equivalent to 4.3, is provided. Despite the version numbering, Message Queue 4.1.1 is actually backward-compatible with Message Queue 4.2.
The embedded Sun GlassFish Message Queue code that is supplied as part of Communications Server is only tested and certified (typically) against the equivalent version of the Message Queue broker. This means that using the supplied embedded Message Queue code to connect to a remote (not managed by Communications Server) Message Queue broker running a different version of the Message Queue code is not supported.
This section lists the browsers that are supported with the Sun GlassFish Communications Server 1.5.
Table 2–4 Supported Web Browsers
Browser |
Version |
---|---|
Mozilla |
1.7.12 |
Internet Explorer |
6.0 Service Pack 2, 7.0 |
Firefox |
1.5.x, 2.x |
Safari |
2 |
Netscape |
8.0.4, 8.1, 9.0, 9.0.x |
The following additional requirements should be met before installing the Sun GlassFish Communications Server software.
Free space: your temporary directory must have a minimum of 35MB free for Sun GlassFish Communications Server installation, and 250 MB of free space for the SDK installation.
Using the uninstall program: If you need to remove the Communications Server from your system, it is important to use the uninstall program that is included with the software. If you attempt to use another method, problems will arise when you try to reinstall the same version, or when you install a new version.
Free ports: You must have seven unused ports available. The installation program automatically detects ports in use and suggests currently unused ports for the default domain. By default, the initial default ports are:
8080 for HTTP, 8181 for HTTPS
3700 for IIOP, 3820 for IIOP/SSL and 3920 for IIOP/SSL with Mutual Authentication
4848 (HTTP) for the Administration Server
8686 (RMI) port for pure JMX Clients
Shutting down firewall (Microsoft Windows) — You must stop any firewall software before installing the Sun GlassFish Communications Server software, because some of this software disables all ports by default. The installation program must be able to accurately determine which ports are available.
The Sun GlassFish Communications Server 1.5 supports the Java EE 5 platform. The following table lists the enhanced APIs available on the Java EE 5 platform.
Table 2–5 Major API changes on the Java EE 5 Platform
API |
JSR |
---|---|
Java EE 5 |
|
Web Services Technologies |
|
Implementing Enterprise Web Services | |
Web Service Metadata for the Java Platform | |
Component Model Technologies |
|
Management Technologies |
|
Other Java EE Technologies |
|
Common Annotations for the Java Platform | |
Sun GlassFish Communications Server 1.5 is available as part of the Java EE 5 SDK.
There are two Java EE 5 SDK versions:
In addition, you can download these SDK distributions with the JDK or with the NetBeans 5.5.1 tools. For more information, access the download page at http://java.sun.com/javaee/downloads/index.jsp.
GlassFish 2.1 and Communications Server 1.5 do not work with NetBeans 5.5 for developing Java EE applications. You must use NetBeans 5.5.1.
Sun GlassFish Communications Server 1.5 requires Java SE 5.0 or greater as the underlying JVM. If you want to switch from one Java version to another, perform the following general steps. (Windows and Unix)
Downgrading to an earlier Java version is not recommended after a domain has been created with a newer Java VM. If you must downgrade your JVM, it is recommended that you do it on a per-domain basis. The following procedure describes how to do this.
Download the desired 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.
Start the domain for which you want to change the JDK:
as-install/bin/asadmin start-domain domain-name |
Log in to the Admin console and change the JVM attributes for the domain.
In particular, you may want to change the JAVA_HOME variable on the JVM Settings page for the domain.
Alternatively, you can use the asadmin command:
as-install/bin/asadmin set "server.java-config.java-home=Path-To-Java-Home" |
The Update Center provides automated Communications Server updates and easy access to additional components.
When the Update Center is enabled, it performs an automated software update. During this automated update process, the Update Center collects and transmits the following data to Sun Microsystems (or its service provider):
Unique installation ID (GUID)
IP address
Operating system information (name, version, architecture, locale)
JDK version
Module download information (module name, date, time, status, download time, number of bytes downloaded)
No personally identifiable information is tracked. No personally identifiable information is associated with any other data or used for reporting purposes.
To ensure explicit agreement of the automated update, the Update Center is disabled by default. To enable the Update Center to perform periodic checks and automated updates:
Start the Update Center.
On Unix: <installdir>/updatecenter/bin/updatetool
On Windows: <installdir>\updatecenter\bin\updatetool.bat
Select the Preferences tab.
In the Update Scheduling window, change the Check for Updates drop-down box value from Never (Manual) to a desired value. For example, daily or weekly.
Specify the desired day of the week and time of the day for the update.
Select the Save button to save your changes.
The Update Center will now automatically check for SailFin or Communications Server component updates according to the schedule specified. When an update is available, the Update Center will launch and notify you of the component available to update.
Multilevel relationship prefetching is supported for CMP 2.1 entity beans.
To enable multilevel relationship prefetching, set the following property:
-Dcom.sun.jdo.spi.persistence.support.sqlstore.MULTILEVEL_PREFETCH=true |
For more information about relationship prefetching, see Relationship Prefetching in Sun GlassFish Communications Server 1.5 Developer’s Guide.
For detailed information about WSIT status, refer to the WSIT Status Notes page.