1. Domain-Specific MashupsMashups that Speak the Language of the User. Muhammad Imran, Stefano Soi, Florian Daniel, Fabio Casati, Maurizio Marchese
2. Outline Mashups introduction Mashups emergence, & why people are interested Related concepts and work Problem statement Our aim, vision & concepts Status and future work
3. What is a Mashup? “A mashup is a web application that integrates data, application logic, and/or user interfaces (UIs) sourced from the Web. “ Craig’s List data Google Maps Mashup Data API UI
4. Mashup Types [Wikipedia.org] Business (enterprise) Mashups Combines their own resources, application and data with external services. Consumer Mashups It combines data from multiple public sources in the browser and organizes it through a simple browser user interface. Data Mashups 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.
5. Why Mashups are getting famous? Mashups facilitate non-programmers to Develop their applications Situational applications Ad-hoc and specific need applications Short-Lifespan applications www.programmableweb.com Public APIs 3274 Public Mashups 5829
6. Related concepts and work Workflow management, Service composition BPEL (Business Process Execution Language) BPMN (Business Process Modeling Notations) [BPMN v2.0] UML (Activity Diagrams) Mashup tools Yahoo Pipes [pipes.yahoo.com] Provides only generic features (e.g., looping, feed manipulation). Support for UI integration is missing. Good understanding of data formats are required. mashArt[Florian Daniel et al. 2009] MarcoFlow[Florian Daniel et al. 2010]
7. Problem Statement It is non-trivial/almost impossible to design generic tools to cover wide range of application domains. Powerful enough to enable the specification of non-trivial logic. Simple enough to be used by non-programmers. So we need to find right-balanceamong Generality Expressiveness Simplicity Our proposal is to reduce Generality, and to be Specific.
8. What we aim at? Domain-Specific mashups Domain-Specific mashup tool “A domain-specific mashup is a mashup that describe a composite domain process that manipulates domain concepts via domain activities and processes.” “A domain-specific mashup tool is a a development and execution environment that enables domain experts to develop and execute domain-specific mashups via a syntax that exposes all the features of the domain.”
17. Mashup Meta-Model (MM) Mashup 𝑴={𝑪, 𝑷, 𝑳} consists of A set of components 𝑪 A set of data pipes 𝑷 A layout 𝑳 A component 𝑐=𝐼𝑃𝑇, 𝑂𝑃𝑇, 𝐶𝑃𝑇, 𝑇𝑦𝑝𝑒, 𝐷𝑒𝑠𝑐 A pipe 𝑝 ∈𝐼𝑃𝑇 ×{𝑂𝑃𝑇 ∪𝐶𝑃𝑇} A layout 𝑙={𝑃𝐻} A set of placeholders (HTML div or iframe)
18. MM with generic & specific syntax Injection of the domain processes (PM) in MM.
20. Components Behavior & MM Semantics Execution of a mashup is initiated by the user. A component is ready for execution when all ports (IPT, CPT) filled with data. A component executes and process the data at IPTs and generates output to OPTs.
22. Status and future work Our starting point is mashArt tool. mashArt has the capability to integrate both UI & application. It provides a meta-model which is similar to ours (extensions are needed). IPTs, OPTs and CPT can be mapped to operations, events and configuration parameters in mashArt. MDL injection with domain schema. Components implementation (as services) at server side are going on. Server side shared memory is being implemented.
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 housingmaps.com. 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, housingmaps.com integrates housing.org 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..