Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Domain Specific Mashups


Published on

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

Domain Specific Mashups

  1. 1. Domain-Specific MashupsMashups that Speak the Language of the User.<br />Muhammad Imran, Stefano Soi, Florian Daniel, Fabio Casati, Maurizio Marchese<br />
  2. 2. Outline <br />Mashups introduction<br />Mashups emergence, & why people are interested<br />Related concepts and work<br />Problem statement<br />Our aim, vision & concepts<br />Status and future work<br />
  3. 3. What is a Mashup?<br />“A mashup is a web application that integrates data, application logic, <br />and/or user interfaces (UIs) sourced from the Web. “<br />Craig’s List data<br />Google Maps<br />Mashup<br />Data<br />API<br />UI<br />
  4. 4. Mashup Types []<br />Business (enterprise) Mashups<br />Combines their own resources, application and data with external services.<br />Consumer Mashups<br />It combines data from multiple public sources in the browser and organizes it through a simple browser user interface.<br />Data Mashups<br />Combine similar types of media and information from multiple sources into a single representation. The combination of all these resources create a new and distinct Web service that was not originally provided by either source.<br />
  5. 5. Why Mashups are getting famous?<br />Mashups facilitate non-programmers to<br />Develop their applications<br />Situational applications<br />Ad-hoc and specific need applications<br />Short-Lifespan applications<br /> <br />Public APIs 3274<br />Public Mashups 5829<br />
  6. 6. Related concepts and work<br />Workflow management, Service composition<br />BPEL (Business Process Execution Language)<br />BPMN (Business Process Modeling Notations) [BPMN v2.0]<br />UML (Activity Diagrams)<br />Mashup tools<br />Yahoo Pipes []<br />Provides only generic features (e.g., looping, feed manipulation).<br />Support for UI integration is missing.<br />Good understanding of data formats are required.<br />mashArt[Florian Daniel et al. 2009]<br />MarcoFlow[Florian Daniel et al. 2010]<br />
  7. 7. Problem Statement<br />It is non-trivial/almost impossible to <br />design generic tools to cover wide range of application domains.<br />Powerful enough to enable the specification of non-trivial logic.<br />Simple enough to be used by non-programmers.<br />So we need to find right-balanceamong<br />Generality<br />Expressiveness<br />Simplicity<br />Our proposal is to reduce Generality, and to be Specific.<br />
  8. 8. What we aim at?<br />Domain-Specific mashups<br />Domain-Specific mashup tool<br />“A domain-specific mashup is a mashup that describe a composite <br />domain process that manipulates domain concepts via domain activities and processes.”<br />“A domain-specific mashup tool is a a development and execution <br />environment that enables domain experts to develop and execute domain-specific mashups via a syntax that exposes all the features of the domain.”<br />
  9. 9. UniTN Departments Evaluation Process<br />Domain Concepts<br /><ul><li>Publications
  10. 10. Researchers
  11. 11. Metrics
  12. 12. …</li></ul>Domain Processes<br /><ul><li>Compute metric
  13. 13. Extract data
  14. 14. Filtering
  15. 15. …</li></li></ul><li>Solution Space<br />We tackle the problem in three aspects<br />Domain Concept Model: to express domain data and objects.<br />Mashup Meta-Model: which includes<br />A generic mashup meta-model(MM)<br />A domain process model (PM)<br />A syntax map (union of MM & PM) + its symbol<br />A set of domain instances for components<br />Implementation of DTM<br />
  16. 16. Domain Concept Model<br />
  17. 17. Mashup Meta-Model (MM)<br />Mashup 𝑴={𝑪, 𝑷, 𝑳} consists of <br />A set of components 𝑪<br />A set of data pipes 𝑷<br />A layout 𝑳<br />A component 𝑐=𝐼𝑃𝑇, 𝑂𝑃𝑇, 𝐶𝑃𝑇, 𝑇𝑦𝑝𝑒, 𝐷𝑒𝑠𝑐<br />A pipe 𝑝 ∈𝐼𝑃𝑇 ×{𝑂𝑃𝑇 ∪𝐶𝑃𝑇}<br />A layout 𝑙={𝑃𝐻}<br />A set of placeholders (HTML div or iframe)<br /> <br />
  18. 18. MM with generic & specific syntax<br />Injection of the domain processes (PM) in MM.<br />
  19. 19. Domain-Specific Mashup Model<br />
  20. 20. Components Behavior & MM Semantics<br />Execution of a mashup is initiated by the user.<br />A component is ready for execution when all ports (IPT, CPT) filled with data.<br />A component executes and process the data at IPTs and generates output to OPTs.<br />
  21. 21. Platform Architecture<br />Shared Memory<br />Structure<br />mashArt<br />Multiple copies of the domain schema in cache or database.<br />UCL+<br />MDL+<br />Domain Concept<br />XSD<br />Database<br />Memory <br />Manager<br />Services<br />Mashup UI<br />(JavaScript)<br />Scientific Resource Space<br />Services<br />Database Interface (Hibernate)<br />REST Calls<br />Services<br />Browser<br />MashupEngine<br />Components Repository<br />Compositions Repository<br />Services<br />Database<br />Services<br />ResevalMashDatabse<br />Users profiles<br />MDL(mashArt description language) UCL (Universal composition language)<br />
  22. 22. Status and future work<br />Our starting point is mashArt tool. <br />mashArt has the capability to integrate both UI & application.<br />It provides a meta-model which is similar to ours (extensions are needed). <br />IPTs, OPTs and CPT can be mapped to operations, events and configuration parameters in mashArt.<br />MDL injection with domain schema.<br />Components implementation (as services) at server side are going on.<br />Server side shared memory is being implemented.<br />
  23. 23. Q & A<br />