Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Etter, Mathias:

Zur Qualitätsverbesserung
der Entwicklung und Pflege
von verteilten Anwendungen

Konzeption und Realisierung einer
Bibliothek auf der Basis von TCP/IP

Als Ms. gedr. - Aachen: Shaker, 1999
Berichte aus der Infomatik
Zugl.: Ulm, Univ., Diss., 1999

ISBN 3-8265-6428-6


Shaker Verlag GmbH - Postfach 1290 - 52013 Aachen
Internet: www.shaker.de - eMail: info@shaker.de

In den letzten 10 bis 15 Jahren wurden verschiedene Modelle zur Prozeßverbesserung in Softwareentwicklung und -pflege entwickelt und in die Praxis eingeführt. Bekannte Vertreter sind die ISO 9000 ff. mit speziellem Fokus auf Qualitätsmanagement, CMM (Capability Maturity Model) und SPICE (Software Process Improvement and Capability dEtermination).

Diese Modelle betrachten vorrangig die organisatorischen und vorgehensmethodischen Ebenen in Entwicklungs- und Pflegeprozessen. Die Qualität dieser Prozesse, gemessen z.B. an Fehlerraten oder sog. redo-Zyklen, ist aber auch durch technische Aspekte bestimmt:

Dazu wurden in den letzten Jahren Abstraktionen auf Basis von RPC-, ROI- oder RMI-Technologien in Form von sogenannten Middleware-Systemen und Programmiersprachen bzw. zugehörigen Bibliotheken entwickelt, die zumindest den zweiten Punkt erheblich entschärfen. Allerdings entziehen sie dem Entwickler bei entsprechenden Anforderungen an Robustheit, Fehlertoleranz oder Performance oft die Nutzung gegebener Basisfunktionalitäten. Weiterhin definieren diese teilweise sehr hoch abstrahierten Schnittstellen zu den Kommunikationsprotokollen zumeist ein eigenes Anwendungsprotokoll und erfordern eine spezielle Infrastruktur, weshalb sich z.B. Standard-Internet-Dienste und Anwendungen des World Wide Web damit weder bauen noch nutzen lassen.

Die Entwicklung von verteilten Anwendungen unter der direkten Verwendung einer systemnahen Schnittstelle zu den Kommunikationsprotokollen (z.B. Berkeley-Sockets) sowie den Eigenschaften und Basismechanismen des zugrundeliegenden Prozeß- und I/O-Systems bieten dem Anwendungsprogrammierer die vollständige Kontrolle über alle auszuführenden Operationen und die technischen Mittel zur Realisierung von allgemeinen und speziellen anwendungsspezifischen Anforderungen.

Die Nachteile und auch die Schwierigkeiten bestehen dabei hauptsächlich in der Beherrschung der Komplexität und vor allem in der Kompliziertheit dieser systemnahen und im allgemeinen nicht-trivialen Programmierung. Außerdem ist ein fundiertes Verständnis über die Funktionsweise und die Zusammenhänge der grundlegenden Mechanismen des Betriebssystems, eine detaillierte Kenntnis der verwendeten Kommunikationsprotokolle und sehr viel Erfahrung notwendig.

Die in dieser Arbeit einwickelte Abstraktion der Systemschnittstelle in Form einer Bibliothek zur vereinfachten Implementierung und Pflege von verteilten Anwendungen schließt genau diese Lücke und zeigt, wie sich durch einfache Kombinationen von systemnah realisierten Basisabstraktionen die erforderliche Funktionalität der Anwendung elegant und weitestgehend semantisch beschreiben läßt, ohne daß dabei ein Verlust der Mächtigkeit, Flexibilität und Ausdruckskraft der Systemschnittstelle hingenommen werden muß.

Entstanden sind dabei aber auch Modelle oder sogenannte Design Patterns, die zur Lösung selbst komplizierter Client/Server-Anwendungen mit sehr hohen Anforderungen an die Robustheit und Performance im allgemeinen völlig ausreichend sind.

Schwerpunkte der Arbeit sind die Entwicklung von Basisabstraktionen zur Kommunikation über verschiedene Transportprotokolle, zur Parallelisierung von nebenläufig ausführbaren Operationen sowie vor allem die Kombinierbarkeit von Kommunikationsmechanismen mit geeigneten Parallelisierungstechniken nach einem Baukastenprinzip.


Universität Fakultät SAI