One of  the less known products running on Oracle WebLogic Server is OCCAS – Oracle Converged Application Server. During a project at a big TELCO client, I became familiar with this product. This TELCO was coming from a Glassfish platform. Because Oracle posed Oracle WebLogic as the strategic middleware platform, customers got worried and demanded to port applications form Glassfish to Oracle WebLogic.
OCCAS is based on the former WebLogic SIP Server. but what does SIP stands for?
SIP, or the Session Initiation Protocol stands for a communication protocol, used by Telecom providers for using multimedia communication sessions such as voice and video calls over Internet Protocol (IP). It is part of the application layer and can be used over TCP. SIP is a text-based protocol with  similarities to  HTTP markup. There are 2 types of SIP messages: requests and responses. The first line of a request has a method, defining the nature of the request, and a Request-URI, indicating where the request should be send.
An example of when using SIP is like when 2 users tele-communicate with eachother over the Internet using the 3GPP for multimedia:
– 1st is using  a software program for making telephone calls over the Internet(softphone) (within some chat clients)
– 2nd user is using VOIP, like Skype.
Other is like video-dialing, or mobile features
The SIP is a peer to peer protocol,  which  means both parties can act as a server as well as a client.  In HTTP, a client is always a client and a server is always a server. So USER1 sends a direct request to USER2, and with acknowledgement on both sides, communications has been initiated. SIP uses a request-response mechanism with specific methods, response codes, and headers. The request-response mechanism is asynchronous in SIP — a request does not need to be followed by a corresponding response. In fact, a SIP request could result in one or more requests being generated.
To leverage these facilitities, all these functionalities are bundled in a so called SIP servlet (somewhat similar to a HTTP Servlet). This makes it easier to program because it’s JEE compliant. The REQUEST-RESPONSE mechanism has been integrated as functionalities in the servlet. Below is a schematic overview of the SIP Servlet
How is SIP related Oracle WebLogic?
Already during the BEA era, SIP was supported in WebLogic, but Oracle rebranded and refactored it and came up with OCCAS. The current release is 5.0.
See here an overview how SIP is postioned with in WebLogic
The SIP applications uses the SIP and HTTP servlets, and the underlying resources Oracle WebLogic delivers.
Now, with a default Oracle WebLogic Server installation, you receive a built in SIP Server with in your domain. The templates are defaultin the WebLogic Server home installed ( sipserver.jar, diameter.jar) But if you are planning to use it for your enterprise, these base templates won’t be enough. Oracle Communications Converged Application Server delivers you JEE and JSE services, such as JDBC, JMS, JNDI, RMI/IIOP, EJB, Java Web Services, and IPv6, in-memory data grid services, a real-time Java VM, extensive management and profiling capabilities and more.
Oracle OCCAS –where to download?
You won’t get it from the OTN download site, but you will have to download it from E-Delivery, https://edelivery.oracle.com.
After you have downloaded it, you have an installer JAR file, occas500_ja_generic.jar.
For installation you will have to set your JAVA_HOME and add the java executable to you PATH, because you will start the installation with the JAVA command:
java -jar occas500_ja_generic.jar
note: use the -d64 option if you are on a 64bit platform.
The installation is quite similar to a regular Oracle WebLogic installation, how ever the difference is there during the domain configuration. You can choose one of the following options:
- OCCAS Domain – AdminServer Topology – 5.0.0.0
This option you should ONLY choose if you’re in a development area, like a developers pc, just to develop your SIP applications against
- OCCAS Domain – Replicated Topology – 5.0.0.0
The Replicated Topology is used with SIP applications that require high levels of scalabilty, availability, and performance. So default you will get  two clusters, a engine-tier cluster and a replication-tier cluster
A stateless “Engine Tier†processes all traffic and distributes all transaction and session state to Replication Tier.This Engine tier can contain one or more replicas of all state assigned to it and may be distributed across multiple physical servers. A standard load balancing appliance is used to distribute traffic across the engines in the cluster. It is not necessary that the load balancer should be SIP-aware. However, SIP-aware load balancers can provide higher performance by maintaining a client’s affinity to a particular engine tier server.
- OCCAS Proxy Registrar domain – AdminServer topology – 5.0.0.0
- OCCAS Proxy Registrar domain – Replicated topology – 5.0.0.0
Both use the Proxy and Registrar functionalities. With the registrar function, incoming service calls can be registered and stored in a database.
You can see, OCCAS is quite an outsider in the Oracle Fusion Middleware stack, though quite interesting to learn the techniques and architectures ona deeper level. More is yet to come!
I couldn’t find the OCCAS 5.0 on the edelivery site, I found only 5.1 version, please let me know where to find the 5.0 version, thanks 🙂