Comments/attachments: Close
 
Summary
Management Summary (english):

Today’s software systems are often very complexly configured and are composed of large amounts of source code. The modularisation, i.e. the decomposition of projected or already available software systems into manageable and independent modules, reduces the complexity and offers the advantage of reusing the modules in other software systems.
The aim of this paper was to develop an architectural concept which allows the modularisation of Groupware applications, and then to use these newly created Groupware modules in other Groupware applications.
In the context of this paper, the Groupware Platform Lotus Notes / Domino was used as a reference and which also can be seen as the market leader in this area. In respect of the chosen Groupware Platform, it is understood that a Groupware module is a collection of various design elements and also possibly a collection of documents, which are independent of each other and which together carry out a specific task. Further to this definition, selected design principles are shown and are assigned to Groupware modules. Special importance was attributed to the characteristics of the interfaces as well as the adjustability of the Groupware modules.
The requirements of an achitectural concept consist of bringing the Groupware modules in a suitable form in a database, which is called a repository, where they can be saved and administrated. The administration tasks stretch from the availability of the modules and their allocation in other Groupware applications to the maintenance of module versions with further functions of updating and deinstallation. The Component Oriented Development (CBD) was used as a model for the architecture.
The access to design elements, of which the Groupware applications are actually composed of, turned out to be difficult with the referenced Groupware Platform Lotus Notes / Domino. Under the analysis and consideration of the technical possibilities of this platform, the alternative with the usage of the Groupware platform specific XML dialect DXL for the creation and assignment of database elements was favoured compared to the progamming interface C-API.
The implementation of the required architecture resulted as a Groupware application. The prototype, which represents a repository for the definition, allocation and distribution of the modules, can also in turn be a module. Additionally, it possesses an installation function, which allows regardless of any organizational or localized conditions the installation of modules in other Groupware applications.

Wichtige Punkte für das Management (deutsch):

Heutige Softwaresysteme sind oft sehr komplex aufgebaut und bestehen aus einer unüberschaubaren Menge an Quellcode. Die Modularisierung, d. h. die Zerlegung von zu entwerfenden oder bereits vorhandenen Softwaresystemen in überschaubare und von einander unabhängige Module, reduziert die Komplexität und bietet dabei den Vorteil der Wiederverwendung von Modulen in anderen Softwaresystemen.
Ziel dieser Arbeit war es, ein Konzept für eine Architektur zu entwickeln, die es ermöglicht Groupware-Applikationen zu modularisieren und die aus der Modularisierung gewonnenen Groupware-Module in anderen Groupware-Applikationen weiter zu verwenden.
Als Referenz diente im Rahmen dieser Arbeit die Groupwareplattform Lotus Notes / Domino, die als Marktführer in diesem Bereich angesehen werden kann. Hinsichtlich der gewählten Groupwareplattform wurde unter einem Groupware-Modul eine Sammlung verschiedener Designelemente und ggf. auch Dokumente verstanden, die voneinander abhängig sind und zusammen der Erledigung einer spezifischen Aufgabe dienen. Aufbauend auf dieser Definition wurden ausgewählte Entwurfsprinzipien vorgestellt und auf Groupware-Module übertragen. Besondere Bedeutung wurde den Charakteristika der Schnittstellen sowie der Konfigurierbarkeit von Groupware-Modulen beigemessen.
Die Anforderungen an das Architekturkonzept bestanden darin, dass Groupware-Module in geeigneter Form in einer Datenbank, die als Repository bezeichnet wird, gespeichert und verwaltet werden mussten. Die Verwaltungsaufgaben erstrecken sich von der Modul-Bereitstellung über deren Verteilung in andere Groupware-Applikationen bis hin zu der Versionsverwaltung von Modulen mit den weiteren Funktionalitäten ihrer Aktualisierung und ihrer Deinstallation. Als Vorbild der Architektur diente die komponentenorientierte Softwareentwicklung (KOS).
Der Zugriff auf Designelemente, die die eigentliche Groupware-Applikation bilden, stellte sich bei der referenzierten Groupwareplattform Lotus Notes / Domino als schwierig heraus. Unter Analyse und Abwägung der technischen Möglichkeiten dieser Plattform wurde die Variante der Verwendung des groupwareplattformspezifischen XML-Dialektes DXL für die Bildung und Übertragung von Datenbankelementen favorisiert und der Programmierschnittstelle C-API vorgezogen.
Die Implementierung der geforderten Architektur erfolgte als Groupware-Applikation. Der Prototyp, der ein Repository für die Bildung, Bereitstellung und Verteilung von Modulen darstellt, kann seinerseits ebenfalls ein Modul sein. Er verfügt zusätzlich über eine Installationsfunktionalität, die eine organisations- und lokalitätsunabhängige Installation von Modulen in anderen Groupware-Applikationen erlaubt.