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.
Agenda
● What is a Mashup?● Types of Mashups● Role of Mashups in a SOA● Mashup Platform Approaches● WSO2 Mashup Server – Quick Introduction
What is a Mashup?
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.
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.
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.
What is a Mashup?
Another simple but effective definition
1 + 1 = 3
Types of Mashups
Types of Mashups
● Client-Side Mashup
● Integration/interaction in the client side
● Mostly JavaScript in the browser
● Google Maps Mashups
● Interactive user experience
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
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
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
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)
Mashup Characteristics
● Situational application, consuming Web APIs
● Characteristics● Lightweight
● Customized
● Aggregates data / Composes services
● Often combines personal and public data
● Recursive?
Beyond Google Maps
● UI for existing services
● Simple service creation and deployment
● Simple service composition
● Simple workflows
● Service translation
● Personal productivity
● Rapid prototyping
Role of Mashups in a SOA
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).
Metcalfe's law
Metcalfe's law Adjusted...
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
Mashup Platform Approaches
Mashup Platform Approaches
● Server side or Client side
● Mashup Logic requires unified format &
protocol model● HTTP/HTML?
● RSS?
● RDF?
● Proprietary?
Mashup Platform Approaches● Consumption
● GUI tools?
● Converters?
● Delivery● HTML?
● RSS?
● Proprietary?
● Various?
● Online service vs. installable software?
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 …)
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
WSO2 Mashup Server – Quick Introduction
WSO2 Mashup Server Architecture
Web Services
Feeds
Web Pages
Data Sources
MashupLogic
WSO2 Mashup Server Architecture
MashupLogic
● Javascript (E4X)● Simple service
deployment
● Service composition
● Workflows
● Service translation
● Service UI building
● Rapid prototyping
WSO2 Mashup Server Architecture
MashupLogic
Web Services
Rich HTML Applications
Files
Email/IM
Feeds
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
Features● Rich set of Adapters (Javascript Object
Model)● Scraping: fetch, tidy, filter, transform, iterate,
cache…
● Feeds: Atom, RSS
● Files (private, shared, web-accessible)
● IM
● Long-running mashups
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
Resources
● Try the Mashup Server online
● Sample mashup (National Geographic)
● Sample mashup (TomatoTube)
● Sample mashup (Twitter Map)
● E4X Quick start guide