Engineering multimedialer Online-Services für den Maschinenbau

IT-basierte Dienstleistungen, zu denen auch die in der vorliegenden Arbeit naher betrachteten multimedialen Online-Dienste gehoren, werden bislang weitgehend in Form von Einzelprojekten konzipiert und realisiert. Durch den Mangel an geeigneten integrierten Service- und Software-Entwicklungsprozessen und fehlende Plattformstrategien zur Entwicklung ganzer Dienstleistungsbundel erfolgt die Entwicklung solcher IT-Dienste haufig ineffizient und teilweise am Anwenderbedarf vorbei. Ziel der vorliegenden Arbeit war die Definition und Ausarbeitung einer integrierten Entwicklungsmethodik fur Services und Software, die in enger Interaktion mit den Anwendern und unter weitgehender Wiederverwendung bestehender Softwarekomponenten die Effizienz bei der Entwicklung solcher Online-Dienste erheblich steigert. Diese umfasst neben der Definition eines geeigneten Entwicklungsprozesses mit entsprechender Werkzeugunterstutzung die Entwicklung eines Anwendungsframeworks, auf dem sich solche Dienste schnell und effizient realisieren lassen. Zunachst wurden aktuelle Software- und Serviceentwicklungsprozesse auf ihre Eignung fur eine solche integrierte Entwicklungsmethodik untersucht und miteinander verglichen. Dabei hat sich gezeigt, dass fur die Entwicklung eines komplexen Anwendungsframeworks, der schrittweise erweitert und fur eine Vielzahl von Anwendungsdiensten eingesetzt werden soll, ein schwergewichtiger iterativer Entwicklungsprozess notwendig ist, der eine langfristig tragfahige und stabile Systemarchitektur liefert. Andererseits mussen bereits beim Design des Frameworks die Anforderungen der auf ihm zu realisierenden Dienste fruhzeitig berucksichtigt werden, damit das Framework die fur die Anwendungsdienste benotigten Funktionalitaten bereit stellt. Aus diesem Grunde fiel die Entscheidung auf ein zweiphasiges Verfahren. In der ersten Phase wurde ein typischer Vertreter multimedialer Online-Dienste, ein internetfahiger Business TV-Dienst, ausgewahlt und simultan mit dem Framework als Pilot-Service modelliert und implementiert. Als Modellierungssprache wurde die in der objektorientierten Softwareentwicklung als De-facto-Standard geltende Unified Modeling Language (UML) zugrunde gelegt, die durch kommerzielle und freie Modellierungswerkzeuge gut unterstutzt wird. Die in dieser Arbeit verwendeten Ansatze und Konzepte des Service Engineerings wurden im Sinne einer einheitlichen Notation ebenfalls in die UML transformiert. Dazu gehoren insbesondere die Erstellung des Produkt- und Prozessmodells sowie des Technik- und Ressourcenkonzeptes und die Einfuhrung von Sichtbarkeits- und Interaktionslinien. Auf die Erstellung eines eigenen Modellierungswerkzeugs konnte so verzichtet werden. Der Entwicklungsprozess dieser ersten Phase hat sich weitgehend am Unified Software Development Process nach Jacobsen, Booch und Rumbaugh orientiert. Ergebnis der ersten Phase waren eine erste Version des Anwendungsframeworks, der realisierte Pilot-Service und auserdem eine Reihe generischer Service-Templates fur das Produkt- und Prozessmodell sowie das Ressourcen- und Technikkonzept. In der nachfolgenden zweiten Phase fur die Modellierung weiterer Framework-basierter Services dienten diese Templates als Schablone und vereinfachten und beschleunigten somit deren Entwicklung erheblich. Im Sinne einer engen Interaktion mit den spateren Nutzern und zur Vermeidung des hohen Overheads schwergewichtiger Entwicklungsprozesse folgte diese zweite Phase der Entwicklungsmethodik weitgehend den Ideen des Extreme Programmings nach Kent Beck. Mit seinen zwolf Kernaussagen setzt er auf „Einfachkeit, Kommunikation, Ruckkopplung und Mut zu ungewohnlichen Ansatzen und Losungen“ und steht damit deutlich im Kontrast zu anderen, teilweise stark formalisierten Entwicklungsprozessen. Da samtliche Service-Templates in der Unified Modeling Language erstellt sind, wurde die UML-Notation auch in dieser zweiten Phase verwendet. Anhand des Pilot-Services Business TV sowie des Services Wissensdatenbank im Maschinenbau wurden die Entwicklungsmethodik und das Framework erfolgreich erprobt und evaluiert. Weitere multimediale Online-Dienste, wie z.B. die Unterstutzung des elektronischen Einkaufs vom Komponenten und Ersatzteilen anhand multimedial aufbereiteter elektronischer Kataloge (e-Procurement) oder der Aufbau elektronischer personalisierter Schulungssysteme konnen so effizient und systematisch konzipiert und realisiert werden. Allerdings muss darauf geachtet werden, dass das Framework nicht durch die Integration selten benotigter Spezialfunktionalitaten fur Randgebiete verwassert wird. Prinzipiell ist die vorgestellte Entwicklungsmethodik auf beliebige Klassen von IT-Services ubertragbar. Eine entscheidende Rolle spielt die Auswahl eines moglichst typischen Vertreters dieser Klasse als Pilot-Service sowie das weitsichtige Design des entsprechenden Frameworks. Bei komplexen Frameworks mit eher heterogenen funktionalen Anforderungen durch die zu realisierenden Dienste ware zu prufen, ob mehrere statt einem einzelnen Pilot-Service simultan mit dem Framework entwickelt werden sollten. IT based services are mostly developed as single projects so far. This is especially true for multimedia online services which form the focus of this work. Because of the lack of suitable integrated service and software development processes and missing platform strategies for the development of whole service bundles, the development of such IT-based services is often inefficient and partially missing the user’s needs. Objective of this scientific paper is to define, work out and evaluate an integrated engineering methodology for services and software, allowing improving the efficiency for the development of such online services significantly by a tight interaction with the users and by reusing existing software components as far as possible. This includes the definition of an adequate engineering process supported by suitable tools as well as the definition and implementation of an application framework supporting the fast and efficient development of new services. As a first step, up-to-date software and service engineering processes have been compared and analysed towards their applicability for such an integrated engineering methodology. For the development of complex extensible application frameworks forming the basis for a multitude of application services, heavy-weighed iterative engineering processes have shown as appropriate, because they deliver long-term sustainable and stable system architectures. On the other hand, the requirements of the application services to be developed on this framework have to be considered at the design phase of the framework already. This is important in order to ensure that the framework offers the functionality needed by the later application services. For these reasons, a two-phased engineering methodology has proven as appropriate. Within the first phase, a business TV pilot service as a typical representative of multimedia online services was developed simultaneously with the application framework. All service and software modelling was done following the Unified Modeling Language (UML), which forms the de-facto standard for object-oriented software modelling and is well-supported by commercial and open source modelling tools. The service engineering concepts used within this work were also transformed to UML notation for consistency and uniformity reasons. This is especially true for the creation of a product and process model of the service, for the technology and resource concept and also for the introduction of lines of visibility and interaction. By consistently using UML, existing modelling tools can be used and there is no need to develop an own proprietary tool. This first phase of the engineering methodology widely follows the Unified Software Development Process defined by Jacobsen, Booch and Rumbaugh. Result of this first phase has been a first version of the application framework, the implemented pilot service and in addition a set of generic service templates for the product and process model as well as for the resource and technology concept. Within the following second phase, these templates serve as a common basis for new framework-based services and simplify and accelerate their development. To ensure a tight interaction with the later users and to avoid the overhead of heavy-weighted development processes, this second phase follows the ideas of Extreme Programming by Kent Beck. With his twelve core theses, he propagates “simplicity, communication, feedback and courage” and thus distinguishes from other formalised engineering processes. To keep consistent with the UML-based service templates from the first phase, all modelling in this second phase is also done following the UML standard. The two-phased engineering methodology developed within this scientific paper has been evaluated successfully by implementing the application framework, the business TV pilot service and an additional online service providing a knowledge database for service in mechanical engineering. Reuse quotas of about 80 % have been reached. Further multimedia online services, e.g. e-procurement or personalised education systems can be developed systematically and efficiently based on this methodology. Care has to be taken not to overload the application framework by seldom-used special functionality. In principle, the engineering methodology described in this paper is transformable to arbitrary classes of IT-based services. An important role plays the selection of a preferably typical representative of this class as pilot service and the farsighted design of the supporting application framework. For complex frameworks with heterogeneous requirements from the services to support, it is worth considering developing several pilot services instead of only a single one.