Componentware/Neues Anwendungsgebiet für Rechenzentren

Windows DNA als Basis für das Application-Service-Providing

15.12.2000
Die Betreiber klassischer Rechenzentren denken um. Statt monolithischer Host-Anwendungen sind verteilte, komponentenbasierte Lösungen gefragt. Damit muss nicht nur eine neue Hardwareinfrastruktur geschaffen, sondern auch eine neue Anwendungsgeneration entwickelt werden. Thomas Erbrich* berichtet, wie sich dieses Szenario mit Hilfe von Microsoft-Technik realisieren lässt.

Dem Angebot von Software als Dienstleistung über das Internet, dem Application-Service-Providing (ASP), wird eine goldene Zukunft vorausgesagt. Dessen Infrastruktur wird aber bisher fast ausschließlich über Internet-Service-Provider betreut, weil diese im Gegensatz zu klassischen RZ-Betreibern über eine verteilte Hardwareinfrastruktur sowie über viel Know-how für den Betrieb verteilter Anwendungen verfügen. Dies ändert sich nun aber langsam, denn auch Rechenzentren beginnen, bestehende Host-Systeme abzulösen. Sie machen dies in erster Linie, um die Anwendungen zu modernisieren, die Wartung zu vereinfachen, die Kosten der Infrastruktur zu drücken und auch, um neue Kundschaft zu gewinnen. Internet-basierte ASP-Lösungen bieten hierbei neue Chancen.

Um die Anforderungen an diese neuen Anwendungen erfüllen zu können, hilft es, die Geschäftslogik in Form von Server-basierten Komponenten zu implementieren. Eine einfache Wartung und hohe Flexibilität wird zusätzlich durch Browser-basierte, installationsfreie Clients unterstützt. Durch den Aufbau einer Infrastruktur mit Hilfe von Internet-Technik lassen sich unter anderem die Kosten für Standleitungen senken. Zudem verbessert sich die allgemeine Verfügbarkeit und Skalierbarkeit der Anwendungsarchitektur, und neue Kunden lassen sich einbinden. Moderne ASP-Lösungen können so als Dienstleistung bundesweit über das Internet genutzt und dank ihres komponentenbasierten Aufbaus leicht an die Bedürfnisse der einzelnen Kunden angepasst werden. Microsoft stellte mit der "Windows Distributed Internet Applications Architecture" (Windows DNA) eine derartige Architektur und die dazugehörenden Produkte und Technologien bereit (siehe Grafik "Host-Modernisierung"). Sie zeichnet sich durch eine klare Trennung von Präsentations-, Logik- und Datenhaltungsschicht aus. Basierend auf diesem Modell hat die New Line GmbH für ein mitteldeutsches Rechenzentrum eine Architektur und eine Laufzeitumgebung für Internet-gestützte ASP-Anwendungen entwickelt.

Im Einzelnen stellt Microsoft mit dem Windows 2000 Server ein Betriebssystem zur Verfügung, das bereits alle notwendigen Dienste wie den "Internet Information Server" (IIS), eine verteilte Transaktionsverwaltung (DTC) und eine Komponentenverwaltung (Component Services) mitbringt. Mit dem "SQL Server" wird zudem eine leistungsfähige Datenbank angeboten, und die Extensible Markup Language (XML) findet mittlerweile breiten Einsatz bei der Erstellung strukturierter Dokumente.

