Aufbruch in neue Telekommunikations-Welten

Einführung in die JAIN/SLEE-Technologie

Sven Haiges

Java everywhere? Fast! Java ist auf dem Desktop, auf dem Enterprise-Server und natürlich auf fast jedem Mobiltelefon. Mit der JAIN-Initiative dringt Java nun auch in die Welt der Kommunikation vor. Die JAIN APIs haben das Potenzial, die Entwicklung von Kommunikations-Services und Produkten zu beschleunigen. Dieser Artikel stellt Ihnen zunächst die JAIN APIs ganz generell vor, bevor wir dann den Fokus auf die Service Logic Execution Environment legen, meist mit JAIN/SLEE oder JSLEE abgekürzt.

JAIN/SLEE heißt anders ausgedrückt „EJB für Telekommunikations-Services“. Die JAIN APIs (Java APIs for Integrated Networks) verbringen auf der Sun Java Website immer noch ein Schattendasein. Aber die JAIN-Technologien gewinnen zunehmend an Fahrt und haben das Potenzial, die Servicearchitektur vieler Telekommunikationsanbieter grundlegend zu ändern. Hier finden Sie den Weg zu einer bisher eventuell unbekannten Welt: Java-Technologie für Telekommunikationsprodukte und -Services.

Motivation

Die Servicearchitekturen vieler Telekommunikationsdienstleister haben sich in den letzten Jahren durch die zahlreichen Übernahmen und Neuausrichtungen und die neu eingeführten Services und Übertragungstechnologien (GPRS, UMTS) zu wahren Architekturmonstern entwickelt: Meist herrschen eine hohe vertikale Integration und heterogene Netzwerke vor. Dies wirkt sich natürlich negativ auf die Entwicklung von neuen und innovativen Services aus. Die Komplexität der Netze steigt mit jedem neuen Service wie beispielsweise dem Multimedia Messaging Service (MMS) spürbar an und wirkt sich dabei negativ auf das Management des Netzes als Ganzes aus. Die JAIN-Initiative ist der Versuch, vertikale Strukturen aufzubrechen und durch horizontale zu ersetzen. Proprietäre Interfaces werden aufgebrochen und durch JAIN-Technologien ersetzt, die auf Standards basieren. Die JAIN APIs werden durch den Java Community Process zusammen mit einer Vielzahl von Unternehmen spezifiziert: Je nach API sind Unternehmen wie etwa IBM, Motorola, NTT oder Vodafone mit an Bord.

JAIN und andere Java-Technologien

Da JAIN eine relativ neue und bisher eher unbekannte Java-Technologie für die meisten Entwickler darstellt, ist es zunächst einmal interessant, JAIN im Umfeld anderer Java-Technologien zu positionieren. Konkret: Welchen Zusammenhang gibt es zwischen JAIN, der J2ME, der J2SE und der J2EE? Wie aus Abbildung 1 hervorgeht, können die JAIN-Technologien nicht ausschließlich dem Server zugeordnet werden, jedoch sind derzeit die meisten Technologien serverzentrisch.

Die Java-Technologien können allgemein in Client- und Server-Technologien unterteilt werden. Die J2SE und die J2ME sind beide auf Clients ausgerichtet. Die J2ME ist auf ressourcenbeschränkte Geräte ausgerichtet, während die J2SE den normalen Desktop abdeckt. Auf der Serverseite richten sich die J2EE-Technologien an Unternehmensapplikationen, während JAIN nun die Telekommunikations-Services abdeckt. Kommunikations-Services, die in einer SLEE-Umgebung ablaufen, können dennoch mit traditionellen J2EE-Systemen kommunizieren – beispielsweise über RMI. Während ein Telekommunikations-Service, in einem so genannten Service Building Block gekapselt, direkt über RMI mit einem J2EE-Server kommunizieren kann, kann ein J2EE-Service nicht direkt die Kommunikation mit einer SBB-Komponente (also einem Telekommunikations-Service) aufbauen. Über einen extra Resource Adaptor der SLEE-Umgebung muss der J2EE-Server mit dem Resource Adaptor kommunizieren. Der Resource Adaptor wertet die Anfragen dann aus und schickt die entsprechenden Events an die SBB-Komponente.
Applikationen auf mobilen Endgeräten müssen in diesem Szenario nicht zwingend in Java geschrieben sein. Beispielsweise sind die meisten MMS User Agents in mobilen Endgeräten derzeit nicht in Java geschrieben, sondern sind Symbian-OS-basierte C++-Applikationen.

Abb. 1: Überblick über die Java-Technologien und Einordnung von JAIN

Dies kann auch mit einem gewöhnlichen Desktop-System verglichen werden. Ein Webbrowser kann ebenfalls in jeder beliebigen Programmiersprache implementiert sein. Solange der Browser den W3C-Standards entspricht und dadurch die Protokolle wie HTTP oder Sprachen wie HMTL versteht und interpretieren kann, ist er mit den vom Server angebotenen Services kompatibel.

Die JAIN APIs

36, das ist die Zahl der JAIN APIs, die derzeit über den JCP spezifiziert werden oder es bereits schon sind. Natürlich sind es zu viele, um sie alle hier vorzustellen. Deshalb beschränken wir uns auf die generelle Einteilung dieser APIs und stellen Ihnen dann die Service Logic Execution Environment als zentrales und wichtigstes Element einer neuen Servicearchitektur detailliert vor.

Die JAIN-Technologien integrieren Internet-Protokolle und die Protokolle der so genannten intelligenten Netzwerke, die im Telekommunikationsumfeld eine große Rolle spielen. Die Protokolle der intelligenten Netzwerke (engl. Intelligent Networks, IN) werden in einer Telekommunikations-Infrastruktur beispielsweise zum Aufbau und Management von Sprachverbindungen benutzt (SS7). Ein intelligentes Netzwerk ist dabei ein serviceunabhängiges Netzwerk: Die Intelligenz befindet sich nicht im Switch, der die Verbindung zwischen zwei Partnern herstellt, sondern in anderen Computer-Knoten, die im Netzwerk verteilt werden können. Neue Dienste können dadurch schneller und effizienter entwickelt werden. Die JAIN APIs können generell in zwei Gruppen eingeteilt werden:

  • Java Application Interfaces
  • Java Application Containers

Die Java Application Interfaces für Kommunikationsnetzwerke sind dafür verantwortlich, dem Entwickler ein Java API für die Benutzung eines bestimmten Protokolls anzubieten. Der Entwickler wird so von der Komplexität der verwendeten Protokolle abgeschirmt und kann die Funktionalität über Java-Objekte in Anspruch nehmen. Im Gegensatz dazu haben die Java Application Containers das Ziel, für Telekommunikationsdienste eine Standard-Ablaufumgebung zu schaffen. Ähnlich wie ein EJB-Server ermöglicht es eine SLEE (Service Logic Execution Environment), diverse Dienste in einem Netzwerk bereitzustellen. Die Java Application Containers machen dabei oft Gebrauch von diversen Java Application Interfaces, um mit den intelligenten Netzwerken zu kommunizieren. Tabelle 1 unterteilt einige wichtige JAIN APIs in die Java Application Interfaces und Java Application Containers für Telekommunikationsdienste.

Geschrieben von
Sven Haiges
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.