|Oracle® Communications Converged Application Server Technical Product Description
Part Number E17655-03
This chapter describes the Oracle Communications Converged Application Server architecture.
Converged Application Server is a carrier-class Java EE application server that has been extended with support for the Session Initiation Protocol (SIP) and a number of operational enhancements that allow it to meet the demanding requirements of next-generation Internet Protocol-based communications networks. In a typical IMS deployment, Converged Application Server fills the role of the IMS SIP Application Server.
The Converged Application Server implementation is based on parts of Oracle's widely deployed and time-tested Java EE-compliant WebLogic Server product. Converged Application Server supports all of the standard Oracle WebLogic Server programming interfaces and facilities such as JTA, JAF, JMS, JNDI, JDBC, and EJB. Converged Application Server also supports the protocols typically associated with a standards-compliant Java EE application server, including RMI over IIOP, HTTP 1.1, LDAP, SMTP, POP, IMAP, and SNMPv2.
Converged Application Server builds upon the base Java EE programming model by integrating a SIP Servlet Container that is compliant with the JSR-000116 SIP Servlet API specification. This “converged” container provides an execution environment for applications containing both HTTP and SIP protocol handling components, as well as other protocols such as Diameter.
The “SIP Stack” of Converged Application Server is fully integrated into the SIP Servlet container and is substantially more powerful and easier to use than a traditional protocol stack. The SIP Servlet API defines a higher layer of abstraction than simple protocol stacks provide and frees the developer from any concern for the mechanics of the SIP protocol itself.
Note:In this context “mechanics” refers to the syntactic validation of received requests, handling of transaction layer timers, generation of non application-related responses, generation of fully-formed SIP requests from request objects (which involves correct preparation of system headers and generation of syntactically correct SIP messages) and handling of lower-layer transport protocols (such as TCP, UDP or SCTP).
The Servlet container distributes request and response objects to components in a structured way, maintains awareness of the state of the larger, converged SIP and HTTP application session, and manages the end-to-end object lifecycle, including resource, transaction, and session state management. The converged SIP and HTTP container thereby frees the developer from much work (and opportunity for error) and allows deployed applications to inherit the high-availability, performance, and operational features provided by the robust Converged Application Server container implementation.
The SIP Servlet API greatly simplifies the task of implementing SIP User Agents, Proxies and Back-to-Back-User-Agents, and it narrows the developers exposure to operational concerns such as resource management, reliability, manageability and interaction between services. (See Chapter 2, "Developing SIP Applications with Converged Application Server," for more information.)
The SIP Servlet API is the ideal choice for exposing the full capabilities of the SIP protocol in a Java and Java EE middleware solution. No equivalent standard exists for defining an Application Programming Interface or programming model that is as well suited to meet both the needs of the application developer and the operational requirements of the service provider.
Converged Application Server also incorporates a number of architectural features that allow for its deployment as a highly-available, fault tolerant Single System Image cluster. The Converged Application Server cluster architecture is based on a multi-tier model in which a load balancer distributes SIP requests to a stateless Engine Tier (often referred to as “Engines”). The engine tier processes all signaling traffic and replicates transaction and session state information to SIP data tier “partitions”. Each partition may consist of one or more replicas distributed across servers or server blades (cluster members). This clustering capability, combined with the load balancer, transparently provides services with Telco-grade availability, scalability, and fault tolerance (session retention), ensuring that ongoing sessions are not affected by the failure of individual cluster members. A production deployment of Converged Application Server has no single point of failure.