27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Implementing Web Applications as Social Machines<br />

Composition: a Case Study<br />

Kellyton dos Santos Brito 1,2 , Lenin Ernesto Abadie<br />

Otero 2 , Patrícia Fontinele Muniz 2 , Leandro Marques<br />

Nascimento 1,2<br />

1 DEINFO – Federal Rural University of Pernambuco<br />

Recife, Brazil<br />

[ksb, leao, pfm, lmn]@cin.ufpe.br<br />

Vanilson André de Arruda Burégio 2 , Vinicius<br />

Cardoso Garcia 2 , Silvio Romero de Lemos Meira 2,3<br />

2 Informatics Center – Federal University of Pernambuco<br />

3 C.E.S.A.R - Recife, Brazil<br />

[vaab, vcg, srlm]@cin.ufpe.br<br />

Abstract: With the evolution of the web and the concepts of web<br />

3.0 as known as programmable web, several issues need to be<br />

studied in order to develop, deploy and use this new kind of<br />

application in a more effective way, such as communication<br />

between systems, unstructured data and non-scalable protocols,<br />

among others issues. In this regard, a new concept – named Social<br />

Machines – emerged to describe web based information systems<br />

that interact for a common purpose. In order to apply and<br />

validate in practice this new model, in this paper we describe a<br />

case study which implements a web application that is a<br />

composition of several public and well-known services from<br />

different application domains, such as Wikipedia, Flickr, Twitter,<br />

Google Places and Google Maps, following the Social Machines’<br />

model. In the end, we present the results and some improvement<br />

suggestions for the model.<br />

Keywords: social machines, web development, sociable<br />

applications, programmable web, case study.<br />

I. INTRODUCTION<br />

In web 3.0, the web as a programming platform [1],<br />

software is developed for the web, through the web, and in the<br />

web, using the web both as programming platform and<br />

deployment and execution environments. Thus, nowadays<br />

computing means connecting [2], due to the fact that<br />

developing software is almost the same as connecting services<br />

[3]. Examples of this scenario are the development of<br />

Facebook, Twitter, Yahoo!, Salesforce, Google, Amazon and<br />

many others, that makes their APIs available for anyone to<br />

develop applications that interact with their services.<br />

In addition to those popular APIs, there are several public<br />

APIs and several applications that use them. For example, the<br />

ProgrammableWeb website 1 reached 5000 APIs in February<br />

<strong>2012</strong>, and in the same month it listed more than 6500 mashups<br />

using them. Although there have been many studies about the<br />

future of the internet and concepts such as web 3.0,<br />

programmable web [1, 4], linked data [5] and semantic web [6,<br />

7], the segmentation of data and the issues regarding the<br />

communication among systems, unstructured data, unreliable<br />

parts and non-scalable protocols are all native characteristics<br />

of the internet that needs a unifying view and explanations in<br />

1 www.programmableweb.com<br />

order to be developed, deployed and used in a more efficient<br />

and effective way.<br />

Furthermore, the read/write and programmable web are<br />

recent enough to represent very serious difficulties in<br />

understanding their basic elements and how they can be<br />

efficiently combined to develop real, practical systems in<br />

either personal, social or enterprise contexts. So, Meira et al.<br />

[8, 9] defined the concept of a web of Social Machines, in<br />

order to provide a common and coherent conceptual basis for<br />

understanding this still immature, upcoming and possibly<br />

highly innovative phase of software development.<br />

In this context, in order to validate the Social Machines<br />

model and to test solutions for open issues, in this paper we<br />

revisited and applied the concepts of social machines, by<br />

performing a case study of a new application, according to<br />

following structure: in Section II we briefly present the Social<br />

Machines concept; in Section III we present a case study with<br />

the implementation of an application using the concept and<br />

guidelines; Section IV discusses the benefits, difficulties and<br />

challenges; and Section V concludes the paper and presents<br />

future works.<br />

II. THE WEB OF SOCIAL MACHINES<br />

The concept of Social Machines overlaps other research<br />

fields and issues currently well studied such as SaaS, Cloud<br />

Computing, SOA and Social Networks, but we have not found<br />

works that directly deals with the concept adopted by this<br />

study. Roush [2] proposed Social Machine representing human<br />

operated machines responsible for socializing information<br />

among communities; Patton [10] defines them as virtual<br />

machines operating in given social fields; Fuglsang [11]<br />

discussed them as systems that (in society) consume, produce<br />

and record information and are connected at large; and<br />

Hendler [12] discusses social machines based on Berners-Lee<br />

[13] who defines social machines as machines that do the<br />

system and social administration while the people do the<br />

creative work. In addition, the robotics view of a social<br />

machine is that of one that can relate to people [14].<br />

The social machine concept adopted by this work is an<br />

abstract model to describe web based information systems that<br />

311

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!