12
BROKER OF DYNAMIC AND STRUCTURED INFORMATION FOR MOBILE DEVICES PEDRO MIGUEL PEREIRA LOPES Abstract. Why did we create countries to join a immense group of peo- ple? Why did the mobile phone, PDA, laptop and smart-phone concepts got merged? Why is there a need to unify? The simple answer would be: min- imize the clutter, maximize the efficiency, and focus on the substance of the problem. Data however, is a paradigmatic subject which will be studied in depth throughout this paper: when unified and transformed into information, the once siloed and of little interest data, reveals it’s real value when com- bined with other pieces of data. Various methods, concepts and examples were analyzed, in order to develop a structure where various sets of data could be efficiently acquired and unified into pieces of relevant and useful informa- tion. A great part of this work was developed at M-Insight Technologies (an technology based company, dedicated to multimedia content’s edition and dis- tribution, of high graphic value, in mobile devices), and applied in it’s main product. 1. Introduction Having such a large amount of in data available, there is an opportunity to gather it and unify it, so that a greater value can be extrapolated from these data. Mashups are a good example of this growing trend: executive editor David Berlind says mashups are the fastest growing ecosystem on the Web and that by 2007, there will be 10 new mashups per day[1]. The focus of this work however, is another form of data gathering and unifying, which is the information broker. An information broker functions just like mashups, the difference being that the first is majorally applied outside the web sites context, and the second is connoted as an information merging mechanism for web sites. The reason why the information broker was chosen as a major focus for this work, was due to a challenge proposed by the M-Insight Technologies company: this being to build a system where various contents could be inserted automatically on a structured database (latterly to be used on various applications and mobile devices). This challenge led to others, since there was a need to support this automatic system with a comprehensive edition process, where contents could be inserted manually (this is, by specialized personnel), supporting the automatic content retrieval and insertion on to the structured contents data base. This work is inserted in M-Insight’s main product project. The project consists on the gathering, distribution and presentation of touristic information for mobile devices. Consider this example: a tourist arrives to Lisbon and wishes to know more about this city. He uses the product stated above on his mobile device and acquires information of: what places to visit,guided tours, lodging, restaurants and other touristic information. 1

BROKER OF DYNAMIC AND STRUCTURED INFORMATION FOR · PDF fileBROKER OF DYNAMIC AND STRUCTURED INFORMATION FOR MOBILE DEVICES ... at query time. Problems with tight coupling can

  • Upload
    lediep

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

BROKER OF DYNAMIC AND STRUCTURED INFORMATIONFOR MOBILE DEVICES

PEDRO MIGUEL PEREIRA LOPES

Abstract. Why did we create countries to join a immense group of peo-

ple? Why did the mobile phone, PDA, laptop and smart-phone concepts gotmerged? Why is there a need to unify? The simple answer would be: min-

imize the clutter, maximize the efficiency, and focus on the substance of the

problem. Data however, is a paradigmatic subject which will be studied indepth throughout this paper: when unified and transformed into information,

the once siloed and of little interest data, reveals it’s real value when com-

bined with other pieces of data. Various methods, concepts and exampleswere analyzed, in order to develop a structure where various sets of data could

be efficiently acquired and unified into pieces of relevant and useful informa-

tion. A great part of this work was developed at M-Insight Technologies (antechnology based company, dedicated to multimedia content’s edition and dis-

tribution, of high graphic value, in mobile devices), and applied in it’s mainproduct.

1. Introduction

Having such a large amount of in data available, there is an opportunity togather it and unify it, so that a greater value can be extrapolated from these data.Mashups are a good example of this growing trend: executive editor David Berlindsays mashups are the fastest growing ecosystem on the Web and that by 2007, therewill be 10 new mashups per day[1]. The focus of this work however, is another formof data gathering and unifying, which is the information broker. An informationbroker functions just like mashups, the difference being that the first is majorallyapplied outside the web sites context, and the second is connoted as an informationmerging mechanism for web sites.

