Sun Java System Communications Application Server 1.0

# Features and Resources

Sun Java System Communications Application Server 1.0 adds SIP and other telecommunication technology capabilities to Sun Java System Application Server 9.1.1. Sun Java System Application Server 9.1.1 provides a Java EE compatible server for the development and deployment of Java EE applications and Java Web Services. Key features include scalable transaction management, container-managed persistence runtime, performant web services, clustering, high availability, security, and integration capabilities.

This page contains the following topics:

- Key Features of Sun Java System Communications Application Server 1.0
- Key Features of Sun Java System Application Server 9.1.1
- Resources

## Key Features of Sun Java System Communications Application Server 1.0

Sun Java System Communications Application Server is developed as a layer on top of Sun Java System Application Server 9.1.1. While it supports all the features available in Sun Java System Application Server, it has also got a host of new features as listed below.

Compliant with JSR 116 and JSR 289
Sun Java System Communications Application 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 116 and JSR 289. The JSR 289 container will be integrated to Sun Java System Communications Application Server as a listener to the Tomcat container.

Converged SIP and HTTP Sessions
Sun Java System Communications Application Server supports converged HTTP and SIP session functionality as defined by JSR 289 and JSR 116.

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, and
- Decides what applications to host in which order.

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)

Security
Digest Authentication is supported for both HTTP and SIP protocols. P-Asserted-Identity is supported for SIP protocol. The SIP Container is enhanced to support SIPS over TLS.

Session Replication for SIP and HTTP Sessions
Session replication capability in Sun Java System Communications Application Server supports both SIP and HTTP sessions.

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, while maintaining stickiness.
- Enables and disables server instances in a cluster.
- Monitors health of server instances.

Support to Deploy SIP and Converged Applications
Sun Java System Communications Application 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
Sun Java System Communications Application Server provides support for SIP Servlet applications based on JSR 289 on top of NetBeans 6.0. A simple SIP client will be added to enable testing at development time. This plug-in will be provided via the NetBeans Update Center.

Hot Deployable Application Router
Sun Java System Communications Application 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. JSR 289 specification describes semantics of a default application router, which will be provided as well.

Enhancements for supporting a SAF based management framework.
The administration and management framework is enhanced so that an external management framework (for example, a SAF based tool) will be able to manage the Application Server at a steady state. This capability translates to the ability to start and stop application server instances and to start and stop applications in the server instances by passing DAS (domain administration server) and node agent. The watchdog functionality of the node agent will also be in use, since in the steady state, the node agent will not be running. Note that this is not the default behavior of the Application Server, but are enhancements to allow a management framework to achieve the described functionality. The newly filed JSR 319 is aiming for standardization in this space.

Packaging and File Layout
Sun Java System Communications Application Server is being delivered as a file-based installable and also as an addon package. The file layout preserves the Application Server layout with overlays for SIP servlets support.

## Key Features of Sun Java System Application Server 9.1.1

Java EE 5 platform support: Sun Java System Application Server 9.1.1 complies fully with the latest Java EE 5 specification to deliver one of the best application runtimes for next-generation enterprise applications and web services. Application Server 9.1 implements and extends 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)
- And more...for a complete list of the Java EE technologies included, see the Release 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

Java Business Integration (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, PBEL4WS and the W3C Choreography Working Group. A JBI implementation is installed directly by the Application Server installer, mostly in the `AS_HOME/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 Application Server JVM.

In-Memory Replication Support
In-memory replication on other servers provides lightweight storage of session state data without the need to obtain a separate database, such as HADB. This type of replication uses memory on other servers for high availability storage of HTTP session and stateful session bean data. Clustered server instances replicate session state in a ring of topology. Each backup instance stores the replicated data in memory. Replication of session state data in memory on other servers enables sessions to be distributed. The use of in-memory replication requires the Group Management Service (GMS) to be enabled.

Usage Profiles Support
Every administrative domain is associated with a usage profile which identifies the capabilities of that domain. Application Server 9.1 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 the NSS keystore or clustering features, such as load balancing, high availability, and session replication.
- Cluster Use this profile if you need to create clusters but do not require the high-availability database (HADB) or the NSS keystore.
- Enterprise Use this profile if you need HADB and NSS. This profile is not usable unless you install HADB and NSS separately or install the Application Server as part of the Java Enterprise System (Java ES).

Load Balancing Enhancements
Several enhancements have been added to the load balancing plugin including:

- Weighted Round Robin An optional attribute called `weight` has been added to the instance `Loadbalancer.xml` file. This option enables the load balancer plugin to route requests according to the weight. For example, for every 500 requests, 100 will go to `instance1` and 400 would go to `instance2`. The default weight is 100. The weight is assigned to each instance from the Administration Console or command-line. In addition, the server `domain.xml` file identifies an attribute for every instance indicating the weight.

- User-Defined Load Balancer Decision Enables users to define custom logic for load balancing; for example, user identity-based redirects and mime-based load balancing. This feature is implemented by means of user-defined shared library that gets loaded by the load balancer. This custom shared library implements the interface as defined in `loadbalancer.h`, which is placed in `appserv_install_dir/lir/install/templates/`.

- Administration Enhancements Previous versions of Application Server required that the `loadbalancer.xml` file be manually copied to the particular server's `config` directory. Application Server 9.1 includes push automations for performing such copies between the Web Server and the Application Server. The load balancer itself is configured in the server's `domain.xml` file.

Open Source and GlassFish Community
In June 2005, Sun launched the GlassFish community with the goal of developing a free, open source, commercial-grade application server that implements the newest features of the Java EE 5 platform and related enterprise technologies. Application Server 9.1 is based on the source code developed by Sun engineers and the GlassFish community.

## Resources

Feedback Submittal Form: Use the Java EE SDK Feedback Submittal Form to submit feedback on this product.

Glassfish Community: Application Server is developed through the Glassfish open source project and community. The GlassFish community is building a free, open source application server which implements the newest features in the Java EE 5 platform.

Java Enteprise Community: Part of java.net, the Java Enteprise Community is centered around Java EE applications, components, and tools.

Sun Technology Forums: The Sun Developer Forums are interactive message boards for sharing knowledge and questions about technologies and programming techniques. Use the Application & Integration Servers forum for discussions related to the Application Server.

Sun Software Support Service: Sun Software Support Service Standard contracts are available for purchase.

Sun Developer Network: For further help and to keep on top of the latest developments, join the Sun Developer Network.

BigAdmin System Administrator Resources and Community: Join this System Administration Portal to learn more about the Sun Java System Application Server Platform Suite which includes the Application Server.

Release Notes and Product Documentation: The Release Notes, Installation Notes, and other product documentation are posted on docs.sun.com.

Data sheets, press information, news, and other information are available at the Sun Java System Application Server home page.

Company Info | Contact | Copyright 2007 Sun Microsystems