Sametime 7.5 – SDK

15.12.2006 von Elmar Fuchs
Die Erweiterbarkeit der Funktionalität von Sametime 7.5 stellt eine wichtige Komponente beim Einsatz dieser Plattform dar. Das Software Development Kit beinhaltet die dafür notwendigen Werkzeuge.

Sametime 7.5 umfasst drei Bereiche: Dienste für die Community (Awareness, Instant Messaging, Chat), Dienste für die Online Besprechungen (Besprechungscenter zur Planung, Whiteboard, Application Sharing) und Dienste zur Anpassung und Integration. Letztgenannte dienen der Einbettung von Sametime-Funktionen in externe Anwendungen und der Anpassung des vorhandenen Sametime-Leistungsumfangs.

Dies entspricht der Produktphilosophie von IBM, Sametime 7.5 nicht als einzelne Anwendung sondern als Plattform zu propagieren. Für die Nutzung der Dienste zur Anpassung und Integration steht Entwicklern mit dem Sametime 7.5 Software Development Toolkit ein umfangreiches Paket mit Anleitungen und Beispiellösungen für verschiedene Programmiersprachen und Anwendungszwecke zur Verfügung.

Der folgende Artikel gibt einen Überblick über die Bestandteile des Development Kit und skizziert deren Einsatzmöglichkeiten.

Inhalt

Das Sametime 7.5 Software Development Kit besteht aus acht einzelnen Toolkits. Im Gegensatz zu den vorigen Versionen, bei denen die Toolkits einzeln verfügbar waren, steht das Development Kit bei Sametime 7.5 als Komplettpaket als ZIPArchiv auf der Webseite www-128.ibm.com/developerworks/lotus/downloads/toolkits.html zum Download bereit.

Die Installation des Development Kit beschränkt sich auf das Entpacken der Datei in ein beliebiges Verzeichnis der Festplatte. Dabei wird der Ordner st75sdk erstellt. Dieser enthält in den drei Unterordnern client, licence und server alle benötigten Dateien. Wollen Sie per HTTP auf die einzelnen Toolkits und deren Beispiele und Informationsseiten zugreifen, installieren Sie das Development Kit auf dem Domino Server in einem Ordner unterhalb des Verzeichnisses ../lotus/domino/data/domino/html.

Zum Deinstallieren müssen Sie den Ordner st75sdk lediglich von der Festplatte löschen. Im Ordner client befinden sich die drei Client-Toolkits:

Die in den früheren Versionen vorhandenen Client-Toolkits für C++ und COM wurden für Sametime 7.5 nicht aktualisiert und sind somit auch nicht Bestandteil des Software Development Kit. Die bestehenden Versionen können jedoch in Verbindung mit Sametime 7.5 genutzt werden. Eine Weiterentwicklung dieser Toolkits ist allerdings laut IBM nicht geplant.

Der Ordner server beinhaltet folgende fünf Toolkits:

Sametime Connect Toolkit

Das Sametime Connect Toolkit ist ein neuer Bestandteil des Development Kit. Sie können es nicht mit früheren Versionen verwenden, da es speziell für den Connect Client von Sametime 7.5 entwickelt wurde. Dieser basiert auf der Eclipse-Plattform. Das ermöglicht, die Clientfunktionen mittels Plug-Ins zu erweitern. Diese können an verschiedene Stellen eingebunden werden:

Bild 1 zeigt einige Integrationspunkte.

Bild 1: Integrationspunkte bei Sametime Connect, die mit dem SDK angesteuert werden können.

Das Toolkit enthält bereits sechs Beispiel-Plug-Ins. Wie diese in den Connect Client eingebunden werden, erläutert das beiliegende Tutorial. Ein Leitfaden, der Hinweise zur Gestaltung der Benutzerschnittstelle liefert, ist ebenfalls Bestandteil der Dokumentation des Sametime Connect Toolkit. Daneben wird die Laufzeitumgebung J9 JCL Desktop zur Verfügung gestellt, welche Sie für die Entwicklung sowie das Testen und Debuggen bei der Plug-In-Entwicklung verwenden können.