The reason why the information broker was chosen as a major focus for thiswork, was due to a challenge proposed by the M-Insight Technologies company: thisbeing to build a system where various contents could be inserted automatically on astructured database (latterly to be used on various applications and mobile devices).This challenge led to others, since there was a need to support this automatic systemwith a comprehensive edition process, where contents could be inserted manually(this is, by specialized personnel), supporting the automatic content retrieval andinsertion on to the structured contents data base.

This work is inserted in M-Insight’s main product project. The project consistson the gathering, distribution and presentation of touristic information for mobiledevices. Consider this example: a tourist arrives to Lisbon and wishes to knowmore about this city. He uses the product stated above on his mobile device andacquires information of: what places to visit,guided tours, lodging, restaurants andother touristic information.

1

2 PEDRO MIGUEL PEREIRA LOPES

To sustain the above product’s concept, the supporting system should allowa user to be able, through technology and applications, to obtain personalizedinformation from the heterogeneity of inputs and through its contextualization.That is, regardless of the device and consequently the technology, the client hasto see what information (searched according to the client’s user profile, its targetdevice and location) was transmitted.

Having a structure where the client device can interact with the server and obtainpersonalized contents, arises the need to produce these contents and to systemizeit’s gathering, editing and management. Two major systems will be used to meetthis need:

• Manual System - Creation, modification and maintenance of contentswill be made . The core information will be placed by specialized personnel(e.g. tourism professionals) and all the maintenance (e.g. content approval)will be made by people who are authorized to do so. Typically, the coreinformation is obtained through web sites, books, people and organizations,being later inserted into the global system by the appropriate means.

• Automatic System - A broker will be the centerpiece of this system,using sets of sources that will be used to collect data, in order to obtainrelevant information (contents) for the global system.

The union between the Manual System and the Automatic one will be desig-nated as Content Edition and Management, and the process that will be usedproduce contents, will be named as Edition Process (this process will make useof these two systems).

This paper will present the problematic of data unification and transformation toinformation, and a data unification and treatment solution will be made to unravela specific problem of an business enterprise product.

2. How to Unify Information

The following sub-sections take different two names but serve the same purpose:data unification. Whilst data integration is a broad area that implies all methodsof data unification, the mashups are connoted as a means to unify data for theweb.

2.1. Data Integration. Data integration is the process of combining data residingat different sources and providing the user with a unified view of these data [2].It has been the focus of extensive theoretical work and numerous open problemsremain to be solved. In management practice, data integration is frequently calledEnterprise Information Integration.

he problem of combining heterogeneous data sources under a single query inter-face is not a new one. The rapid adoption of databases after the 1960s naturallyled to the need to share or merge existing repositories. This merging can be doneat several levels in the database architecture[3]. There are two major approachesto tackle this problem:

• Data Warehousing - differed style of integrating data. All the data iscollected into a single data base, which is then used for all the queries forinformation.

• Wrapper Mediator Method - immediate style of integrating data. Theinformation queries are done through a mediator that is linked with various

BROKER OF DYNAMIC AND STRUCTURED INFORMATION FOR MOBILE DEVICES 3

wrappers. There is no need for a data base that unifies all the data, becauseall the data is gathered from the wrappers (which obey to a mediatedschema).

Data Warehousing. A data warehouse is a repository of an organization’s elec-tronically stored data designed to facilitate reporting and analysis. An efficient datawarehouse is able to retrieve and analyze data, to extract, transform and load data,and to manage dictionary data – so that it can be used for business intelligence.[4]

This classic definition of the data warehouse focuses on data storage. However,the means to retrieve and analyze data, to extract, transform and load data, andto manage the data dictionary are also considered essential components of a datawarehousing system. Many references to data warehousing use this broader context.Thus, an expanded definition for data warehousing includes business intelligencetools, tools to extract, transform, and load data into the repository, and tools tomanage and retrieve metadata.

Here data from several sources are extracted, transformed, and loaded (ETL)into source and can be queried with a single schema. This can be perceived ar-chitecturally as a tightly coupled approach because the data reside together in asingle repository at query time. Problems with tight coupling can arise with the”freshness” of data, for example when an original data source is updated, but thewarehouse still contains the older data and the ETL process needs to be executedagain. It is also difficult to construct data warehouses when you only have a queryinterface to the data sources and no access to the full data. This problem fre-quently arises when integrating several commercial query services like travel orclassified advertisement web applications.

