Techniques and Tools for Building Web 2.0 Services
Total Page:16
File Type:pdf, Size:1020Kb
MASARYK UNIVERSITY FACULTY OF INFORMATICS Û¡¢£¤¥¦§¨ª«¬Æ°±²³´µ·¸¹º»¼½¾¿Ý Techniques and Tools for Building Web 2.0 Services BACHELOR’S THESIS Jaroslav Tesaˇr´ık Brno, 2008 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or excerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Advisor: RNDr. Tom´aˇsPitner PhD. ii Acknowledgement I would like to thank my advisor, RNDr. Tom´aˇsPitner PhD., for his worth advice and lots of incentive comments while working on this thesis. I am also much obliged to my parents for their support and encouragement during my studies. And, last but not least, I do appreciate my fianc´ee Pavl´ına. iii Abstract Web 2.0 is a broadly discussed term at this time. Nowadays, the Internet is passing through a trasformation showing its new capabilities and web applications design con- cepts. Many Web 2.0 services are presently considered as platforms designed to support creating new ones – the so called mashups. Instruments like open APIs and algorithmic data management form a quite new kind of web applications, sometimes titled infoware. The bulk of social sites has turned the Internet into a main market for processing applica- tions. This thesis is mainly focused on the analysis of the Web 2.0 and the steps leading to the current situation. It presents the principles the current Web stands on both from the view of a Web 2.0 service structure and technologies it is built on. Finally, based on these principles, general rules for Web 2.0 service development are proposed. iv Keywords The Internet, web, Web 2.0, web service, Web 2.0 service, web application, user, content, data, Google, widget, mashup, open API v Contents 1 Introduction ....................................... 1 1.1 Thesis Structure .................................. 2 2 The Way towards The Web 2.0 ............................ 4 2.1 The Beginning ................................... 4 2.2 The Server Side Scripting ............................. 5 2.3 The Client Side Scripting ............................. 5 2.3.1 JavaScript ................................. 5 2.3.2 DynamicHTML ............................. 6 2.3.3 DOMScripting .............................. 6 2.4 AJAX ........................................ 7 2.4.1 History................................... 7 2.4.2 BasicPrinciples .............................. 7 2.4.3 XMLHttpRequest Object........................ 8 2.4.4 HowAJAXWorks ............................ 8 2.4.5 Disadvantages .............................. 10 3 The Web 2.0 Principles ................................. 11 3.1 Step by Step: Talking about the Web 2.0 Core Principles ........... 11 3.1.1 TheWebasPlatform .... ...... ..... ...... ..... 11 3.1.2 HarnessingCollectiveInteligence . .... 12 3.1.2.1Hyperlinking . 13 3.1.2.2Blogging.............................. 13 3.1.3 Creating Data-driven Applications . .... 13 3.1.4 ThePerpetualBeta ..... ...... ..... ...... ..... 14 3.1.5 Cooperate,Don’tControl . 14 3.1.6 SomeRightsReserved . 15 3.2 The Web 2.0 – The Most General Principle ................... 15 3.3 The Web 2.0 and SOA ............................... 15 3.3.1 BrieflyaboutSOA ............................ 15 3.3.2 Comparison................................ 16 4 Advanced Techniques for the Web 2.0 Development ............... 17 4.1 Widget ....................................... 18 4.1.1 HowWidgetsWorks .... ...... ..... ...... ..... 18 4.1.2 DesigningWidgets . 18 vi 4.1.3 PlatformsforBuildingWidgets . 19 4.1.3.1Widgetbox ............................ 20 4.1.3.2Googlegadgets. 20 4.1.3.3Comparison. 21 4.2 Mashup ....................................... 21 4.2.1 MashingProblems ............................ 22 4.2.2 LayeredModelofaWebService . 23 4.3 Microformats ................................... 24 4.3.1 POSH.................................... 24 4.3.2 MicroformatPrinciples. 25 4.3.3 MicroformatExample . 25 4.4 Web Content Syndication ............................ 26 4.5 Tagging ....................................... 26 4.5.1 TagCloud ................................. 27 4.6 Infrastructural Web 2.0 Services ......................... 27 4.6.1 GoogleMaps ............................... 28 4.6.2 GoogleAnalytics . ..... ...... ..... ...... ..... 28 4.6.3 MediaWiki................................. 29 4.6.4 OpenID .................................. 29 4.6.5 AmazonWebServices . 30 5 The Web 2.0 in Practice ................................ 31 5.1 Content Sharing .................................. 31 5.2 Web Application Building Tools ......................... 32 5.3 Social Sites ..................................... 32 5.4 Social Bookmarking ................................ 33 5.5 Content Creating ................................. 33 5.6 Overview ...................................... 34 6 General Rules for Web 2.0 Services Development ................. 35 6.1 General Recommendation ............................ 36 7 Conclusion ........................................ 39 ListofFigures ...................................... 40 Bibliography....................................... 42 vii Chapter 1 Introduction Like many things, the Internet has been evolving since it arose. The times when it was a thing only for exchanging academic information are irrevocably gone. Nowadays, the Internet is different and provides a wide variety of services for its users. It has become a lucrative field for all kinds of business. It offers many people entertainment at arm’s length and is a free place for presenting opinions. Along with evolving services, which the Internet provides, the application framework for supporting these services and its de- velopment is also changing both on the client-side and the server-side. The rapid spread of broadband internet connections has enabled many people to use the Web in another way: as an instrument for their everyday life. And there is just one important thing which has lately emerged and turned the Internet into the new dimension: social networks. So- cial networks join people who are interested in similar or the same things and offer them services to fill their needs – for each other’s communication, presenting their opinions and so on. So that the users themselves have become contributors and formers of the web site they want to contribute to. A good example of such a service, still favourite at this time, is the personal blog. These events have slowly led to transformation of the Web from the relatively simple system of hypertext links to the new Web, today titled Web 2.0. In his famous Web 2.0 article, Tim O’Reilly said Web 2.0 is “the network as platform, spanning all connected de- vices” or “software as a continually-updated service that gets better the more people use it, ...” And a way of “creating network effects through an architecture of participation” is one of the key principles of Web 2.0 ([16], 2005). The Internet has turned into a serious platform for developing applications based upon entirely new concepts distinct from ordinary desktop applications. The Web 2.0 brings many new capabilities and web application design concepts. A user is not only a pedestrian in the Internet’s field any more, he is becoming a contributor by his own intention. Foremost, The Web 2.0 revolution is powered by users themselves. There are many web services called Web 2.0 at this time. Along with the growing use of such services it is quite useful to describe their offers and facilities and show their possibilities for further usage. 1 1. INTRODUCTION 1.1 Thesis Structure This thesis is divided into four main chapters, not including the introduction and con- clusion. Only general knowledge of web-related technologies is expected. However, the reader should also be familiar with HTTP, HTML, XML, CSS, JavaScript and AJAX for successful understanding of this thesis. Before having a closer look at this thesis structure, we need to show the basic structure of the Web 2.0 in general. There is a concise description of the Web 2.0 structure in the picture below. Relations to appropriate chapters are marked so that we can better under- stand the thesis structure. The chapter titled The Way towards the Web 2.0 briefly describes Figure 1.1: Basic Web 2.0 structure the technologies and events which led to the current situation in the field of the Internet, such as AJAX or Dynamic HTML. Likewise, it presents actual principles which creates a face of the Web 2.0 services. In the next chapter, The Web 2.0 Principles, main features of a web 2.0-based sevice are introduced. This chapter covers each of the possible ways of creating a content of the Web 2.0 services as well. The keystone is to encourage users in creating content. The following chapter titled Advanced Techniques for the Web 2.0 Development presents several useful kinds of techniques for building Web 2.0 services in general and shows how to realize the principles introduced in chapter 2. These techniques are also very worthwhile if there is a need to spread content of a web site over a wide range of other web sites. The goal of the chapter called The Web 2.0 in Practice is to compare the Web 2.0 services 2 1. INTRODUCTION offered by two present large companies – Google1 and Yahoo!2. In the chapter General Rules for Web 2.0 Services Development, the several useful points for successful building Web 2.0 service are proposed. 1. http://www.google.com 2. http://www.yahoo.com 3 Chapter 2 The Way towards The Web 2.0 To understand