Neben dieser benötigen Sie als Entwicklungsumgebung Eclipse 3.2, das zugehörige Plug-In, um die Laufzeitumgebung starten zu können, sowie ein Java-JDK Version 1.4.2 oder höher.

Die Verwendung der Beispiel- sowie die Entwicklung eigener Plug-Ins für den Connect Client wird Gegenstand kommender Artikel zur Thematik Sametime Software Development Kit sein.

Sametime Links Toolkit

Das Sametime Links Toolkit ermöglicht unter Verwendung von HTML und JavaScript die Integration von Sametime-Funktionen in eigene Webseiten. Folgende funktionale Merkmale zeichnen das Sametime Links Toolkit aus:

Der Zugriff auf die Webseite erfolgt wie gewohnt mit einem Browser. Dafür können der Microsoft Internet Explorer 6.0, der Mozilla 1.7.12 oder der Firefox 1.5 jeweils unter Windows XP Professional mit installierten Servicepack 2 genutzt werden. Unter Red Hat Enterprise Linux 4.0 und Novell Linux Desktop 9.0 stehen ebenfalls die genannten Versionen des Mozilla und des Firefox zur Auswahl. Generell wird eine Java Laufzeitumgebung (Sun JRE) Version 1.4.2 oder höher benötigt. Serverseitig wird Sametime 3.1 oder höher auf Windows, iSeries, AIX oder Solaris vorausgesetzt.

Bild 2: Zugriff auf einen Sametime 7.5 Server unter Verwendung von Toolkit-Funktionen.

Der Funktionsumfang des Sametime Links Toolkit hat sich zu den Vorgängerversionen nicht geändert. Es gibt lediglich eine kleine Änderung bei der Lokalisierung des Sametime-Servers für Domino-Anwendungen. In der Ausgabe 09/2005 dieser Zeitschrift wurden die Möglichkeiten des´Sametime Links Toolkit im gleichnamigen Artikel vorgestellt und an Hand eines Beispiels demonstriert. Bild 2 zeigt dieses Beispiel auf einem Sametime 7.5 Server unter Verwendung des zugehörigen Toolkits. Wie Sie der Abbildung entnehmen können, wird der in Sametime 7.5 neue Status In einer Besprechung scheinbar nicht unterstützt. Bei dessen Auswahl wird auch kein Symbol in der Webseite angezeigt. Die MausÜber-Aktion zeigt jedoch den korrekten Status an.

Sametime Java Toolkit

Das Sametime Java Toolkit ermöglicht die Einbindung von Sametime-Funktionen in Java-Anwendungen. Sie können dabei sowohl Desktopals auch Serveranwendungen programmieren. Das Java Toolkit beinhaltet die Java API, Beispielanwendungen und die Dokumentation einschließlich eines Tutorials. Die API bietet Möglichkeiten zur Programmierung der Dienste für die Community (zum Beispiel Awareness und Buddy List), für Besprechungen (z.B. Application Sharing, Whiteboard) und der Komponenten zur Entwicklung einer eigenen Benutzerschnittstelle (z.B. ChatUI, FileTransferUI).

Folgende Merkmale kennzeichnen das Sametime Java Toolkit:

Als Java-Umgebung wird bei der Programmierung ein JDK ab Version 1.4.2 vorausgesetzt. Clientseitig ist für die Anwendung eine JRE ab 1.4.2 notwendig. Für Applets wird eine der folgenden Kombinationen vorausgesetzt:

Analog zum Sametime Links Toolkit hat sich auch beim Sametime Java Toolkit der Funktionsumfang gegenüber der Vorgängerversion nicht geändert. Im Heft 10/2005 der Expert´s inside Lotus Notes Domino wurde im Artikel Das Sametime Java Toolkit dieses ausführlich besprochen. Im Beispiel wurden das Erstellen einer Session, das An- und Abmelden am Sametime-Server, die Erstellung einer Awareness-Liste inklusive Chat und Dateiversand, das Hinzufügen von Personen zu dieser Liste und die Einstellung der Privatsphäre und des Benutzerstatus gezeigt.

Bild 3: Der Zugriff auf einen Sametime 7.5 Server.

