implementing web applications as social machines composition: a case study
DESCRIPTION
With the evolution of the web and the concepts of web 3.0 as known as programmable web, several issues need to be studied in order to develop, deploy and use this new kind of application in a more effective way, such as communication between systems, unstructured data and non-scalable protocols, among others issues. In this regard, a new concept – named Social Machines – emerged to describe web based information systems that interact for a common purpose. In order to apply and validate in practice this new model, in this paper we describe a case study which implements a web application that is a composition of several public and well-known services from different application domains, such as Wikipedia, Flickr, Twitter, Google Places and Google Maps, following the Social Machines’ model. In the end, we present the results and some improvement suggestions for the model.TRANSCRIPT
Implementing Web Implementing Web Applications as Social Applications as Social Machines Composition: a Machines Composition: a Case StudyCase Study
Kellyton Brito, Lenin Otero, Patrícia Muniz, Leandro Nascimento, Vanilson Burégio, Vinicius Garcia, Silvio Meira
Federal University of Pernambuco – UFPE, Recife - Brazil
Federal Rural University of Pernambuco – UFRPE, Recife – Brazil
C.E.S.A.R, Recife, PE, Brazil
AgendaAgenda
• Motivation
• The Emerging Web of Social Machines
• The Case Study
– Definition
– Planning
– Operation
– The analysis and interpretation
• Conclusions and Future Works
Social Machines Research Group SEKE 2012 Presentation
2/23
Social Machines Research Group SEKE 2012 Presentation
3/30
Computing Means Connecting Wade Roush (2006)
Web 3.0
Computing Computing meansmeans CONNECTINGCONNECTING
ConnectingConnecting MachinesMachines
Running Services
In an EcossystemEcossystem
Social Machines Research Group The Emerging Web of Social Machines - A brainstorm
4/23
Social Machines Research Group The Emerging Web of Social Machines - A brainstorm © 2011 – Vinicius Cardoso Garcia
5/23
Social Machines Research Group SEKE 2012 Presentation
6/30
Social Machines Research Group SEKE 2012 Presentation
7/30
Social Machines Research Group The Emerging Web of Social Machines - A brainstorm © 2011 – Vinicius Cardoso Garcia
8/14
Software Development and WebSoftware Development and Web
• Native characteristics of the web
– A caotic place: mix of business, research, government, social, and individual interests
– Anarchic architecture: unstructured data , thousands of simple, small-scale interactions between agents and resources, unreliable parts, etc
• It is necessary to create new mental models of such a web as a platform to provide a common and coherent conceptual basis for the understanding of this innovative phase of software development
Social Machines Research Group SEKE 2012 Presentation
9/23
Social Machine (SM) Social Machine (SM) –– TheThe conceptconcept
• We have been trying to explain the web in terms of conectable entities called Social Machines
– SM = <Rel, WI, Req, Resp, S, Const, I, P, O>
• SM is a mental model to help us in designing and developing of web-based applications that are supposed to be “sociable”
• “Sociable applications”
– Take advantage of their environment (consider the existing available services) and publish their capabilities to other applications
– Designed and built to be networked with other appplications and services
– Simplify the combination and reuse of existing services
10/23
Social MachinesSocial Machines
Social Machines Research Group 11/23
Social Machine is a web unit defined by
the tuple:
SM = <Rel, WI, Req, Resp, S, Const, I, P, O>
A Social Machine (SM) receives requests (Req) from other
SM’s and returns responses (Resp). The requests are
converted to inputs (I) for a processing unit (P), which has
states (S) and produces outputs (O). In addition, there are
rules that define relationships (R) with other SMs, under
a specific set of constraints (Const).
Case Study DefinitionCase Study Definition
• Is it possible to implement an application which uses many API’s of many domains using SM’s model?
• What are the main benefits, difficulties and challenges?
Social Machines Research Group SEKE 2012 Presentation
12/23
Planning (Main Points)Planning (Main Points)
• Null Hypothesis – H0’: it is not possible to design and implement the application
according to Social Machines model; – H0’’: there are no benefits in implementing the application
according to Social Machines model; – H0’’’: there are difficulties and challenges in implementing the
application according to Social Machines model;
• Variables – Independent: SM’s Model and Documentation; – Dependent: Feasibility of implementation, benefits, dificulties
and chalenges; – Control: Comparison with other projects
• Analysis Criteria – Qualitative analysis of documentation and code, and discussion
with guest specialists;
Social Machines Research Group SEKE 2012 Presentation
13/23
Operation Operation –– Application DevelopedApplication Developed
• Requirements: Application which help people to gather information about nearby places
Social Machines Research Group SEKE 2012 Presentation
14/23
Application ArchitectureApplication Architecture
Social Machines Research Group SEKE 2012 Presentation
15/23
Social Machine DefinitionSocial Machine Definition
16/23
ScreenshotScreenshot
Social Machines Research Group SEKE 2012 Presentation
17/30
Analysis and InterpretationAnalysis and Interpretation
• Qualitative Analisys
– Documentation analisys
– Discussion with guests specialists in web API’s, Cloud Computing and Software Architecture
• H0’: it is not possible to design and implement the application according to Social Machines model
– Rejected: Application was designed and implemented in full compliance with its requirements and with the SMs model
Social Machines Research Group SEKE 2012 Presentation
18/23
Case Study ResultsCase Study Results
• H0’’: there are no benefits in implementing the application according to Social Machines model
– Rejected
– Benefits on the design phase
– Modularity and abstraction
– Encapsulating and external API’s usage centralized in the wrapper interface
Social Machines Research Group SEKE 2012 Presentation
19/23
Case Study ResultsCase Study Results
• H0’’’: there are difficulties and challenges in implementing the application according to Social Machines model
– No Rejected
– Difficulties to define external SM’s • No access to information about them
• Creation of two classes: Internal and External SM’s
– Difficulties to describe SM’s
– Need a Social Machine controller • To manage what SM’s choose (for ex.: Foursquare or Google
Places), using QoS, charges of API access, service status, etc
Social Machines Research Group SEKE 2012 Presentation
20/23
Conclusions and Future WorkConclusions and Future Work
• This work offers a new perspective on software development on the Web – it can collaborate to the process of providing a unifying
vision to describe web based information systems and could be a practical way of dealing with the complexity of this emerging web
• It’s possible to use SM’s to develop applications that
uses several API’s • Simple application
– More case studies needed – More application domains
Social Machines Research Group SEKE 2012 Presentation
21/23
Conclusions and Future WorkConclusions and Future Work
• The Research Framework overlaps several areas – Semantic web; cloud computing; SOA; XaaS; Software Reuse
and so on…
• Some topics
– Social Machine Controller – An architectural framework – Quality attributes – An algebra to describe its connections and conditionals – ...
• People as Social Machines – Using this concept to create Social Machines wich represent
people and their relationship with other people or systems?
Social Machines Research Group SEKE 2012 Presentation
22/23
Implementing Web Applications as Social Machines Composition: a Case Study
• Thank you!
Kellyton Brito Informatic Center – Federal University of Pernambuco
Acknowledgments
Social Machines Research Group SEKE 2012 Presentation
23