Applications deployed in a SIP Servlet container are identified using their application name, a string.
The application developer or deployer sets the application name in the
<app-name> element of the
sip.xml deployment descriptor, or by using the
name attribute. The container uses the application name as the unique identifier for the application, and the application router uses application names when selecting the applications to run.
Rhino SIP Servlet runs on the Rhino SLEE platform, and SIP Servlet applications are deployed as SLEE services. SLEE services are uniquely identified by their
ServiceID, an identifier containing service name, vendor, and version strings.
When the application router determines the next application to invoke, it returns the application name to the container. But in this case the "container" is the SIP Servlet RA, which must translate the name to a SLEE ServiceID, so that it can trigger the SLEE service containing the servlet application.
For this reason, the SIP Servlet RA maintains a table that maps SIP Servlet application names to SLEE ServiceIDs, and vice versa. These mappings are called application name references in the Rhino SIP Servlet documentation.
|The SIP Servlet RA ensures a one-to-one mapping between application names and ServiceIDs. So it’s impossible for more than one application name to map to the same ServiceID, or for more than one ServiceID to map to the same application name.|
When SIP servlet applications are installed using Rhino SIP Servlet’s management commands (
install-ss (console) or
<sipservlet:install> (Ant)), the SIP Servlet RA generates a SLEE service that wraps the servlet application. During deployment, the RA automatically creates an application name reference that maps the application name to the new service’s ServiceID.
It’s also possible to manually create application name references. This is only required when deploying Hybrid Applications, which are traditional SLEE services that use the SIP Servlet RA Type. These are deployed using Rhino’s normal installation commands, bypassing the SIP Servlet RA’s servlet deployment mechanisms. In this case it is necessary to manually setup the application name references, so that the application router can refer to hybrid applications by their servlet application names.
|If a SLEE service has no application name, it cannot be invoked by the SIP Servlet RA.|
Application name references are managed using the
removeapplicationnameref console commands, and corresponding Ant tasks. See the Installation and Administration Guide for details and examples.