Date post: | 16-Jan-2016 |
Category: |
Documents |
Upload: | jacob-pierce |
View: | 213 times |
Download: | 0 times |
© Universidad Politécnica de Madrid
Wirecloud (Application Mashup GE)
Hands-on Webinar (November, 2012)
Dr. Javier Soriano ([email protected])Dr. Rafael Fernández ([email protected])Dr. Miguel Jiménez ([email protected])Mr. Álvaro Arranz ([email protected])
DIAPOSITIVA 2
A small application or piece of dynamic content that can be easily placed into a web pageOften encapsulate a Web API (directly or through an operator)Can be easily embedded into webpages (HTML snippets)"Mashable" widgets generate/consume events, so that they can be wired together to create a lightweight application mashup This requires a widget platform
What is a Widget?
© Universidad Politécnica de Madrid
DIAPOSITIVA 3
Lightweight application combining data, services and UIs from multiple sourcesDeveloped by either IT or business staff, as well as by end usersCreated in hours or days, not monthsUses a Web Oriented Architecture (WOA)Often relies on internal + external web services (Web APIs)Done at data, logic and/or presentation layers
What is a Mashup?
© Universidad Politécnica de Madrid
DIAPOSITIVA 4
Operators represents functionality managed at the presentation layerEmpower the user to create data mashups (Access + Transform data sources) by piping + Web API wrappingEnhance widget functionality by wiring them each other
What is an operator?
© Universidad Politécnica de Madrid
DIAPOSITIVA 5
Different types of mashups
Presentation-focused (App Mashups) Assemble + wire Example scenario: Highly
personalized information/control dashboards (trouble tickets, stock quote, forge tools, etc.)
Operators represents Piping + Web API wrappingExample scenario: Decouple a “chat” widget from the target service: sms, twitter private msg, email, etc.
Data Mashups: Access + Transform data sources Example scenario: Take data of
insurance polices and merge with feed from National Weather Service
The term mashup encompasses both data and presentation mashups:
© Universidad Politécnica de Madrid
DIAPOSITIVA 6
Line of business, “self-service” application developmentDynamic, “at the glass” application assembly, without the underlying components (widgets, operators) needing to know about each other ahead of time (it fosters reusability)Rapid creation of situational / instant applications that solve day-to-day problemsRapid-prototyping of web applicationsUse cases:
Self-service aggregation of information from heterogeneous sources (e.g. sensors)Enabling customer-centric applicationsEffortless syndication of content
How knowledge workers / customers are using mashups
© Universidad Politécnica de Madrid
DIAPOSITIVA 7
Driver: Web API explosion (ProgramableWeb.com)
© Center for Open Middleware
© Universidad Politécnica de Madrid
DIAPOSITIVA 8
When to Use Mashup Style of Development in Companies
© IBM Software Group© Universidad Politécnica de Madrid
DIAPOSITIVA 9
When to Use Mashup Style of Development in Companies
© Scaffidi
Situational ApplicationsRapidly created to address an immediate need of an individual or communityTypically short-lived (a just-in-time solution)Good enoughBuilt by domain experts (knowledge workers) to solve their own problems
Why companies want MashupFoster innovation by unlocking and remixing information in ways not originally planned forQuickly uncover new business insights by easily assembling information from multiple sourcesIncrease agility by supporting dynamic assembly and configuration of applicationsSpeed development and reduce development costs through lightweight integration, reuse and sharing
Targeting the Long Tail: > 90M end-users (incl. Business prof.) trying to solve day-to-day problems
US Estimates for 2012 (double for WW)
< 3M full-time application developers working on software intensive projects (IT department)
© Universidad Politécnica de Madrid
DIAPOSITIVA 10
Demo Videos
Use case 1: Developing a mashup from the widgets and making it available through a catalogUse case 2: Enhancing / customizing a mashup, starting from the previous oneUse case 3: Developing a event-driven dashboard as an application mashup
© Universidad Politécnica de Madrid
DIAPOSITIVA 11
Wirecloud Open Specs
© Javier Soriano
Wirecloud is a Reference Implementation of the Application Mashup Generic Enabler.
FIWARE.OpenSpecification.Apps.ApplicationMashup Widget and Mashup Definition Languages (WDL & MDL)
WDL XML Template Schema MDL XML Template Schema
Widgets and Mashups are to be offered in the FI-WARE Store GE and managed by the FIWARE Marketplace GE: RDF(S) vocabularies built upon Linked Data principles as Linked USDL extensions
WDL-RDF MDL-RDF
DIAPOSITIVA 12
Wirecloud Open Specs: WDL
© Javier Soriano
DIAPOSITIVA 13
Wirecloud Open Specs: MDL
© Javier Soriano
DIAPOSITIVA 14
Wirecloud Open Specs: Widget API & App Mashup API
© Javier Soriano
The Application Mashup GE offers two separate APIs that cannot be combined because of their different nature:
FIWARE.OpenSpecification.Apps.WidgetAPI FIWARE.OpenSpecification.Apps.ApplicationMashupAPI
Those APIs are "live" APIs. We are working on offering new functionalities, such as:
Providing widgets with RW access to platform data Getting access to other FI-WARE GEs (i.e. pubsub broker)
DIAPOSITIVA 15
Resources
© Javier Soriano
Wirecloud website Wirecloud entry in the FIWARE catalogue Application Mashup Open Specs Resources for end users
Wirecloud platform user guide Demo videos Wirecloud instance in the FI-WARE testbed
Resources for administrators Wirecloud platform installation and administration guide Most updated version of the documentation Most recent version of the platform (mirror)
Resources for programmers Wirecloud platform programmers guide Tutorial on how to develop a Widget from scratch Widgets and operators currently stored in the CoNWeT Lab's instance of Wirecloud. Most updated version of the documentation