Wrapper Mediator Method. Using this method, the external resources are con-sidered as materialized views over a virtual mediated schema, resulting in ”virtualdata integration”. This virtual schema is called the mediated schema. For each datasource (such as the crime database and weather website) a wrapper (or adapter)is made tailored. These wrappers simply transform the local query results (thosereturned by the respective websites or databases) into an easily processed form forthe data integration solution. When a query is made to the mediated schema, thedata integration solution transforms this query into appropriate queries over therespective data sources. Finally, the results of these queries are combined into theanswer to the first query.

This method can also be called as view based query answering because we canconsider each of the data sources to be a view over the (nonexistent) mediatedschema. Formally such an approach is called Local As View (LAV), where Localrefers to the local sources/databases. An alternate model of integration is one wherethe mediated schema is designed to be a view over the sources. This approach calledGlobal As View (GAV) - where Global refers to the global (mediated) schema -is often used due to the simplicity involved in answering queries issued over themediated schema. However, the obvious drawback is the need to rewrite the viewfor mediated schema whenever a new source is to be integrated and/or an existingsource changes its schema.

2.2. Mashup. A good insight as to what makes a mashup is to look at the ety-mology of the term: it was borrowed from the pop music scene, where a mashup isa new song that is mixed from the vocal and instrumental tracks from two different

4 PEDRO MIGUEL PEREIRA LOPES

source songs (usually belonging to different genres). Like these ”bastard pop” songs,a mashup is an unusual or innovative composition of content (often from unrelateddata sources), made for human (rather than computerized) consumption.[5]

In technology, a mashup is a web application that combines data from more thanone source into a single integrated tool; an example is the use of cartographic datafrom Google Maps to add location information to real-estate data, thereby creatinga new and distinct web service that was not originally provided by either source.

Many people are experimenting with mashups using Amazon, eBay, Flickr,Google, Microsoft, Yahoo and YouTube APIs, which has led to the creation ofvarious mashup editors like Yahoo Pipes, Google Mashup Editor, Microsoft Popfly,JackBe’s Prest, IBM Sharable Code, Serena Software and Kapow Robosuite.

Executive editor David Berlind says mashups are the fastest growing ecosystemon the Web and that by 2007, there will be 10 new mashups per day.[1]

3. Information Broker Implementation

3.1. Supporting Structure. The theory behind an information broker was ad-dressed in the previous part, but one must first understand the structure in whichthe broker will be based upon. Since this work will be implemented in a corporatecontext, in which the global vision was already defined, one must first study whatis the globally defined structure and where does this work will be placed.

Along this work, a screen terminology will be used to characterize certain typesof screens (produced by this supporting structure) that will appear on the client’smobile device:

• L0 - The root screen, which is used as an ”index” of the region’s infor-mation. Clicking on any of these ”index items” will lead to a L1 or Lx1screen.

• L1 - Listing of items. Clicking on one of these items will lead to a Lx1screen.

• Lx1 - Basic description of an item. Through this screen, one can accessthe Lx2 screen.

• Lx2 - Detailed description of an item.

To speed up the production process, the macro template concept was created.A macro template can be thought as a template screen that serves as a layout toproduce - in a fast and efficient way - a substantial number of similar screens.

The global architecture overview in which all the work will be developed ispresented in Figure 1, whose players are:

• Client Device– Resources - Used by the content interpreter and obtained through

the server.∗ XML - Typically, these files will hold the screen’s structure and

properties.∗ Multimedia Files - Images, videos and sounds referenced by

the XML; therefore used on the screen’s presentation.∗ Other - For example, configuration files used by the content

interpreter.– Content Interpreter - Interprets and processes the resources and

uses the presentation module to expose this information to the user.

BROKER OF DYNAMIC AND STRUCTURED INFORMATION FOR MOBILE DEVICES 5

