Mashups For Soa

Post on 06-May-2015

2.046 views 1 download

Transcript of Mashups For Soa

Mashups for SOA

Keith ChapmanTechnical lead & Product Manager WSO2 Mashup Server

keith@wso2.com

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)

● Email

● 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