Fachkonferenz OOP mit neuen Trends

Web-Services bringen mehr Farbe in die Komponentenwelt

01.02.2002
MÜNCHEN (as) - Die Fachkonferenz für objektorientiertes Programmieren (OOP) gerät immer mehr zu einer über die Objektorientierung hinausreichenden Informationsveranstaltung zu Technologien und aktuellen Trends. Eine der diesjährigen Botschaften lautet, dass Web-Services OO-Architekturen nicht ersetzen, sondern diese vielmehr erweitern und benötigen.

Stellvertretend gab Michael Stal, Senior Principal Engineer in der Corporate Technology der Siemens AG, auf der Veranstaltung einen guten Einblick in die Bedeutung und Limitationen von Web-Services. Unternehmen sehen sich in einer zunehmend vernetzten Welt hohen Anforderungen gegenüber. Es gilt interne und Web-Anwendungen, Dienste und Systeme zu integrieren, eine Quality of Service (Verfügbarkeit, Ressourcen, Zeit) zu erhalten, automatisierte und autonome Systeme zu installieren, Mehrwertdienste anzubieten und unterschiedliche Datenformate austauschen zu können. Dieses kann jedoch nur eine komponentenbasierte und Web-taugliche Architektur leisten, die zudem bestehende Anwendungen integriert.

Dem steht jedoch entgegen, dass Web-Server dem Frontend bisher nur HTML-basierende Informationen bereitstellen, aber keine Zugriffe auf Funktionen ermöglichen. Eine Kommunikation ist nur durch menschliche Interaktionen möglich. In Zeiten von B-to-B, B-to-C oder für Peer-to-Peer sollen jedoch Anwendungen direkt miteinander "sprechen" und auf Dienste zugreifen können, die idealerweise als Komponenten überall im Netz verfügbar sind. Bestehende Middleware-Technologien in das Web zu verlängern ist zwar per Tunneling möglich, bringt aber aufgrund proprietärer Protokolle nicht die nötige Interoperabilität.

Das Web als Service-BrokerWeb-Services ihrerseits sind in der Regel auch komponentenbasierend entwickelt, nutzen aber XML-Schnittstellen und verdecken so bisherige proprietäre Kommunikationsmechanismen. Ähnlich dem Corba-Konzept beispielsweise verwenden Client und Server lokale, nun aber in der XML-Sprache Web Services Description Language (WSDL) beschriebene Proxy-Schnittstellen, die in XML abgefassten Methodenaufrufe über das Simple Object Access Protocol (Soap) machen und sich dazu beispielsweise des HTTP-Transportprotokolls bedienen. Das Web wird dabei laut Stal zum "Service Broker", der die Kommunikationspartner sucht, deren physikalische Adresse vorhält und über Registries wie UDDI verwaltet.

In der Praxis zeigen die angehenden Web-Services-Standards noch einige Mängel. So kritisierte Stal, dass Soap-Nachrichten einen "Header" haben können, der nicht standardisiert ist. Dadurch kann es beim Routen und Auslesen der Nachricht zu Problemen durch inkompatible Herstellerimplementierungen kommen. Ebenso betrachtet der Siemens-Fachmann WSDL und ihre Elemente als "ziemlich wüst" und komplex. Sie lasse Raum für Interpretationen und beschreibe nur die Syntax der Proxies, nicht jedoch die Funktionsweise eines Dienstes.

Zudem benötigen Web-Services laut Stal weitere "Zutaten" als da wäre eine plattformunabhängige Laufzeitumgebung (Virtual Machine), um Informationen und Dienste wirklich für jeden Client von jedem Ort aus verfügbar zu machen. Weiter sollten sich neue Dienste aus bestehenden Komponenten erstellen lassen und sowohl Code als auch Dateninteroperabilität bieten. Web-Server sollten als Gateway für Web-Seiten und Dienste gleichermaßen fungieren können.

Außerdem, so Stal, müssten Web-Services auch Kontextinformationen verwenden, austauschen und sich durch sie anpassen und steuern lassen. Dies könnten zum Beispiel Informationen über Ort, Transaktionen und den Aufrufer des Dienstes sein. Höherwertige Dienste wie die umstrittenen ".NET Myservices" sind schließlich ebenso sinnvoll wie Workflow-Engines für Web-Services sowie Konnektoren und Middleware wie J2EE, Corba oder COM+ für die Einbindung von Legacy-Code. Web-Services machen daher heutige Middleware nicht obsolet, sondern vielmehr immer wichtiger.

Allerdings ist der breite Einsatz von Web-Services in der Praxis noch selten. So gaben von den rund 200 Zuhörern des Vortrags lediglich einige wenige an, solche Dienste schon einmal benutzt zu haben. Und auch eine großangekündigte Herstellerpräsentation einer Web-Services-basierenden Auftragsabwicklung über mehrere Systeme verschiedener Anbieter gelang zumindest am ersten Messetag nur zum Teil und zeigte eher die Probleme mit den neuen Standards.