Figure 1. Global Architecture Overview

– Presentation Module - Presents screens and other information tothe user and manages user interaction.

• Mobile Services Provider - TMN, Vodafone or Optimus are examplesof such. This will will be the bridge between the server and the client’smobile device.

• Server– Requests Manager - Receives and processes the client’s requests and

sends the proper resources back to the client. The translation from thestructured contents in the data base to XML is done here.

– Content Management∗ Edition Module - The creation, maintenance and management

of structured contents will be made in this module. It will serveas a bridge that links the information broker with the data baseas well.

∗ Information Broker - Does automatic information retrieval ofinformation using various sources and forwards this structuredinformation to the data base (through the edition module).

• Data Base - Contains structured content information, multimedia filesand other types of information.

• Information Sources - These sources can be the ones used directly bythe information broker (e.g. Web Services and Web Feeds) or other kind of

6 PEDRO MIGUEL PEREIRA LOPES

sources (e.g. information obtained on-site, books, tourism agencies) whichare used by the content editors.

The Information Broker and Edition Module (which is closely related withthe first) will be the main focus of this work.

3.2. Edition Module.

3.2.1. Architecture. The Edition Module is composed by (Figure 2):• MI-Editor - edition of micro templates, macro templates, screens, con-

tent’s characteristics and approval management.• MI-Manager - management of editors, entities and regions.• Content Management Libraries - set of libraries that manage content’s

data and their persistence in the data base.

Figure 2. MI-Edition Module Architecture

The MI-Editor/MI-Manager is an important separation of concepts: while MI-Editor serves the edition part of the whole production process, this is, screen edi-tion and maintenance, the MI-Manager manages properties that are used in variousparts of the production line (website, screens and payments). Therefore, this dis-sociation increases the simplification, concept and security of the two applications.

3.2.2. MI-Editor. MI-Editor is an C#.NET developed Windows application. It’smain purpose is to aid the screen/macro template/micro template developmentand deployment and all editors, reviwers, managers and specialized technicians canaccess this application (although there are certain restrictions for each role). Thisapplication will mainly communicate with a data base.

The GUI development of this application was largely facilitated due to the usageof the Infragistics NetAdvantage libraries for .NET [6]. These libraries are a com-prehensive suite of ASP.NET and Windows Forms controls, components, and toolsfor the .NET platform. Thanks to these libraries, a great amount of developmenttime was cut.

The major features of this application are:• Content edition• Screen/macro template) edition and approval• Micro Template edition• Fast screen edition

BROKER OF DYNAMIC AND STRUCTURED INFORMATION FOR MOBILE DEVICES 7

• Fast screen preview - using a phone emulator (Sun Java (TM) WirelessToolkit 2.5.2 for CLDC)

• Resources synchronization - copies the screen’s resources from a sourcefolder to the emulador’s folder and/or the server’s folder.

• Import/export of screens/macro templates/micro templates - per-sistence of data into a .DAT file

3.2.3. MI-Manager. The main purpose of this application is to help manage contentproperties that are only editable by managers, this is, only managers can enterthis application. These properties are: regions, entities and editors.

Just like MI-Editor, the MI-Manager application is an C#.NET developed Win-dows application, using the Infragistics NetAdvantage libraries for .NET.

3.2.4. Content Management Libraries. The Content Management Libraries weredeveloped on C#.NET and are composed by:

• MI-Business Edition - Manages all of the content’s persistence and offersa comprehensive structure to handle contents.

• MI-Windows Components- Library for GUI components and classes

3.3. Information Broker Structure.

3.3.1. Architecture. The chosen architecture is one based on the wrapper mediatormethod, given that there is no a need to cross different types of data or to makeinferences between data. The sole purpose was to retrieve updated data and processrapidly. Without a doubt, the wrapper mediator method was the best choice forthis information broker’s architecture.

The Main Actors. The real power belies on the system’s simplicity and the distri-bution of tasks throughout the various components. In Figure 3 are representedthe main actors of the Information Broker:

