Why a blog on Java and telecommunications? There is no other industry for which the Java Community Process hosts so many specifications and I wonder if people are aware of this. Additionally, in May I'll be doing a session on both JavaOne and Telemanagement World conferences. A nice trigger for a series of blog postings that starts with an overview of where Java plays a role in the telecommunications industry and with each subsequent post zoom in on the subject of the sessions: OSS/J Order Management and SOA.
As an aside, with the convergence of TV, Internet and telephony it is better to use the term Communication Service Providers (CSP) to capture the whole domain of TV, Internet and telephony.
Java Specification Requests (JSR) for CSP industry can be grouped as follows:
All JSRs targetted at the mobile devices (38)
The JAIN family of JSRs (28)
The OSS/J family of JSRs (12)
(Total number of JRSs 339, so more than 20% is related to CSPs).
The first group of JSRs, Java on Mobile devices, is probably the best known use of Java in telecommunications industry. The enormous number of Java enabled devices consists for a large part of mobile phones and Sun will definitely highlight this again at JavaOne this year. The J2ME, MIDP, CLDC specifications are all targeted at these devices. They make it possible to create applications and games that run on many mobile devices. An example is GCalSync, which synchronizes Google Calendar with the calendar on your mobile).
Much less known is the use of Java in the core telecommunications network and in Operations Support Systems (OSS). The core telecommunications network is the network to which your (fixed or mobile) phone connects. This is the infrastructure needed to actually setup and complete a phone call from one device to another. The OSS systems are more in the IT side and take care of activating of services, billing etc. OSS systems often do not play an active role during a phone call. There is of course a connection between these the OSS systems and the core network. For example, for activating services an OSS Service Activation system will activate services on core network elements like switches.
The JAIN family of APIs is targeted at the core telecommunications network. These APIs define functionality to access core telco network protocols, do call routing, handle media and much more. Ax example of a protocol that many people might know is the Session Initiation Protocol (SIP). This protocol is used in many VoIP implementations and if you've played with VoIP on your computer you probably had to configure SIP Proxies etc. Within the JAIN domain there is even a special kind of application server, the JAIN Service Logic Execution Environment (JAIN SLEE).
Third, but not last, there is the OSS though Java (OSS/J) family of APIs. This family of APIs is targeted at the so called Operations Support Systems that all CSPs have to run their business. The Operation Support Systems cover functionality like activating services on the network, inventory management, fault management, trouble ticketing, order management and billing. One of te main goals of the OSS/J APIs is to slash the integration costs of OSS systems.
So much for the introduction, in the next post I will zoom in on parts of the work done by TeleManagement Forum and the basic ideas behind OSS/J.