Applikations-Server, Entwicklungsumgebung, Corba

Silverstream empfiehlt sich für mehrstufige Java-Anwendungen

18.09.1998

Bereits Mitte letzten Jahres brachte das mit 28 Millionen Dollar Venture-Kapital ausgestattete Unternehmen die erste Version des gleichnamigen Produkts "Silverstream" heraus. Die jetzt vorgestellte Version 2.0 behebt eine Reihe typischer Kinderkrankheiten und wird mit seinem beachtlichen Funktionsumfang auch für den unternehmensweiten Einsatz interessant.

Die aktuelle Ausführung besteht aus den beiden komplett in Java gehaltenen Bestandteilen "Silverstream Designer" und "Silverstream Server". Letzterer verfügt über die komplette Funktionalität eines HTTP-Servers. Dennoch läßt sich der Anwendungs-Server zusammen mit Netscapes "Enterprise Server" oder Microsofts "Internet Information Server" nutzen, weil er die Kommunikation via NSAPI und ISAPI unterstützt. Im Gegensatz zu normalen Web-Servern verwaltet Silverstream keine statischen Seiten im Dateisystem, sondern bewahrt alle Daten und Metadaten, die zu einer Web-Site gehören, in einer Datenbank auf. Bei Bedarf erzeugt er Dokumente dynamisch. Die Verschmelzung von Web-Server, Datenbank und Applikations-Server erinnert eher an ein Content-Management-System wie "Hyperwave" als an die Konkurrenzprodukte "Progress Apptivity" oder "Netdynamics". Die Vorteile dieser Architektur liegen im Vergleich zu herkömmlichen HTTP-Servern laut Silverstream vor allem darin, daß sie typische Datenbank-Features wie Wiederherstellung im Fehlerfall, Backup-Mechanismen, Zugriffskontrolle, Benutzer- und Versionsverwaltung bietet.

Standardmäßig gehört die Sybase-Datenbank "SQL Anywhere" zum Lieferumfang. Während der Installation lassen sich jedoch alle namhaften relationalen Systeme für die sogenannte "Silvermaster"-Datenbank einbinden. Sie speichert später alle zu Web-Dokumenten gehörigen Daten, aber auch Konfigurationsinformationen wie jene für die Benutzerverwaltung.

Der Applikations-Server, auf dem die Anwendungen ablaufen und der die Kommunikation der Clients mit den verschiedenen Datenquellen koordiniert, zeichnet sich vor allem durch die umfassende Integration von Suns Programmiersprache Java aus. Bis auf Enterprise Javabeans (EJB) - das neueste Kompontenmodell aus dem Hause McNealy - unterstützt der Silverstream-Server beinahe alles, was Java momentan zu bieten hat. Dazu gehören Datenbankanbindung über Java Database Connectivity (JDBC), Javabeans, Remote Method Invocation (RMI), Servlets und das Java Naming and Directory Interface (JNDI), über das sich Verzeichnisdienste ansprechen lassen.

Für die Anbindung von nicht-relationalen Datenquellen und bestehenden Enterprise-Anwendungen sind die sogenannten Data Source Objects (DSO) gedacht. Mit ihrer Hilfe soll beispielsweise Lotus Notes oder Standardsoftware wie Peoplesoft oder SAP R/3 zugänglich sein. Für den Zugriff auf das Notes-API steht allerdings lediglich eine Dynamic Link Library (DLL) bereit. Ein weiterer Anwendungsbereich für die DSO sind Transaktionsmonitore wie IBMs "CICS", "Bea Tuxedo", Message Oriented Middleware wie "MQ Series" sowie komplexe SQL-Kommandos und Stored Procedures.

Im Regelfall läuft der Client-Teil einer Silverstream-Anwendung als Applet in einem Web-Browser. Wer allerdings die volle Funktionalität des JDK 1.1 benötigt oder die Beschränkungen des Sandbox-Modells vermeiden will, kann das Java-Front-end auch im Stand-alone-Modus ausführen.

