Purer, K. (2011). Web service composition in Drupal [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-44816
E188 - Institut für Softwaretechnik und Interaktive Systeme
-
Date (published):
2011
-
Number of Pages:
84
-
Keywords:
Webservices; Drupal; Workflows; Internet
de
Web Services; Drupal; Workflows; Internet
en
Abstract:
Das Erstellen von Webapplikationen ist mittlerweile eine komplexe Aufgabe und erfordert oftmals die Integration mit anderen Webapplikationen, im speziellen mit Webservices. Drupal ist ein freies Open Source Content Management System und Framework, das eine umfassende Plattform für schnelle Web-Entwicklung bereitstellt. Die modulare und erweiterbare Charakteristik von Drupal erlaubt EntwicklerInnen die Kernfunktionalität anzupassen und auszunutzen, um neue Funktionalitäten zu erstellen. Diese Diplomarbeit beschäftigt sich mit der Erforschung und Implementierung eines Webservice Client Moduls für Drupal, welches in der Lage ist, sowohl klassische WS* Webservices als auch RESTful Webservices zu konsumieren. Wir werden ein Abstraktionsmodell für Webservices präsentieren, das verschiedene Webservice-Typen unterstützt und welches die Integration von Webservice-Daten in Drupal Workflows ermöglicht. Diese Workflows werden mit Hilfe eines regelbasierten Moduls ("Rules") konstruiert, mit dem Event-Condition-Action Regeln erstellt werden können. Wir werden eine Lösung diskutieren, die eine Webservice-Operation als Rules Action zur Verfügung stellt und die damit die Komposition von Webservices erreicht, indem mehrere Webservices in einem Rules Workflow aufgerufen werden. Das ist wichtig für Webapplikationen, die mit vielen externen Webservices kommunizieren müssen und den Datenfluss zwischen diesen orchestrieren müssen.<br />Zusätzlich wurde eine Benutzeroberfläche implementiert, womit Webservices auf Drupal Adminstrationsseiten beschrieben und benutzt werden können. Dadurch werden keine Programmierkenntnisse benötigt, wenn Webservices angesprochen werden sollen. Die Implementierung wurde mit einem Anwendungsfall zur automatischen Übersetzung evaluiert, der aus einem Workflow mit mehreren Webservice Aufrufen besteht.<br />
de
Building web applications has become a complex task and often requires interaction with other web applications, such as web services.<br />Drupal is a free and open source content management system and framework that provides a rich platform for rapid web development. The modular and extensible nature of Drupal allows developers to customize and embrace the core functionality and to create new features. This thesis is about investigating and implementing a web service client module for Drupal that is able to consume classical WS* web services as well as RESTful web services. We will present a web service abstraction model which supports different web service types in order to facilitate integration of web service data into workflows in Drupal. Those workflows are built with the help of a rule engine module ("Rules") that offers the creation of event-condition-action rules. We will discuss a solution that provides a web service operation as Rules action and that achieves web service composition by invoking multiple web services in a Rules workflow. This is important for web applications that need to communicate with several external web services and require the orchestration of the data flows between them. Additionally a user interface has been built where web services can be described and used on Drupal administration pages, which means that no programming effort is needed to access web services. Other features such as automatic parsing of WSDL files or sharing of web service descriptions between different Drupal sites are also realized. The implementation has been evaluated and tested on the basis of an automatic translation use-case that is comprised of a workflow with multiple web service invocations.