Temporary Binding for Dynamic Middleware Construction and Web Services Composition
Total Page:16
File Type:pdf, Size:1020Kb
Hasso–Plattner–Institut fuer Softwaresystemtechnik an der Universitaet Potsdam Temporary Binding for Dynamic Middleware Construction and Web Services Composition Dissertation zur Erlangung des akademischen Grades ”Doctor rerum naturalium” (Dr. rer. nat.) am Fachgebiet Internet Technologien und Systeme eingereicht an der Mathematisch–Naturwissenschaftlichen Fakultaet der Universitaet Potsdam von Wanjun Huang Potsdam, July 3, 2006 i ii Acknowledgments First and foremost, I greatly appreciate my supervisor, Prof. Christoph Meinel, not only for his help to get the financial supporting with which I was able to come to Germany to start my Ph.D programme, but also for his encouragement and guidance throughout my studies, from which I learnt the skills to be a researcher and how to work in a team environment. In addition, special thanks are given to Prof. Christoph Meinel for his contribution on the education and cooperation with my alma mater. I still remember the vivid scene when I was receiving the scholarship letter from his hands in a ceremony of cooperation held in Beijing. I additionally would like to thank my former colleagues in Institute for Telematics and University of Trier, and current colleagues in Hasso-Plattner-Institut, for their helps as well as the many discussions in topics about research and life in general. Especially, I would further like to thank Dirk for his help to translate the abstract of my dissertation into German, and thank Debbie, Raveendra, Xinhua and Long for their helps to read partial chapters of my dissertation. The special appreciation which should not be forgotten is given to my girlfriend Min for her love and encouragement. The happy time we spent let me easier and more relaxed, especially when I was struggling in my hard research work. I should also express my appreciation to my numerous Chinese colleagues and friends. Lots of parties we held often gave me a hallucination that I was back in China. Finally but not least, I would like to thank my family for their loves and continuous supporting in my studies and life. iii iv Abstract With increasing number of applications in Internet and mobile environments, dis- tributed software systems are demanded to be more powerful and flexible, especially in terms of dynamism and security. This dissertation describes my work concerning three aspects: dynamic reconfiguration of component software, security control on middleware applications, and web services dynamic composition. Firstly, I proposed a technology named Routing Based Workflow (RBW) to model the execution and management of collaborative components and realize temporary binding for component instances. The temporary binding means component instances are temporarily loaded into a created execution environment to execute their func- tions, and then are released to their repository after executions. The temporary binding allows to create an idle execution environment for all collaborative compo- nents, on which the change operations can be immediately carried out. The changes on execution environment will result in a new collaboration of all involved compo- nents, and also greatly simplifies the classical issues arising from dynamic changes, such as consistency preserving etc. To demonstrate the feasibility of RBW, I created a dynamic secure middleware system - the Smart Data Server Version 3.0 (SDS3). In SDS3, an open source imple- mentation of CORBA is adopted and modified as the communication infrastructure, and three secure components managed by RBW, are created to enhance the security on the access of deployed applications. SDS3 offers multi-level security control on its applications from strategy control to application-specific detail control. For the man- agement by RBW, the strategy control of SDS3 applications could be dynamically changed by reorganizing the collaboration of the three secure components. In addition, I created the Dynamic Services Composer (DSC) based on Apache open source projects, Apache Axis and WSIF. In DSC, RBW is employed to model the interaction and collaboration of web services and to enable the dynamic changes on the flow structure of web services. Finally, overall performance tests were made to evaluate the efficiency of the developed RBW and SDS3. The results demonstrated that temporary binding of component instances makes slight impacts on the execution efficiency of components, and the blackout time arising from dynamic changes can be extremely reduced in any applications. v Zusammenfassung Heutige Softwareanwendungen fuer das Internet und den mobilen Einsatz erfordern bezueglich Funktionalitaet und Sicherheit immer leistungsstaerkere verteilte Soft- waresysteme. Diese Dissertation befasst sich mit der dynamischen Rekonfiguration von Komponentensoftware, Sicherheitskontrolle von Middlewareanwendungen und der dynamischen Komposition von Web Services. Zuerst wird eine Routing Based Workflow (RBW) Technologie vorgestellt, welche die Ausfuehrung und das Management von kollaborierenden Komponenten modelliert, sowie fuer die Realisierung einer temporaeren Anbindung von Komponenteninstanzen zustaendig ist. D.h., Komponenteninstanzen werden zur Ausfuehrung ihrer Funk- tionalitaet temporaer in eine geschaffene Ausfuehrungsumgebung geladen und nach Beendigung wieder freigegeben. Die temporaere Anbindung erlaubt das Erstellen einer Ausfuehrungsumgebung, in der Rekonfigurationen unmittelbar vollzogen wer- den koennen. Aenderungen der Ausfuehrungsumgebung haben neue Kollaborations- Beziehungen der Komponenten zufolge und vereinfachen stark die Schwierigkeiten wie z.B. Konsistenzerhaltung, die mit dynamischen Aenderungen verbunden sind. Um die Durchfuehrbarkeit von RBW zu demonstrieren, wurde ein dynamisches, sicheres Middleware System erstellt - der Smart Data Server, Version 3 (SDS3). Bei SDS3 kommt eine Open Source Softwareimplementierung von CORBA zum Einsatz, die modifiziert als Kommunikationsinfrasturkutur genutzt wird. Zudem wurden drei Sicherheitskomponenten erstellt, die von RBW verwaltet werden und die Sicherheit beim Zugriff auf die eingesetzten Anwendungen erhoehen. SDS3 bietet den An- wendungen Sicherheitskontrollfunktionen auf verschiedenen Ebenen, angefangen von einer Strategiekontrolle bis zu anwendungsspezifischen Kontrollfunktionen. Mittels RBW kann die Strategiekontrolle des SDS3 dynamisch durch Reorganisation von Kollabortions-Beziehungen zwischen den Sicherheitskomponenten angepasst werden. Neben diesem System wurde der Dynamic Service Composer (DSC) implemen- tiert, welcher auf den Apache Open Source Projekten Apache Axis und WSIF basiert. Im DSC wird RBW eingesetzt, um die Interaktion und Zusammenarbeit von Web Services zu modellieren sowie dynamische Aenderungen der Flussstruktur von Web Services zu ermoeglichen. Nach der Implementierung wurden Performance-Tests bezueglich RBW und SDS3 durchgefuehrt. Die Ergebnisse der Tests zeigen, dass eine temporoere Anbindung von Komponenteninstanzen nur einen geringen Einfluss auf die Ausfuehrungseffizienz von Komponeten hat. Ausserdem bestaetigen die Testergebnisse, dass die mit der dynamischen Rekonfiguration verbundene Ausfallzeit extrem niedrig ist. vi Contents Abstract v 1 Introduction 1 1.1 DynamicReconfiguration. 1 1.2 MiddlewareSecurity ........................... 3 1.3 DynamicServicesComposition . 6 1.4 Contributions and Organizational Structure . ..... 7 2 Concerned Distributed Computing Technologies 11 2.1 Object Oriented Distributed Computing . .. 11 2.1.1 Common Object Request Broker Architecture . 11 2.1.2 MicrosoftTechnologies . 14 2.1.3 JavaTechnologies. .. .. 17 2.2 Web Services Technologies . 20 2.2.1 Web Services Description Language . 21 2.2.2 Universal Description, Discovery and Integration . ...... 23 2.2.3 SimpleObjectAccessProtocol. 24 2.3 WorkflowManagement .......................... 25 2.3.1 WorkflowReferenceModel . 26 2.3.2 WorkflowPatterns ........................ 27 3 Evolution of Dynamism in Distributed Systems 29 3.1 IssuesIntroduction ............................ 29 3.2 Configurable Component Systems . 30 3.3 Dynamic Reconfigurable Systems . 31 3.4 ReflectiveSystems ............................ 33 3.5 Multi-Solutions Supported Systems . .. 34 4 Routing Based Workflow 37 4.1 OverviewofRoutingBasedWorkflow . 37 4.1.1 DefinitionofRouting . 37 4.1.2 FrameworkofRoutingBasedWorkflow . 38 4.1.3 Three-LayersModeling . 41 4.2 RoutingStructureandModeling . 42 4.2.1 RoutingStructure. .. .. 42 vii CONTENTS 4.2.2 RoutingModeling......................... 53 4.3 Routing Execution and Management . 55 4.3.1 Routing Execution - Temporary Binding . 56 4.3.2 DependencyManagement . 60 4.4 RoutingDynamicChange . .. .. 62 4.4.1 DynamicChangeProcedure . 62 4.4.2 DynamicCapabilities. 64 4.5 XMLbasedRBWSchema ........................ 65 4.5.1 PortSchema............................ 65 4.5.2 Component and Control Link Schema . 66 4.5.3 RoutingSchema.......................... 67 4.6 Extension for Distributed Components . .. 68 4.6.1 ExtensionofComponentDelegate. 69 4.6.2 RoutingforDistributedComponents . 73 5 Case Study: Smart Data Server Version 3.0 75 5.1 CaseIntroduction ............................ 75 5.1.1 DynamisminCORBA ...................... 77 5.1.2 SecurityinCORBA........................ 78 5.1.3 OverviewofSDS3......................... 80 5.2 CommunicationInfrastructure . 81 5.2.1 Original Communication Infrastructure . .. 81 5.2.2 Wrapper for Dynamic Invocation Interface . 82 5.2.3 WrapperforObjectAdapter. 83 5.3 MiddlewareComponents . 84 5.3.1 ManagementbyRBW ...................... 85 5.3.2 ComponentofAuthenticator. 86 5.3.3