35
Mashups for SOA Keith Chapman Technical lead & Product Manager WSO2 Mashup Server [email protected]

Mashups For Soa

  • Upload
    wso2

  • View
    2.045

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Mashups For Soa

Mashups for SOA

Keith ChapmanTechnical lead & Product Manager WSO2 Mashup Server

[email protected]

Page 2: Mashups For Soa

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.

Page 3: Mashups For Soa

Agenda

● What is a Mashup?● Types of Mashups● Role of Mashups in a SOA● Mashup Platform Approaches● WSO2 Mashup Server – Quick Introduction

Page 4: Mashups For Soa

What is a Mashup?

Page 5: Mashups For Soa

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.

Page 6: Mashups For Soa

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.

Page 7: Mashups For Soa

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.

Page 8: Mashups For Soa

What is a Mashup?

Another simple but effective definition

1 + 1 = 3

Page 9: Mashups For Soa

Types of Mashups

Page 10: Mashups For Soa

Types of Mashups

● Client-Side Mashup

● Integration/interaction in the client side

● Mostly JavaScript in the browser

● Google Maps Mashups

● Interactive user experience

Page 11: Mashups For Soa

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

Page 12: Mashups For Soa
Page 13: Mashups For Soa

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

Page 14: Mashups For Soa

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

Page 15: Mashups For Soa

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)

Page 16: Mashups For Soa

Mashup Characteristics

● Situational application, consuming Web APIs

● Characteristics● Lightweight

● Customized

● Aggregates data / Composes services

● Often combines personal and public data

● Recursive?

Page 17: Mashups For Soa

Beyond Google Maps

● UI for existing services

● Simple service creation and deployment

● Simple service composition

● Simple workflows

● Service translation

● Personal productivity

● Rapid prototyping

Page 18: Mashups For Soa

Role of Mashups in a SOA

Page 19: Mashups For 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).

Page 20: Mashups For Soa

Metcalfe's law

Page 21: Mashups For Soa

Metcalfe's law Adjusted...

Page 22: Mashups For Soa

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

Page 23: Mashups For Soa

Mashup Platform Approaches

Page 24: Mashups For Soa

Mashup Platform Approaches

● Server side or Client side

● Mashup Logic requires unified format &

protocol model● HTTP/HTML?

● RSS?

● RDF?

● Proprietary?

Page 25: Mashups For Soa

Mashup Platform Approaches● Consumption

● GUI tools?

● Converters?

● Delivery● HTML?

● RSS?

● Proprietary?

● Various?

● Online service vs. installable software?

Page 26: Mashups For Soa

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 …)

Page 27: Mashups For Soa

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

Page 28: Mashups For Soa

WSO2 Mashup Server – Quick Introduction

Page 29: Mashups For Soa

WSO2 Mashup Server Architecture

Web Services

Feeds

Web Pages

Data Sources

MashupLogic

Page 30: Mashups For Soa

WSO2 Mashup Server Architecture

MashupLogic

● Javascript (E4X)● Simple service

deployment

● Service composition

● Workflows

● Service translation

● Service UI building

● Rapid prototyping

Page 31: Mashups For Soa

WSO2 Mashup Server Architecture

MashupLogic

Web Services

Rich HTML Applications

Files

Email/IM

Feeds

Page 32: Mashups For Soa

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

Page 33: Mashups For Soa

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

Page 34: Mashups For Soa

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

Page 35: Mashups For Soa

Resources

● Try the Mashup Server online

● Sample mashup (National Geographic)

● Sample mashup (TomatoTube)

● Sample mashup (Twitter Map)

● E4X Quick start guide