Bierleutgeb, P. (2011). VRoxy: enriching SOAs with proxy-based dynamic binding and reporting based on VRESCo [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/160819
SOA; Proxy; Web Services; Reporting; dynamische Serviceaufrufe
de
SOA; proxy; Web services; reporting; dynamic binding
en
Abstract:
Service-orientierte Architekturen erhalten seit Jahren große Aufmerksamkeit, da sie die Lösung essentieller Probleme verteilter Systeme versprechen. Leider konnten diese ehrgeizigen Ziele jedoch bis heute noch nicht vollständig erreicht werden. Eines der Hauptargumente für SOA, die lose Kopplung von Clients und Services, stellt weiterhin eine große Herausforderung dar. Das beworbene Prinzip des publish-find-bind Prozesses, welches das Zusammenspiel von Clients, Services und Service Registries beschreibt, wurde nur teilweise realisiert. In vielen Systemen fehlen außerdem verlässliche Lösungen, die das Überwachen und anschließende Auswerten von Service Aufrufen ermöglichen. Das Fehlen dieser Funktionen führt dazu, dass service-orientierte Systeme oft unübersichtlich und schwer zu warten sind. Das Vienna Runtime Environment for Service-oriented Computing (VRESCo) versucht diese Schwierigkeiten zu lösen, in dem sie ein umfangreiches Framework für das Auffinden von Services, und deren dynamischen Aufruf zur Verfügung stellt. Derzeit existiert das vielversprechende Projekt jedoch nur als Forschungsprototyp, welcher noch nie in einem industriellen Umfeld getestet wurde. Ein derartiger Einsatz würde hilfreiche Informationen für weitere Forschungsarbeiten liefern, wird jedoch von der aufwendigen Integration des Frameworks erschwert. In dieser Arbeit wird ein proxy-basierter Ansatz für die Analyse, Korrektur und Überwachung von Service Aufrufen beschrieben. VRoxy (VRESCo Proxy) ermöglicht die transparente Integration von VRESCo in bestehende Systeme. Um dies zu erreichen, übernimmt der Proxy die Kommunikation mit VRESCo, welche sonst von Clients durchgeführt werden müsste. Dazu überwacht der Proxy den Nachrichtenverkehr zwischen Clients und Service, und verwendet die in SOAP-Nachrichten enthaltenen Informationen, um geeignete Services in VRESCo zu finden. VRoxy kann daher den ursprünglich verwendeten Endpoint austauschen, und den Request so mit an einen geeigneten Service, welcher in VRESCo registriert ist, weiterleiten. Um den Einsatz von VRoxy in unterschiedlichen Szenarien zu ermöglichen, verfügt der Proxy über unterschiedliche Interceptors und Querying Strategies, welche einfach konfiguriert werden können. Da der gesamte Nachrichtenverkehr zwischen Clients und Services durch den Proxy geroutet wird, eignet sich VRoxy außerdem hervorragend für die Überwachung von Service Aufrufen. Die gesammelten Informationen werden dem Benutzer in Form von übersichtlichen und interaktiven Berichten präsentiert.
In the past few years, Service Oriented Architectures (SOA) have become increasingly popular, as they promise to solve vital challenges of large, distributed enterprise systems, such as heterogeneity and enabling loose coupling. However, the anticipated decoupling of services and clients has not been fully achieved, as the publish-find-bind triangle, which suggests the dynamic discovery and selection of services, is partially broken. Furthermore, many service-based systems miss sophisticated monitoring and reporting capabilities. As a consequence, it is hard to keep track of deployed services and the complex net of invocations and service dependencies. VRESCo - the Vienna Runtime Environment for Service-oriented Computing - aims to over- come these limitations by providing support for dynamic service discovery and binding. However, the framework currently only exists as a research prototype that has never been tested in large, real-life enterprise systems. An employment in such systems would prove beneficial for further research, but is impeded by the high complexity an installation would cause. In this thesis, a proxy-based solution for the interception, analysis, correction and monitoring of Web service requests is introduced. VRoxy (VRESCo Proxy) enables the transparent employment of VRESCo, by releasing clients of the responsibility to communicate with the registry on their own. Instead, VRoxy intercepts requests sent by clients, and uses the information contained in the SOAP message to query VRESCo for matching service revisions. Thus, VRoxy is able to update the endpoint used in the original request, and redirect the invocation to the Web service endpoint stored in VRESCo. The presented prototype can be configured using different interceptors and querying strategies in order to provide suitable functionality for various use cases. Furthermore, since all traffic between clients and services passes through the proxy, VRoxy is capable of monitoring general connection data (e.g. time of invocation) and Quality of Service(QoS) specific properties of Web service invocations. The gathered monitoring data is presented in form of informative and interactive reports. The provided reports can be viewed using the VRESCo Reporting Web application which offers convenient navigation and input forms for the specification of report parameters.