System Integration in Web 2.0 Environment
Total Page:16
File Type:pdf, Size:1020Kb
Masaryk university, Faculty of Informatics Ph.D. Thesis System Integration in Web 2.0 Environment Pavel Drášil Supervisor: doc. RNDr. Tomáš Pitner, Ph.D. January 2011 Brno, Czech Republic Except where indicated otherwise, this thesis is my own original work. Pavel Drášil Brno, January 2011 Acknowledgements There are many people who have influenced my life and the path I have chosen in it. They have all, in their own way, made this thesis and the work described herein possible. First of all, I have to thank my supervisor, assoc. prof. Tomáš Pitner. Anytime we met, I received not only a number of valuable advices, but also a great deal of enthusiasm, understanding, appreciation, support and trust. Further, I have to thank my colleague Tomáš Ludík for lots of fruitful discussions and constructive criticism during the last year. Without any doubt, this thesis would not come into existence without the love, unceasing support and patience of the people I hold deepest in my heart – my parents and my beloved girlfriend Míša. I am grateful to them more than I can express. Abstract During the last decade, Service-Oriented Architecture (SOA) concepts have matured into a prominent architectural style for enterprise application development and integration. At the same time, Web 2.0 became a predominant paradigm in the web environment. Even if the ideological, technological and business bases of the two are quite different, significant similarities can still be found. Especially in their view of services as basic building blocks and service composition as a way of creating complex applications. Inspired by this finding, this thesis aims to contribute to the state of the art in designing service-based systems by exploring the possibilities and potential of bridging the SOA and Web 2.0 worlds. Specifically, it examines the feasibility and potential benefits of applying enterprise-level SOA-related technologies such as SOAP, ESB and BPEL for Web 2.0 service integration. With this approach, Web 2.0 services could be incorporated into existing enterprise systems easily and as a result, Web 2.0 services could become more appealing to companies and institutions, where they could be used as a specific type of outsourcing. Although the thesis is concerned primarily with the technological issues arising from the combination of the two different worlds, legal and other non-functional aspects of the approach in question are also taken into account. The “Web 2.0 Platform”, introduced in this thesis, is a generic system integration framework built using SOA-related technologies with extended support for Web 2.0 service integration. It facilitates applying enterprise-oriented technologies in Web 2.0 service integration or – from the opposite point of view – employing Web 2.0 services in enterprise-oriented systems. The proposed framework allows creating enterprise-strength, industry-standard-based applications backed by the functionality of Web 2.0 services as well as other software systems. Design of the framework is based on an in-depth understanding of the rationale behind both the SOA and Web 2.0 concepts. For SOA, this is not an issue, because lots of resources are available and the technological bases of current enterprise-targeted SOA-based systems are quite uniform. In contrast, Web 2.0 is a less predetermined and potentially more heterogeneous environment. To obtain a realistic view of various aspects of current Web 2.0 environment, an in-depth analysis was performed, covering a total of 21 representative Web 2.0 services. Results of the analysis constituted a reasonable basis for designing the integration framework. To evaluate the feasibility and applicability of the proposed concept in nearly realistic conditions, a case study was conducted. An integrated learning environment was built using the framework and several Web 2.0 services, providing support for several learning patterns for the Inclusive Universal Access educational philosophy. Keywords Software service, Web 2.0, service-oriented architecture, service integration, service composition. Table of Contents 1. Introduction ��������������������������������������������������������������������������������������������������������������������������������������� 12 1.1 Motivation �������������������������������������������������������������������������������������������������������������������������������� 12 1.2 Research question ��������������������������������������������������������������������������������������������������������������������� 13 1.3 Objectives ��������������������������������������������������������������������������������������������������������������������������������� 13 1.4 Contribution to State of the art ������������������������������������������������������������������������������������������������� 13 1.5 Thesis overview ������������������������������������������������������������������������������������������������������������������������ 14 1.6 Conventions ������������������������������������������������������������������������������������������������������������������������������ 14 2. State of the art ����������������������������������������������������������������������������������������������������������������������������������� 15 2.1 Software architecture ���������������������������������������������������������������������������������������������������������������� 15 2.1.1 Documenting software architectures �������������������������������������������������������������������������������� 16 2.1.2 Software architectural styles �������������������������������������������������������������������������������������������� 19 2.2 Service-orientation ������������������������������������������������������������������������������������������������������������������� 20 2.2.1 Services ���������������������������������������������������������������������������������������������������������������������������� 20 2.2.2 Specific issues ������������������������������������������������������������������������������������������������������������������ 22 2.2.3 The way towards service-orientation ������������������������������������������������������������������������������� 22 2.3 Service-oriented architectures �������������������������������������������������������������������������������������������������� 28 2.3.1 Principles �������������������������������������������������������������������������������������������������������������������������� 29 2.3.2 Technologies ��������������������������������������������������������������������������������������������������������������������� 35 2.3.3 Development style ������������������������������������������������������������������������������������������������������������ 48 2.3.4 Deployment ���������������������������������������������������������������������������������������������������������������������� 50 2.3.5 Evaluation ������������������������������������������������������������������������������������������������������������������������� 51 2.4 Web 2.0 architectures ��������������������������������������������������������������������������������������������������������������� 51 2.4.1 Principles �������������������������������������������������������������������������������������������������������������������������� 53 2.4.2 Technologies ��������������������������������������������������������������������������������������������������������������������� 55 2.4.3 Development style ������������������������������������������������������������������������������������������������������������ 61 2.4.4 Deployment ���������������������������������������������������������������������������������������������������������������������� 61 2.4.5 Evaluation ������������������������������������������������������������������������������������������������������������������������� 62 2.5 Relation of Web 2.0 and SOA ��������������������������������������������������������������������������������������������������� 63 2.6 Web 2.0 in the enterprise ���������������������������������������������������������������������������������������������������������� 65 2.7 Summary ����������������������������������������������������������������������������������������������������������������������������������� 66 3. Reality of Web 2.0 services �������������������������������������������������������������������������������������������������������������� 68 3.1 Selection of representative services ������������������������������������������������������������������������������������������ 68 3.2 Technological aspects ��������������������������������������������������������������������������������������������������������������� 70 3.2.1 Communication protocols ������������������������������������������������������������������������������������������������ 70 3.2.2 Messaging models ������������������������������������������������������������������������������������������������������������ 70 3.2.3 Data formats ��������������������������������������������������������������������������������������������������������������������� 71 3.2.4 Authentication ������������������������������������������������������������������������������������������������������������������ 72 3.3 Developer support �������������������������������������������������������������������������������������������������������������������� 74 3.4 Legal aspects ����������������������������������������������������������������������������������������������������������������������������