Die einzelnen Schichten: Die ideale Benutzer-Schnittstelle sollte sich durch eine hohe Bedienerfreundlichkeit und Effizienz auszeichnen, sich in bestehende Programme integrieren lassen sowie installationsfrei und leicht zu warten sein. Ein Browser-basierter HTML-Client wie Microsofts "Internet Explorer 5.x" kann diese Ansprüche erfüllen. Durch die Unterstützung von XML und ein komponentenbasiertes Scriptsystem kann mit ihm eine komplexe Oberfläche für die Erfassung und Bearbeitung der Daten programmiert werden, ohne dass die Vorteile der Installationsfreiheit verloren gehen. Auch die Integration von Microsofts "Word" ist dabei sehr einfach über wenige Zeilen Script möglich. Die Kommunikation mit der Logikschicht wird durch den Austausch von XML-Dokumenten realisiert, was die Anbindung diverser Frontends erlaubt. So kann etwa die direkte Datenübernahme von mobilen Erfassungsgeräten oder auch die Nutzung von WAP-Handies ohne Änderung der Anwendungslogik implementiert werden.

Bei der Anwendungslogik sind die Tugenden Verfügbarkeit, Skalierbarkeit, Stabilität und Flexibilität gefragt. ASP-Lösungen setzen eine hohe Verfügbarkeit voraus, da zeitgleich mehrere hundert Anwender zu den Bürozeiten mit dem System arbeiten und Daten erfassen, während nachts in einer begrenzten Zeit Batchjobs zur Verarbeitung der Daten laufen müssen. Auch eine hohe Skalierbarkeit ist erforderlich, da sich durch neue Kunden schnell wesentlich höhere Datenmengen ergeben können. Um diesen Anforderungen gerecht zu werden, setzt Windows DNA auf statuslose Komponenten. Da zwischen Anfragen kein Status gehalten werden muss, kann der Server alle Ressourcen nach einer Anfrage wieder freigeben. Dadurch erhöht sich die Anzahl der gleichzeitig möglichen Anfragen. Die Skalierbarkeit der Anwendung wird durch zusätzliche Server (scale out) sowie zusätzliche Prozessoren (scale up) verbessert. Auch die Verfügbarkeit wird positiv beeinflusst, da die lästigen Session-Timeouts nicht auftreten können und Server-seitig kein Single Point of Failure existiert.

Logik sitzt in den COM-KomponentenAls Komponentenmodell steht COM (Component Object Model) zur Verfügung. Dieses ist programmiersprachenunabhängig, so dass im Projekt ein Laufzeitsystem in C++ und die Anwendungskomponenten in Visual Basic entwickelt werden konnte. Die Komponenten können auf die vom System zur Verfügung gestellten COM+ Dienste zugreifen, die ihrerseits die Optimierung und Wiederverwendung von Ressourcen verbessern, wie zum Beispiel Datenbank-Connections (Connection Pooling) oder die automatische Verwaltung von verteilten Transaktionen (Distributed Transaction Coordinator).

Das Laufzeitsystem verwaltet Transaktionen und wertet XML-Ablaufpläne aus, um die Visual-Basic-Anwendungslogik zu steuern. So wird eine hohe Flexibilität des Systems erzielt, ohne die Notwendigkeit von Änderung in den einzelnen Programm-Modulen. XML wird auch als Schnittstelle zum Frontend und zur Datenhaltung eingesetzt, was eine plattformunabhängige Kapselung der Logikschicht und damit den Einsatz beliebiger Clients und Datenhaltungssysteme erlaubt.

Auch bei der internen Präsentation der Daten wird XML genutzt. So tauschen die Logikkomponenten untereinander XML-Dokumente aus, was die Entwicklung der Fachlogik vereinfacht, da mit strukturierten, hierarchisch geordneten Daten gearbeitet werden kann. Zudem lassen sich die einzelnen Komponenten leichter testen, was wiederum die Qualitätssicherung vereinfacht und die Anwendungsstabilität erhöht, und eine Datenkonvertierung zum Datenaustausch mit dem Client oder der Datenhaltung ist nicht mehr nötig, da ja auch diese Kommunikation über XML-Dokumente erfolgt.

