1. Mashups for SOA
Keith Chapman
Technical lead & Product Manager WSO2 Mashup Server
keith@wso2.com
2. Introduction
This session will introduce Mashups as an enterprise
integration tool and will demonstrate the various
technologies in use for service compositions in SOAs
We will also take a very brief look at how the WSO2
Mashup Server helps you in this regard.
3. Agenda
● What is a Mashup?
● Types of Mashups
● Role of Mashups in a SOA
● Mashup Platform Approaches
● WSO2 Mashup Server – Quick Introduction
5. What is a Mashup?
A mashup is a web page or application that combines
data or functionality from two or more external sources
to create a new service. The term mashup implies
easy, fast integration, frequently using open APIs and
data sources to produce results that were not the orig-
inal reason for producing the raw source data. An ex-
ample of a mashup is the use of cartographic data
from Google Maps to add location information to real
estate data, thereby creating a new and distinct Web
service that was not originally provided by either
source.
6. What is a Mashup?
The term mash-up refers to a new breed of Web-
based applications created by hackers and program-
mers (typically on a volunteer basis) to mix at least two
different services from disparate, and even competing,
Web sites. A mash-up, for example, could overlay traf-
fic data from one source on the Internet over maps
from Yahoo, Microsoft, Google or any content provider.
7. What is a Mashup?
A mashup is a Web site that combines content data
from more than one source to create a new user expe-
rience.
8. What is a Mashup?
Another simple but effective definition
1+1=3
10. Types of Mashups
● Client-Side Mashup
● Integration/interaction in the client side
● Mostly JavaScript in the browser
● Google Maps Mashups
● Interactive user experience
11. Types of Mashups
● Server-Side Mashup
● Composing several already exposed services or
data sources into a single service.
● Transforming an exposed service
● Moving the client side mashup logic to the server
13. Advantages of Server Side
Mashups
● Far more power, control and flexibility
● Promotes MVC (Model, View Control)
● Rich environment, more options, and
resources
● Less security worries
● Less security restrictions
14. Advantages of Server Side
Mashups
● No cross domain restrictions
● Browsers that do not understand or have
disabled JavaScript
● Mobile phones
● Less Java script code in the client side
15. Web 2.0 Evolution
● Power shift from publisher to consumer
● Demand for APIs, not just Pages
● Universal data format (XML)
● Web Services
● Metadata/Description
● Security
● Enterprisey stuff (reliability, auditing)
16. Mashup Characteristics
● Situational application, consuming Web APIs
● Characteristics
● Lightweight
● Customized
● Aggregates data / Composes services
● Often combines personal and public data
● Recursive?
17. Beyond Google Maps
● UI for existing services
● Simple service creation and deployment
● Simple service composition
● Simple workflows
● Service translation
● Personal productivity
● Rapid prototyping
19. Metcalfe's law
Metcalfe's law states that the value of a
telecommunications network is proportional to the
square of the number of connected users of the sys-
tem (n2).
22. Importance of Mashups in a
SOA
● Helps bridge users to your SOA
● Emails
● IM
● Feeds
● Create mock services
● Helps create a prototypes quickly
● Improves Agility
24. Mashup Platform Approaches
● Server side or Client side
● Mashup Logic requires unified format &
protocol model
● HTTP/HTML?
● RSS?
● RDF?
● Proprietary?
26. WSO2 approach
● Unified model: XML & Web Services
● Open standards
● Widely adopted (at least in the Enterprise)
● Secure
● Logic: Javascript Web Services
● Javascript (E4X)
● Notepad / virtual directories
● Host objects (scraping, rss …)
27. WSO2 approach
● Recursive (network effects)
● Delivery
● Web Services (generate WSDL, schema etc.)
● Help build HTML (JS stubs, try-it, …)
● UI palette includes services for Email, IM, RSS,
Files.
● Scale from desktop installable server to
online community
29. WSO2 Mashup Server
Architecture
Data Sources
Web
Pages Mashup
Feeds Logic
Web
Services
30. WSO2 Mashup Server
Architecture
● Javascript (E4X)
● Simple service
deployment
Mashup
Logic ● Service composition
● Workflows
● Service translation
● Service UI building
● Rapid prototyping
31. WSO2 Mashup Server
Architecture
Web
Mashup Services
Logic Rich
HTML Applications
Email/IM
Files
Feeds
32. Features
● Web Service-centric model
● Separates content and presentation
● Recursive (network effects)
● Broad UI palette: HTML, Email, IM, RSS, Files...
● Open standards & interoperability
● Rich metadata
● WSDL, REST interfaces, Javascript Stubs
● Try-it rich browser client
33. Features
● Rich set of Adapters (Javascript Object
Model)
● Scraping: fetch, tidy, filter, transform, iterate,
cache…
● Feeds: Atom, RSS
● Files (private, shared, web-accessible)
● Email
● IM
● Long-running mashups
34. Summary
● We've looked at
● What is a Mashup?
● Types of Mashups
● Role of Mashups in a SOA
● Mashup Platform Approaches
● WSO2 Mashup Server – Quick Introduction