Domain Specific Mashups


Published on

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

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Hello everyone, My name is M Imran, and today I’m gonna present the topic of my research interest, and currently in my PhD I’m focusing on it.
  • Here is the outline of my talk. I’m gonna start with a brief introduction of the mashups, why mashups are getting famousI’ll will say few words about related work. Then I’ll formulate the problem, what is our aim and the status of the work.
  • So first of all, Lets start with mashup definition. For instance have a look on a mashup provided by Which integrates housing offers from Craig’s list with a Google map, so it is a added value to two independent applications. So here we see a typical mashup is the combination of three things : Data + API + UI
  • Mashups are typically simple web applications (most of the times consisting of just one singlepage) that, rather than being coded from scratch, are developed by integratingand reusing available data, functionalities, or pieces of user interfaces accessibleover the Web. For instance, integrates fromCraigslist with a Google map, adding value to the two individual applications.
  • The primary aim ofmashups are to facilitate the non-programmers for their situational application development (e.g, you are driving from Trento to Milano and you want from your Iphoneenabled mashuptool to inform you best routes based on your requirements like hospital need, food need, resturant need), ad-hoc or specific need apps (You want from your mashup to inform you every staturday about supermarkets in your town which offer cheap electronics appliances), short lifespan apps (You want to search nearby movies theaters).
  • A workflow consists of a sequence of connected steps. It is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff. Executable business modeling languages are associated with precise semantics that can be used to automatically validate and simulate business processes (e.g., BPEL, UML Action Semantics) whereas non-executable business modeling languages lack precise semantics  (e.g., BPMN).BPEL: Provides powerful support for service composition and orchestration, but no support for UI integration. -BPMN (Visual Modeling notations without execution semantics)-UML (for software intensive systems, also provides notations for business process modeling e.g UML Activity diagrams )--WS-CDL (An XML-based non-executable language that represents global business processes)-BPEL (An XML-based executable language for representing business processes. BPEL is an orchestration language)Yahoo Pipes: Does not required knowledge of programming languages, however good understanding of data formats are required.
  • So very simply, we aim at domain specific mashups, which takes domain concepts and domain processes. It executes the domain processes using domain concepts. Here we formally define domain specific mashups:
  • So lets take a domain and a run a real scenario in order to understand further concepts that we present.Say something more here about process and why this evaluation scenario is important for mashups. The concept of post changes in sources, criteria etc..
  • 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 />