In der Datenhaltungsschicht ist neben der Datenhaltung selbst auch die Kommunikation zu externen Systemen angesiedelt. Beides ist bei ASP-Lösungen nicht unproblematisch. So müssen gegebenenfalls unterschiedliche Datenbanken wie MS SQL Server oder Oracle eingebunden und bestehende Altanwendungen wie SAP R/3 oder Host-Systeme integriert werden. Auch die Kommunikation mit externen Systemen ist sehr wichtig und muss sowohl den einfachen Datenträgeraustausch als auch die komplexe B-to-B-Kommunikation unterstützen können. Möglich wird diese Flexibilität wiederum durch XML: Da die Logikschicht XML-Dokumente abfragt, ist ein abstrakter Datenzugriff unabhängig von der physikalischen Datenhaltung möglich. Ebenso lassen sich bei der Kommunikation mit den externen Systemen aus den Ascii-Daten, die ein Datenträgeraustausch bereitstellt, die selben XML-Dokumente erzeugen, die bei der direkten B-to-B-Kommunikation anfallen.

Auf Microsofts DNA basierende Anwendungen zeigen, was durch den Einsatz moderner Architekturen und Technologien erreichbar ist. Vor allem XML macht die Anwendungen flexibler und die Entwicklung einfacher. Aber gerade hier werden künftige Normen und Technologien noch wesentlich weiter gehen. So steht mit dem Simple Object Access Protocol (Soap) demnächst ein XML-basiertes Protokoll zur Verfügung, mit dem, unabhängig von Plattform und Programmiersprache, Methoden über das Web zur Verfügung gestellt und aufgerufen werden können. Damit wird eine völlig neue Art von Komponenten möglich: Web-Services.

Web-Services eröffnen neue AnwendungsszenarienEin Web-Service kann eine komplexe Anwendung oder einfache Dienste wie eine Datenbank über das Internet für andere Programme anbieten. So ist zum Beispiel denkbar, dass Informationen über Kontenbewegungen vom Kreditinstitut als Web-Service angeboten wird und eine Anwendung ihn verwendet, um Zahlungseingänge zu erfragen. Die Anwendung selbst kann wiederum als Web-Service von Kunden über das Internet genutzt werden. Diese Art der Softwarekomponenten werden gerade im Umfeld von ASP ganz neue Geschäftsmodelle für die klassischen RZ-Betreiber ermöglichen.

Produkte wie Microsofts "Biztalk Server" werden dabei die B-to-B-Kommunikation vereinfachen und die visuelle Orchestrierung von Komponenten zu komplexen Arbeitsabläufen und langlaufenden Transaktionen ermöglichen. Diese neuen Technologien sind ein zentraler Bestandteil von Microsofts .NET Initiative. Sie ist die konsequente Weiterentwicklung von Windows DNA. .NET, bietet ein vollständiges Framework zur Erstellung XML-basierter Internet-Anwendungen und ersetzt bisherige proprietäre Technologien wie DCOM durch Standards wie Soap. Die Erstellung und Nutzung von Web-Services über das Internet soll dadurch so einfach werden wie die heutige Entwicklung und Verwendung von Visual-Basic-Komponenten. Ob aber mit den Web-Services tatsächlich plattform- und implementierungsunabhängige Komponenten entstehen werden, bleibt abzuwarten.

*Thomas Erbrich ist Geschäftsführer der Firma Newline Software Development in Frankfurt am Main.

AngeklicktKomponententechnik, wie sie Microsoft mit Windows DNA bietet, kann auch in klassischen Host-Umfeld für frischen Wind sorgen und neue Geschäftsfelder wie etwa für ASP eröffnen helfen. Modernisierte, mehrschichtige Anwendungen versprechen eine einfache Wartung sowie eine hohe Flexibilität durch Browser-basierte, installationsfreie Clients. Die Lösungen können so als Dienstleistung über das Web bezogen werden.

Abb: Mit Hilfe von Windows DNA modernisiert Newline derzeit eine Host-Anwendung in einem mitteldeutschen Rechenzentrum. Quelle: Newline