Bild 3 zeigt die Umsetzung des Beispiels mit dem Toolkit und Server der Version Sametime 7.5. Auch hier scheint es noch Probleme mit der Anzeige für den Status In einer Besprechung zu geben. In der Kontaktliste wird zumindest kein Symbol angezeigt (Bild 3, Teilnehmer Bernd Trobke). Beachten Sie, dass Anwendungen, welche Sie mit einer früheren Version des Sametime Java Toolkit programmiert haben, neu kompiliert werden müssen, damit Sie in der neuen Version korrekt funktionieren.

Server-Toolkits

Bereits in den Vorgängerversionen des Sametime Software Development Kits waren die drei Toolkits

enthalten. Alle drei bieten die Möglichkeit, Anwendungen für den Server zu entwickeln.

Das Sametime Community Server Toolkit umfasst die Sametime Community Server API, Beispielanwendungen und Dokumentationen. Mit diesem Toolkit können Sie Anwendungen entwickeln, welche mit dem Community Server und den einzelnen Benutzern kommunizieren. Damit können Sie innerhalb der Community vorhandene Dienste erweitern oder neue anbieten. Als mögliches Beispiel nennt IBM die Erstellung eines Dienstes für Offline-Nachrichten um abwesenden Benutzern eine Mitteilung zu senden, welche diese nach ihrer nächsten Anmeldung zugestellt bekommen.

Gegenüber der Vorgängerversion gibt es keine Neuerungen im Sametime Community Server Toolkit. Technische Voraussetzung für die Verwendung des Toolkits ist eine Java-Entwicklungsumgebung der Version 1.1 oder höher. Als Sametime-Server benötigen Sie unter Windows mindestens die Version 2.5 und unter iSeries die Version 3.1. Es wird jedoch empfohlen, den Sametime-Server 7.5 einzusetzen, da nur dieser den vollen Funktionsumfang der neuen Version unterstützt.

Das Sametime Directory & Database Toolkit bietet die Möglichkeit Java- oder C++-Komponenten zu erstellen, welche die Funktionalität des Servers erweitern. Mögliche Funktionen sind die Verzeichnisintegration und Anpassung der Authentifizierung, die Chat-Protokollierung, die Durchführung von Virentests für zu übertragende Dateien sowie der Zugriff auf Benutzerdaten in anderen als den standardmäßig verwendeten Datenbanken. Damit ist der Leistungsumfang gegenüber der Vorgängerversion erweitert worden, da die beiden letztgenannten Anwendungsfälle dort noch nicht zur Verfügung standen. Zur Umsetzung der Möglichkeiten stehen vier Service Provider Interface (SPI) zur Verfügung:

Die einzelnen SPIs sind als DLL-Dateien für Windows und als Dienst für die Verwendung unter iSeries implementiert, wobei das Chat Logging SPI und das Token Authentication SPI momentan nur in C++ unter Windows vorhanden sind. Bei dem User Information SPI handelt es sich um eine Java-Komponente, welche eine Java-Entwicklungsumgebung der Version 1.4.2 oder höher benötigt. Sie ist an keine Umgebung gebunden.

Die im Sametime Telephony Conferencing Service Provider Interface (TCSPI) Toolkit enthaltenen Java-Klassen ermöglichen es, Click-To-Call-Telefonie und Voice Chat (VoIP) für Sametime-Connect, Web-Konferenz und Lotus Notes bereitzustellen. Das Toolkit war bereits in früheren Versionen des Development Kit verfügbar, wurde jedoch für die Version Sametime 7.5 erweitert. Es umfasst neben den Dokumentationen mehrere Eigenschafts-, Test- und Beispieldateien. Anhand eines Mock Service-Providers wird die prinzipielle Funktionsweise eines Service Provider gezeigt. Dessen Installation wird in der Datei readme.txt im Verzeichnis server/tcspi erläutert.

Neue Toolkits

Das Sametime Online Meeting Toolkit und das Sametime Monitoring & Statistics Toolkit nehmen in mehrfacher Hinsicht eine Sonderstellung ein. Beide Toolkits sind neu in der Version 7.5 in das Sametime Software Development Kit aufgenommen worden und bei beiden handelt es sich um Dienste, die über ein Servlet auf dem Sametime-Server aufgerufen werden. Im Installationsordner befindet sich jeweils nur eine PDFDatei welche die Funktionsweise des Dienstes beschreibt. Der Aufruf erfolgt über eine URL mittels HTTP. Neben dem manuellen Aufruf kann dies auch programmtechnisch geschehen, so dass Sie mit beiden Toolkits Anwendungen sowohl für den Desktop als auch für den Server entwickeln können.