• Broker Engine - the mediator. Acts as an orchestrator of the differentbroker service implementations that are attached to it. It calls the bro-ker service implementations, receives their data, and sends to the editionmodule, in order to persist this information.

• Broker Service Interface - the schema.All the broker service implemen-tations must link to this interface. This interface is very simple and basicallyobliges its implementations to have a getDataSet() method.

• Broker Service Implementation - the wrapper. DLL files that will beconsumed by the information broker. These implementations are responsi-ble for the translation of the outside source information to a ”DataSet”.1.

• Information Sources - the data sources, although in this case they canbe considered information sources, since the data gathered is in a usefuland structured form. E.g. Weather Underground’s RSS feeds[8], WeatherBug’s RPC Web Services[9] and Eventful’s REST XML Web Services[10].

1The DataSet is a memory-resident object that can contain one or more tables and relationships

between tables. This memory-resident object and its child objects make up the disconnected datasource that is the centerpiece of the ADO.NET architecture. Figure ?? presents an overview of

the DataSet object model.[7]

8 PEDRO MIGUEL PEREIRA LOPES

Figure 3. MI-Information Broker Architecture

Since the broker service implementations only have to link to the broker’s inter-face and don’t know how the broker’s core works, they can easily be developed bythird party organizations, broadening the usage possibilities of these components.

4. Evaluation

All of the above chapters merge here. Results and measures derived from thework made above are listed in this chapter.

4.1. Demonstration: Updating a screen with weather information. Thedeveloped structure and applications described above are used in this small demon-stration, which aims to give a simple overview of the whole production process.

Figure 4 presents a very simplified demonstration on how to create a L0 Screen(L0 Lisbon) with an overlay of the Lisbon’s current weather conditions. The twomajor pieces of developed work (the MI-Editor and MI-Information Broker) arefeatured in this illustration, where their most significant functionalities are por-trayed (macro template/screen edition by the MI-Editor and content update bythe MI-Information Broker).

4.2. Screen Production Efficiency. Table 1 presents the measurements obtainedfor Lx1 screen production times.

BROKER OF DYNAMIC AND STRUCTURED INFORMATION FOR MOBILE DEVICES 9

Table 1. Lx1 Screen Production Time

Screen Cre-ation1 (min)

Screen Edit-ing2 (min)

Producing150 Screens3

(min)

Producing1000Screens(min)

Producing1600Screens(min)

Using MI-Editorwith MacroTemplates4

4 0,15605 4037

6460

Using MI-Editor with-out MacroTemplates5

74 0,9511135 74237

118780

Using Data-base Editor6

48 1,757265 48437

77500

Clearly, the MI-Editor with Macro Template wins over the other two options,due to it’s the low screen creation and maintenance time.

Note the MI-Editor without Macro Templates results. The time consumed bythis option is considerably higher that the others because every screen must becreated from scratch, this is, every content must be placed individually in the MI-Editor’s personalized mode, which consumes a great deal of time.

The tendency over time, will be the increasing demand of an higher number ofscreens produced, and the MI-Editor with Macro Template solution that was pre-sented throughout this document proved out to be a good choice, as demonstratedabove.

5. Conclusions

The developed information broker became a key piece of a company’s editionprocess and increased the value of the information that a client could receive on hismobile device. However, to reach a point where the broker could be implemented,

1Screen Creation - Creation a screen from scratch (using or not using a macro template)2Screen Editing - Editing a single parameter of the screen and saving it.3Screen Producing - The formula used to calculate the time consumed to produce X screens

was: (Screen Creation Time)*X + X*(1/4)*(Editing Screen Time). This meaning that there is a

supposition that one quarter of the screens will be edited. The chosen target values were 150, 1000and 1600, because 1600 is the number of projected screens to be made until the production phase.The 150 target was chosen because there were measurements of the time consumed to make 150screen, and it was relatively close with the estimates made in this work. The 1000 target was

chosen because it is a mid-range target (considering the 150-1600 range).4MI-Editor with Macro Templates - Creation and editing of screen using macro templates, this

is, fast edition.5MI-Editor without Macro Templates - Creation and editing of screen without the help of