Für diesen Fall liefert Silverstream einen eigenen Client namens "Jrunner" mit, der die benötigten Java-Klassen auf den Arbeitsplatz-PC herunterlädt und ausführt. Dieser muß aber nicht von Hand installiert werden, sondern läßt sich mittels Browser auf den Zielrechner übertragen. Im Gegensatz zu Java-fähigen Browsern läuft Jrunner allerdings nur unter Windows NT und Sun Solaris 2.6.

Für das Front-end unterstützt Silverstream neben Java auch HTML. Für beide Ausführungen bevorzugt Silverstream HTTP zur Kommunikation mit dem Applikations-Server. Es bereitet bei Verbindungen durch Firewalls und Proxy-Server weniger Schwierigkeiten als das Internet Inter-ORB Protocol (IIOP). "Visibroker" von Inprise gehört aber zum Lieferumfang.

Silverstream wartet in der Version 2.0 mit Konzepten für unternehmensweite DV auf. Der Applikations-Server unterstützt Multithreading und läßt sich über mehrere Maschinen verteilen. Ein eigenes Cluster-Management kann beliebig viele Applikations-Server bündeln, der Zugriff ist für Anwender transparent. Die eingehenden Client-Anfragen sammelt der Dispatcher und reicht sie über einen Load-Server an den ersten freien Applikations-Server weiter. Um eine hohe Verfügbarkeit der einzelnen Server-Instanzen sicherzustellen, kann ein Cluster so konfiguriert werden, daß im Fehlerfall eine einzelne Komponente oder der komplette Verbund automatisch neu gestartet wird. Über einen Cache-Server werden Datenbankverbindungen gebündelt, um zeitraubende Logon- und Logoff-Operationen zu sparen. Dieses Caching erlaubt es zudem, daß mehrere Applikations-Server Operationen auf ein und derselben Datenbank vollziehen können.

Als Verwaltungswerkzeug für die verschiedenen Server fungiert die Server Management Console (SMC). Mit Hilfe dieses ebenfalls in Java geschriebenen Tools kann der Administrator alle Bestandteile eines Clusters - Cache-, Load-, Applikations-Server und Dispatcher - überwachen und konfigurieren. Darüber hinaus dient die Konsole zur Verwaltung von Benutzern und Benutzergruppen sowie aller Datenbanken, auf die der Applikations-Server Zugriff hat. Die Anbindungen an Datenbanken der Hersteller Oracle, Informix, Microsoft und IBM (DB2) erfolgt via nativer Java-Treiber. Für Sybase wird die JDBC-Software "Jconnect" mitgeliefert.

Entwicklung für den Server

Die Programmierung von Applikationen erfolgt in der integrierten Entwicklungsumgebung (IDE) namens "Designer". Insgesamt präsentiert er sich als komfortables Tool für das Rapid Application Development (RAD). Mit Hilfe sogenannter Experten und Wizards lassen sich sowohl Java- als auch HTML-Clients im Point-and-click-Verfahren erstellen.Der "Table Designer" dient zur Pflege und Modifikation der Datenbanken und ihrer Tabellen. Für die Java-Programmierung von Eingabemasken und Reports stehen die zwei GUI-Builder "View Designer" und "Form Designer" zur Verfügung. Die Gestaltung von Web-Seiten übernimmt ein WYSIWIG-Editor namens "Page Designer", der die gängigen HTML-Standards ausreichend unterstützt. Da eine komplexe Anwendung in der Regel den Entwicklern noch einiges an Feinarbeit abverlangt, ist ein Programmiereditor in den Designer integriert.

Ein weiteres wichtiges Element der IDE ist der "Business Object Designer". Er kapselt beispielsweise Programmteile zur späteren Wiederverwendung als Javabeans, Corba-Objekte oder Java-Packages.

Mit eigenen Teamfunktionen oder einer Versionsverwaltung kann Silverstream nicht aufwarten. Allerdings lassen sich Fremdprodukte über Schnittstellen in die Entwicklungsumgebung einbinden. Unterstützt werden dabei beispielsweise Microsofts "Source Safe" oder Intersolvs "PVCS".

Thomas Nitsche arbeitet als freier Autor in München (nitschecis.uni-muenchen.de).