Das Sametime Monitoring & Statistics Toolkit dient dem Auslesen der Serverstatistiken. Über den URL http://<ServerName>/servlet/statistics fordern Sie die Statistikdaten von dem Dienst an. Voraussetzung ist, dass Sie in der Zugriffskontrollliste der Datenbank Sametime Configuration (STConfig.nsf) neben den erforderlichen Zugriffsrechten auch die Rolle SametimeMonitor besitzen (Bild 4). Nach der erfolgreichen Authentifizierung und Überprüfung der Rechte werden diese in Form einer XML-Datei zurückgeliefert. Beim ersten Aufruf enthält die Datei nur einen Datenrumpf, da dass Servlet lediglich initialisiert wird:

<?xml version="1.0" encoding="UTF-8" ?>
<SametimeStatistics />

Bild 4: Die Konfiguration der Access Control List für einen Sametime-Server.
Bild 5: Die XML-Datei.

Anschließend enthält die Rückgabedatei bei jedem Aufruf die aktuellen Statusdaten des Sametime-Servers. Die Angaben in Bild 5 stehen für 13 angemeldete Benutzer (UsersNum), zwei aktive Chat (IMs) sowie einem neuen Chat (NewImCnls) und sieben gesendeten Chat-Nachrichten (Im-Msgs) seit dem letzten Abfragen der Statistik. Die Datei Sametime_Monitoring_Statistics_Toolkit.pdf im Unterordner server/stats des Development Kit enthält eine Übersicht mit der Zuordnung der einzelnen Elemente der XML-Datei zu deren inhaltlicher Aussage.

Online Meeting Toolkit

Das Sametime Online Meeting Toolkit ermöglicht es, Webkonferenzen per HTTP mittels eines URL-Aufrufs zu planen und zu verwalten. Die Anforderungen werden als HTTP GET-, POST-, PUT- oder DELETE-Befehle gesendet. Die Rückgabedaten werden wiederum in Form einer XML-Datei geliefert. Es ist möglich Besprechungen zu erstellen, zu verändern, zu suchen, die Parameter von Besprechungen abzufragen oder eine Besprechung zu löschen. Bei der Konstruktion des URL müssen Sie darauf achten, dass sich diese je nach dem verwendeten Basissystem für Sametime – Domino oder WebSphere – unterscheidet. So fragt der Befehl http://<Servername>/servlet/meeting/scheduled die Daten aller geplanten Besprechungen bei Verwendung eines Domino-Servers ab (Bild 6). Unter WebSphere lautet der gleiche Befehl http:// <Servername>/sametime/meeting/scheduled.

Bild 6: Die Daten aller geplanten Besprechungen.

Auch mit dem Sametime Online Meeting Toolkit können sowohl Desktop- als auch Serveranwendungen erstellt werden. Die Datei OnlineMeetingToolkit.pdf im Verzeichnis server/meeting des Development Toolkit beschreibt die Verwendung der einzelnen Befehle, die Struktur der Rückgabedaten sowie mögliche auftretende Fehler.

Zusammenfassung

Die Erweiterungsmöglichkeiten sind ein wesentlicher Punkt beim Einsatz von Sametime 7.5. Dabei stehen dem Entwickler mit den Client und Server Toolkits leistungsstarke Werkzeuge zur Umsetzung spezieller Anforderungen zur Verfügung. Besonders die Ausnutzung der Erweiterbarkeit des Connect Client lässt einen weiten Spielraum, um diesen exakt an die eigenen Bedürfnisse und Anforderungen anzupassen.

In den folgenden Ausgaben von Expert’s insideLotus Notes/Domino wird in loser Folge auf weitere Aspekte der Nutzung des Sametime SDK der Version 7.5 eingegangen. Dank des Toolkits lassen sich relativ einfach sehr flexibel nutzbare Anwendungen erstellen.