Universität München,
Institut für Informatik,
Lehr- und Forschungseinheit für Programmierung und Softwaretechnik
Komponentenorientierung ist ein recht junger Ansatz in der Softwareentwicklung (Component Based Development, CBD). Durch die Konzentration auf einzelne Komponenten einer Anwendung will man eine flexiblere Entwicklung und höhere Wiederverwendbarkeit erreichen. Vor diesem Hintergrund wird häufig von Komponenten als Bausteinen gesprochen, die man auf dem Markt einkaufen und nach dem Baukastenprinzip zu ganzen Softwaresystemen "zusammenstecken" will.
Aufgrund des geringen Alters der EJB-Technologie (Enterprise Java Beans) gibt es aktuell nur geringe Personal-Ressourcen mit entsprechendem Know-How auf dem Arbeitsmarkt. Dies lässt sich auch daran erkennen, dass bisher kaum spezielle Entwurfsmuster (Pattern) im EJB-Umfeld verfügbar sind. Solche Patterns spiegeln jedoch genau diese gesammelte Erfahrung wieder, bieten Lösungsansätze für häufig auftretende Entwurfsprobleme und verhelfen somit dem Entwicklungsprozess zu mehr Schnelligkeit und Qualität. Entgegen der allgemein verbreiteten Auffassung, führt der Einsatz von Enterprise JavaBeans nicht direkt zu komponentenbasierten Informationssystemen. Sun lässt offen, was Enterprise-Beans von gewöhnlichen Objekten unterscheidet. Deshalb identifizieren Entwickler implizit die Einheiten dieser Programmierumgebung mit fachlichen Komponenten. Vor dieser Beeinflussung durch die Technik wird in [5] jedoch gewarnt.
Diese Arbeit greift Erfahrungen von sd&m und in der Literatur verbreitetes Wissens im Bereich Architektur und Komponenten auf, wodurch zentrale Entwurfsprobleme von EJB-Systemen identifiziert werden können. Zur Verminderung dieser Schwierigkeiten werden verschiedene Entwurfsmuster vorgeschlagen. Die systematische Zuordnung der Muster zu den Problembereichen erleichtert die Auswahl eines Lösungsmusters für eine spezielle Aufgabe. Die jeweiligen Probleme, die den Einsatz der einzelnen Muster erforderlich machen, werden ausführlich erklärt und deren Einsetzbarkeit unter verschiedenen Voraussetzungen erläutert. Somit ist es möglich, den Nutzen eines speziellen Musters schon vor der Entwicklungsphase einzuschätzen und über dessen Einsatz zu entscheiden. Die anschließende Umsetzung einer Lösung lässt sich anhand der detailierten Beschreibungen leicht bewerkstelligen. Ebenso werden Struktur und Funktionsweise der Muster aufgrund der durchgängigen Erläuterung mit Klassen- und Sequenzdiagrammen schnell erfassbar.