mashups for soa
TRANSCRIPT
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