Fachkomponenten sind für sich selbst stehende Teile betrieblicher Anwendungssoftware. Sie ermöglichen die kompositorische Wiederverwendung von Softwareartefakten und erlauben es, die im Rahmen der Softwaresystementwicklung bestehenden Kostenreduzierungs- und Qualitätssteigerungspotentiale besser auszuschöpfen.
Fachkomponenten und Softwarekomponenten
So genannte fachliche Komponenten oder Fachkomponenten sind Softwarekomponenten, die fachliche Teile betrieblicher Anwendungssysteme implementieren. Es handelt sich also um eine Spezialisierung des allgemeineren Begriffs der Softwarekomponente.
Eine Fachkomponente ist eine Komponente, die eine bestimmte Menge von Diensten einer betrieblichen Anwendungsdomäne anbietet [Turowski 2003, S. 19].
Idealerweise sollen Fachkomponenten verschiedener Anbieter mit geringem Aufwand zu einem kundenindividuellen Anwendungssystem kombiniert werden, sodass sich die Vorteile der Verwendung von Standard- und Individualsoftware verbinden. Dem liegt die Idee zu Grunde, die klassische Entscheidung zwischen entweder Individualsoftware oder Standardsoftware (Make or Buy), in ihrer extremen Form zu vermeiden, und durch eine als Make and Buy bezeichnete Strategie zu ersetzen, indem am Markt verfügbare, auf einem Standard aufsetzende Komponenten zu unternehmensindividuellen Anwendungssystemen kombiniert werden.
Generelle Architektur komponentenbasierter Anwendungssysteme
Damit Fachkomponenten verwendet werden können, bedarf es neben dem Betriebssystem zusätzlicher Systemteile, die als Komponenten-System-Frameworks (in der Regel Middleware) bezeichnet werden. Diese lassen sich ausgehend von der dreistufigen Client/Server-Architektur, welche die Systemkomponenten Verarbeitung, Präsentation und Datenhaltung unterscheidet (Abb. 1 (1)), identifizieren. So kann die Systemkomponente Verarbeitung weiter in eine Systemkomponente Funktion und eine Systemkomponente (betriebliche) Ablauflogik untergliedert werden (Abb. 1 (2)). Die Systemkomponente Funktion stellt in diesem Fall Dienste bereit, um einzelne Tätigkeiten zu unterstützen oder zu automatisieren, die sich aus der jeweiligen betrieblichen Aufgabe ergeben. Die Systemkomponente Ablauflogik setzt darauf auf, indem sie die Verknüpfung einzelner Tätigkeiten zu wiederkehrenden (betrieblichen) Arbeitsabläufen, sogenannten Workflows, erlaubt und deren Ausführung überwacht und koordiniert. Programme, die eine solche automatisierte Vorgangsbearbeitung unterstützen, werden als Workflowmanagementsysteme bezeichnet.
Zur Regelung des erhöhten Kommunikationsbedarfs, welcher durch das Herauslösen der Systemkomponente Ablauflogik entstanden ist, bietet sich die in Abb. 1 (3) dargestellte Systemkomponente Vermittlung an. Dieser Komponente obliegt es eine Verbindung zwischen den jeweiligen Dienstnehmern und Dienstgebern herzustellen und deren Kommunikation (in einem eventuell heterogenen Systemumfeld) abzuwickeln. Typische Vertreter davon sind sogenannte Object Request Broker.
Die bisher unterschiedenen Systemkomponenten zeichnen sich dadurch aus, dass sie unabhängig von der konkreten betrieblichen Anwendung als Komponenten-System-Frameworks identifiziert werden können. Die in Abb. 1 (4) angedeutete, weitergehende Differenzierung der Systemkomponente Funktion liefert schließlich Fachkomponenten und die generelle Architektur komponentenbasierter Anwendungssysteme. [Rautenstrauch, Turowski 2001]
Abb. 1: Spezialisierung bis hin zur Komponentenbauweise
Diskussion komponentenbasierter Anwendungsysteme
Die positiven und negativen Effekte der Komponentenorientierung (Tab. 1 und Tab. 2) ergeben sich bei näherer Betrachtung der Marktteilnehmer [Turowski 2003, S. 12-15]. So muss ein Kunde nur die Fachkomponenten erwerben, die er auch wirklich benötigt, wodurch sich der Gesamtaufwand für Anpassung, Betrieb, Wartung und Pflege vermindert. Darüber hinaus kann der Kunde die jeweils besten am Markt verfügbaren Komponenten kaufen und sich auf diese Art und Weise die Kernkompetenzen der Anbieter zu Nutze machen.
Tab. 1: Fachkomponenten aus Sicht der Nachfrager
Für den Nachfrager ergibt sich eine geringere Herstellerabhängigkeit. Zusammen mit einer besseren Vergleichbarkeit von Fachkomponenten geringerer Granularität kann so ein höherer Wettbewerb bis hin zu Käufermärkten entstehen. Dem steht gegenüber, dass sich das Anpassen der Komponenten möglicherweise verkompliziert, da verschiedene Anbieter verschiedene Anpassungsstrategien verfolgen können, so dass bestehendes Erfahrungswissen nur eingeschränkt wiederverwendet werden kann. Darüber hinaus entsteht für die Komposition von Fachkomponenten Aufwand, und Verantwortlichkeiten für eventuell auftretende Fehler in zusammengesetzten Systemen können unklar sein.
Tab. 2: Fachkomponenten aus Sicht der Anbieter
Die Vorteile auf der Anbieterseite liegen vor allem in der Senkung von Markteintrittsbarrieren. Weiterhin lässt sich durch die Wiederverwendung bereits bestehender Komponenten die Markteinführungszeit (Time-to-Market) verringern. Darüber hinaus können Entwicklungszeiten reduziert, der Wartungsaufwand verringert und die Produktqualität erhöht werden.
Die genannten Vorteile können sich jedoch nur einstellen, wenn bestimmte Voraussetzungen erfüllt werden. Zum Einen ist eine Middleware notwendig, die die Komponenteninfrastruktur zur Verfügung stellt. Ferner müssen domänenspezifische Funktionen und Schnittstellen standardisiert werden, um eine inhaltliche Zusammenarbeit der Komponenten zu gewährleisten.
Literatur
Rautenstrauch, Claus ; Turowski, Klaus: Common Business Component Model (COBCOM): Generelles Modell komponentenbasierter Anwendungssysteme. In: Buhl, Hans Ulrich ; Huther, Andreas ; Reitwiesner, Bernd (Hrsg.): Information Age Economy: 5. Internationale Tagung Wirtschaftsinformatik 2001, Augsburg, 19.09.-21.09.2001. Heidelberg : Physica-Verlag, 2001. S. 681-695.
Turowski, Klaus: Fachkomponenten: Komponentenbasierte betriebliche Anwendungssysteme. Aachen : Shaker Verlag, 2003.