Zu den Pionieren gehört daher die Hypo-Vereinsbank (HVB). In seinem Vortrag berichtete Projektleiter Markus Wagner von seinen Erfahrungen bei der Erstellung eines Präsentations-Frameworks für Web-Anwendungen. Seiner Ansicht nach bringe der Einsatz von XML, insbesondere in Verbindung mit Soap, deutliche Vorteile bei der Kommunikation, da sich Anwendungen zum Beispiel entkoppeln ließen. Die Perfomance und der Entwicklungsaufwand lassen sich dabei verringern, in dem Komprimierungsverfahren - in diesem Fall "Wap Binary XML" (Wbxml) - die Netzlast reduzieren und beim Parsen und Erzeugen von XML-Schnittstellen eine durchgängige XML-Implementierung verwendet wird.

Schwächen in SoapDem Team fielen aber um Wagner auch Schwachpunkte an Soap auf: So ist es weder möglich, Aufrufe während einer Transaktion zu starten, noch mehr als einen Aufruf gleichzeitig zu machen. Ferner konnten nur "einfache" Datentypen übertragen werden, das heisst, wenn eine Methode ein Objekt schickt oder erwartet, muss dieses erst in XML erzeugt beziehungsweise serialisiert werden. Zudem muss eine Client-Schnittstelle, wenn sie nichts mit der aufgerufenen Komponente zu tun hat, auf irgendeine Weise eine XML-Schnittstelle erhalten. Die HVB konnte diese Mängel von Soap jedoch ausräumen, indem sie zum einen für das Sammeln und Übertragen mehrerer Aufrufe zusätzlich einen Controller/Dispatcher einsetzte. Zum anderen wurden die WSDL für die jeweiligen Services sowie der benötigte Client-Code aus der WSDL mit Hilfe von Generatoren erzeugt.

XML Schema ist die ZukunftEbenfalls mit XML im Unternehmenseinsatz beschäftigte sich der bekannte Methodenspezialist Peter Herzum. Seiner Erfahrung nach nutzen US-Unternehmen die Metasprache und ihre Anwendungen bisher vor allem für den Informationsaustausch mit anderen Firmen und zwischen Communities.

Dabei kommen Metadatenbeschreibungen wie die Document Type Definitions (DTD) und deren Nachfolger "XML Schema" bisher nur dann zum Einsatz, wenn sich die Kommunikationspartner nicht kennen. Firmen sollten künftig nur noch XML Schema verwenden, da diese mit den Limitationen von DTDs wie eine uneinheitliche Syntax aufräume und jetzt Datentypen und Namespaces verwendet. Auch ist sie nun selbst in XML beschrieben und bietet neue Möglichkeiten wie benutzerdefinierte Datentypen (Archetypen) oder das "Content-Model", mit dem ein Schema die Reihenfolge von Elementen beschreibt und über Datentypen die gültigen Dateneinheiten festlegt. Unternehmen müssen sich aber darauf einstellen, dass der Entwicklungsaufwand steigt, da DTDs oder XML Schema laufend angepasst und letztlich versioniert werden müssten. Erhebliche Performance-Einbußen durch XML-Anwendungen seien hingegen nicht zu befürchten.

Größere VielfaltMit einer nochmals erweiterten Agenda wartete in ihrem elften Jahr die Münchner Fachkonferenz auf. Neben Vorträgen rund um die Java-Plattform, den Einsatz von Komponenten, Analyse und Design, XML sowie einzelnen Präsentationen zu Microsoft-Technologien und Projekt-Management richteten die Organisatoren erstmals Vortragsreihen zu Trends wie mobilen Anwendungen und Web-Services ein. Daneben kamen neue Modellierungsansätze wie die "Model Driven Architecture" zur Sprache (siehe Seite 20) .Nach Angaben der Veranstalter ließen sich zudem mit rund 1300 Konferenzteilnehmern und fast 60 Ausstellern die Zahlen des Vorjahres trotz angespannter Wirtschaftslage in etwa erreichen. Hersteller wie etwa Rational Software oder Progress Software ziehen zudem mittlerweile derartige Fachmessen einer Teilnahme an der CeBIT vor.

Insgesamt bestand auf der OOP der Konsens, dass objektorientierte Methoden und Standards wie Java, Corba, Smalltalk und COM beziehungsweise künftig .NET auch in Zukunft die Grundlagen der Softwareentwicklung bleiben. Daran wird der zunehmende Einsatz von XML-Anwendungen und Web-Services nichts ändern. Vielmehr ergänzen sich bestehende und neue Technologien und machen den Aufbau stabiler und leistungsfähiger, komponentengestützter Architekturen unter Verwendung entsprechender iterativer Methoden umso wichtiger. Kommende Integrations- und Kommunikationsszenarien zwischen Anwendungen innerhalb und außerhalb der Unternehmensgrenzen werden aber vielfältiger und flexibler werden, wie auch die Zahl und Ausprägungen von Clients, die auf diese Systeme zugreifen, zunehmen wird.