macro templates, this is, using only the personalized edition.6Database Editor - Creation and editing of screen using only the Microsoft SQL Server Man-

agement Studio and some scripts that help the creation and edition of screens in the database.

10 PEDRO MIGUEL PEREIRA LOPES

a whole basis had to be laid and developed upon (edition process, MI-Editor, MI-Manager, general concepts), so there could be a basis where the broker could workon.

The information broker and data unification and transformation into informationare not new concepts, so the added value of this work is the implementation of thisconcepts into a specific enterprise solution. Based on a proved concept (the wrappermediator method), the Information Broker was developed based on a well knownbasilar structure and implemented to solve a specific problem on a (pragmatic)enterprise context.

The work developed on MI-Editor, MI-Manager, MI-Information Broker and gen-eral edition process concepts are currently being used as part of a whole productionprocess on a company. By the time of this work’s publication, the MI-Editor wasused by two tourism professionals to create, edit and approve 300+ screens. Alsothe MI-Manager is being used to manage parts of the edition process, and the MI-Information Broker is up and running, delivering updated weather information tosome screens.

References

[1] D. Berlind, “At the whiteboard: What is a mashup?.” Website ZDNet, 2008. http://news.

zdnet.com/2422-13569_22-152729.html.

[2] M. Lenzerini, “Wdata integration: A theoretical perspective.” Centro Universitario Residen-ziale di Bertinoro - Website, 2002. http://www.centrocongressibertinoro.it/file/doc/

DataIntegration-surveyPods2002.pdf.

[3] P. Ziegler and K. R. Dittrich, “Three decades of data integration - all problems solved?.”Department of Informatics, University of Zurich, 2004. http://www.ifi.uzh.ch/~pziegler/

papers/ZieglerWCC2004.pdf.[4] C. Preimesberger, “Teradata’s new dw appliance begets wrath from netezza.”

EWeek Blogs, 2008. http://blogs.eweek.com/storage_station/content/teradatas_new_

dw_appliance_begets_wrath_from_netezza.html.[5] D. Merrill, “Mashups: The new breed of web app.” Website, 2006. http://www.ibm.com/

developerworks/xml/library/x-mashups.html.

[6] Infragistics, “Infragistics netadvantage for .net.” Website. http://www.infragistics.com/

dotnet/netadvantagenewfeatures.aspx#Overview.

[7] R. Dobson, “Programming microsoft sql server 2000 with microsoft visual basic .net.” Web-

site. http://www.microsoft.com/mspress/books/sampchap/5792a.aspx.[8] WunderWiki, “Wunderwiki faq - rss.” Website. http://wiki.wunderground.com/index.php/

FAQ_-_RSS.[9] WeatherBug, “Weatherbug api.” Website. http://apireg.weatherbug.com/terms.aspx.

[10] Eventful, “Eventful - api and services.” Website. http://api.eventful.com/.

[11] C. C. Gamito, “E3dm - aplicao de entretenimento em 3d para dispositivo mvel de ltimagerao,” Master’s thesis, Instituto Superior Tcnico, Lisbon PT, 2004.

[12] J. Lu, “What is an information broker?.” Website, 2000. http://www.cs.toronto.edu/km/

xib/document/broker_tutorial/definition.html.[13] Business.Maktoob.com, “Idc study forecasts 988 billion gb of digital info to be created

in 2010.” Website, 2007. http://business.maktoob.com/NewsDetails-20070218033953-IDC_

study_forecasts_988_billion_GB_of_digital_info_to_be_created_in_2010.htm.[14] J. Lu, “Towards extensible information brokers based on xml,” CAiSE*00, 12th Conference

on Advanced Information Systems Engineering, Stockholm. http://www.cs.toronto.edu/

~jglu/pub/caiseLNCS.pdf.[15] D. Shea, “What is rss/xml/atom/syndication?.” Website mezzoblue, 2002. http://www.

mezzoblue.com/archives/2004/05/19/what_is_rssx/.

[16] M. Pilgrim, “What is rss.” Website XML.com, 2002. http://www.xml.com/pub/a/2002/12/18/dive-into-xml.html.

BROKER OF DYNAMIC AND STRUCTURED INFORMATION FOR MOBILE DEVICES 11

[17] R. Specifications, “History of rss.” Website, 2004. http://www.rss-specifications.com/

history-rss.htm.

[18] A. Wiki, “Rss 2.0 and atom 1.0 compared.” Website, 2005. http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared.

[19] B. Trott, “Why we need echo.” Website, 2003. http://www.sixapart.com/blog/2003/06/

why_we_need_ech.html.[20] A. Alliance, “Atom publishing protocol - introduction.” Website, 2007. http://www.

atomenabled.org/developers/protocol/.

[21] A. Alliance, “The myth of rss compatibility.” Website, 2004. http://diveintomark.org/

archives/2004/02/04/incompatible-rss.

[22] A. Wiki, “Atom road map.” Website, 2005. http://www.intertwingly.net/wiki/pie/

RoadMap.[23] W3C, “Web services glossary.” Website, 2004. http://www.w3.org/TR/ws-gloss/.

[24] D. Marshall, “Remote procedure calls (rpc).” Website, 1999. http://www.cs.cf.ac.uk/Dave/C/node33.html.

[25] G. Newcomer, Eric; Lomow, Understanding SOA with Web Services. Addison-Wesley Pro-

fessional, 2004.[26] M. Bell, Service-Oriented Modeling (SOA): Service Analysis, Design, and Architecture. Wi-

ley, 2008.

[27] T. Erl, Service-Oriented Architecture (SOA): Concepts, Technology, and Design. PrenticeHall PTR, 2005.

[28] T. Erl, “Service-oriented computing in the real world.” Website, 2007. http://www.

whatissoa.com/p24.asp.[29] R. McMillan, “A restful approach to web services.” Website, 2003. http://www.

networkworld.com/ee/2003/eerest.html.

[30] R. Fielding, Architectural Styles and the Design of Network-based Software Architectures.PhD thesis, UNIVERSITY OF CALIFORNIA, IRVINE US, 2000. http://www.ics.uci.edu/

~fielding/pubs/dissertation/rest_arch_style.htm.[31] E. F. Foundation, “Frequently asked questions (and answers) about linking.” Website. http:

//www.chillingeffects.org/linking/faq.cgi#QID596.

[32] GNU, “Gnu free documentation license.” Website, 2008. http://www.gnu.org/copyleft/fdl.html.

[33] C. Commons, “Creative commons attribution-share alike 2.5 generic.” Website. http://

creativecommons.org/licenses/by-sa/2.5/.[34] GIS.com, “What is gis?.” Website. http://www.gis.com/whatisgis/index.html.

[35] google.com, “Google earth product comparison.” Website. http://earth.google.com/

product_comparison.html.[36] F. Taylor, “Google earth blog: August geographic web layer update.” Website. http://www.

gearthblog.com/blog/archives/2008/08/august_geographic_web_layer_update.html.[37] B. Popa, “Google earth vs. google maps.” Website, 2007. http://news.softpedia.com/news/

Google-Earth-vs-Google-Maps-65440.shtml.

[38] google.com, “Google maps case study: New york times.” Website, 2008. http://maps.google.com/help/maps/casestudies/nytimes.html.

[39] google.com, “Google maps case study: Tripadvisor.” Website, 2008. http://maps.google.

com/help/maps/casestudies/tripadvisor.html.[40] google.com, “What is google maps?.” Website, 2008. http://maps.google.com/support/bin/

answer.py?hl=en&answer=7060.

[41] T. Primrose and E. Adler, “America online and time warner will merge to create world’sfirst internet-age media and communications company.” TimerWarner.com - Website, 2000.http://www.timewarner.com/corp/newsroom/pr/0,20812,667602,00.html.

Instituto Superior Tcnico - UTL, Avenida Professor Cavaco Silva, 2744-016 Porto

Salvo, PortugalE-mail address: [email protected]

12 PEDRO MIGUEL PEREIRA LOPES

Figure 4. Demo 3: Updating a screen with weather information