© 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
John TurekDirector, China Emerging Tech. InstituteIBM China Development LabNov. 1, 2007
Web 2.0: Extending the Reach of the SOA Model
2 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Credit where it is due
3 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
In a Nutshell
Web 2.0 is a social phenomena, an emerging business model and a set of technologies in support of that model.
Web 2.0 is enabled by the ability to create, share and use data in innovative ways not previously envisioned by the creators of the service.
Web 2.0 and Web services both support a Service Oriented Approach to programming but Web 2.0 has developed through a more chaotic, community driven process with remarkable success leveraging a variety of protocols.
Disclaimer
In the spirit of Web 2.0 it is the community that will decide on the final manifestation of these principles.
4 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Agenda
What is Web 2.0?
The Web as the next development platform
Feed Centric Integration
Extending the programming model: Challenges and Directions
Parting Thoughts
5 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
The evolving Web platform
Web 2.0 is about connecting people, and making technology efficient for people.
Web 1.0 was about connecting computersand making technology more efficientfor computers.
Web 2.0 changes the way in which businesses interact with its customers
Web 2.0:
Is about communities and social networks
Builds contextual relationships and facilitates
knowledge sharing
Is about people and the way they collaborate
6 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
The Long Tail of Web ApplicationsLong-tail of Applications
Situational ApplicationsMission Critical
Open Source App Server
Us
ag
e,
Imp
ort
an
ce
Number of Applications
ERP
CRM
SCM
.com
sales analysis dashboards contact mgmt
Scripting (e.g. LAMP)JEE, .NET
Ad Hoc DevelopmentFormal Development
ERP
The Long Tail• Targeting niche markets - expanding from dozens of markets of millions of people to
millions of markets of dozens of people
• Examples: Google, Netflix, Amazon
Network Effects• Product or service is more valuable the more people that use it (e.g telephone, email,
instant messaging…)
• Examples: eBay, MySpace, Craigslist…
Data as the new “Intel Inside”• Proprietary data – hard for a competitor to duplicate
• User Generated Data• Data indirectly created by users• Examples: NAVTEQ, Amazon, Google Pagerank
Core Competencies of Web 2.0 Companies Services, not packaged software, with cost-effective scalability Control over unique, hard-to-recreate data sources that get richer as more people use them Trusting users as co-developers Harnessing collective intelligence Leveraging the long tail through customer self-service Software above the level of a single device Lightweight user interfaces, development models, AND business models
7 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
What is Web 2.0 All About?
EXAMPLE: MASHUPS – Integration of disparate data source through simple scripting tools enables users to innovate by combining existing web services into entirely new applications.
Web Service which uses content from more than one source to create a completely new service
Typically sourced from a third party via a public interface or API
Simple methods of sourcing content for mashups include Web feeds (e.g. RSS or Atom) and JavaScript
8 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
What is Web 2.0 All About?Example: AccuWeather™
Overview– SMB company that aggregates weather content, crushes forecasts
that are consume by diverse businesses
– ProfesionalPlus staff that assembles custom forecast models for businesses
– ModelPlus - suite of advanced forecast modeling solutions such as StormTimer
– Example: CSX - sends train route information to AccuWeather - compares with severe weather to “message” CSX systems of severe, situational conditions
AccuWeather Opportunity– Backlog of custom dashboards growing fast
– Customers asking for “flexible” mash-ups to meet ongoing changing business needs
– Customize costs high given current technology foundation
– Extend current weather content subscription to enabling user-customizable dashboards
– Seeing growing number of weather widgets, branded with AccuWeather - with poor quality - potential reflection on company
AccuWeather™“(Web 2.0) Widget-delivered weather information allows our clients to be more productive in utilizing AccuWeather data to identify and exploit business opportunities while at the same time helping clients manage risks imposed by adverse weather conditions.”
9 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
REST SOAP XML-RPC REST,XML-RPC
REST,XML-RPC,
SOAP
REST,SOAP
JS Other
google google mapsmaps
netvibesnetvibes
live.comlive.com
virtual virtual earthearth
google google searchsearch
amazon S3amazon S3
amazon amazon ECSECS
flickrflickrebayebay
youtubeyoutube
411sync411syncdel.icio.usdel.icio.us
yahoo! searchyahoo! searchyahoo! geocodingyahoo! geocoding
technoratitechnorati
yahoo! imagesyahoo! imagestrynttrynt
yahoo! localyahoo! local
10 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Web
Enterprise
RESTJSON
XML RSS
ATOM
LegacyCICSIMS
J2EE
App ServerWAS, CE, Tomcat
WPS, ESB, Portal
SOAPWS-* JMS
MOM
“Bridging Web and Enterprise SOA”
AJAX
DB2
Global SOA
Exposing Enterprise Services to the Web extends your enterprise globally and simplifies:
– Development
– Composition of Services
– Deployment and accessibility
– QoS: Performance, Scale, Security
Enterprises are exposing more services and feeds to the Web …and consuming more services and feeds from the Web
Enterprise mashups and composite applications
11 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Web 2.0 SOA
Software as a service Software as services
Interoperability based on Web principles Interoperability based on Web standards
Applications are platforms Applications are platforms
Encourages unintended uses Permits unintended uses
Mashups Composite applications
Rich user interfaces Little user interface guidance
Architecture of participation Little prescription of user participation
Source: http://web2.wsj2.com
Some Similarities & Comparisons between Web 2.0 and SOA
12 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Agenda
What is Web 2.0?
The Web as the next development platform
Feed Centric Integration
Extending the programming model: Challenges and Directions
Parting Thoughts
13 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Harnessing Web 2.0
Assemble– Users who may not be programmers can
– create web applications to address just-in-time ad-hoc situational needs
– Integrate data and markup using widgets to create new utilities
Wire– Bind rich content from disparate sources to create
new ways to view information– Add behavior and relationships to disparate widgets
to create a rich interactive application experience
Share– Quickly promote your mashup for use by others– Enable multi-user collaboration on the development
of a mashup
How can we harness Web 2.0 power today? Empower users to assemble their own situational web applications Enable non-programmers to wire software components together with behavior and data relationships Embrace the community spirit of Web 2.0 - share personal web applications for quick and simple
collaborative decision making activities
14 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Leveraging Web 2.0
Time to Value (TTV)
– Easy to aquire, learn and use
– Server side scripting is preferred
– Readily available pre-built libraries
ProjectZero.org – What is it?
Project Zero – What is it?
Zero complexity. Zero overhead. Zero obstacles.
Project Zero is an IBM-sponsored public incubator project which speeds the development of next-generation dynamic web applications by providing a simplified development model built around web 2.0 building-blocks and making existing services easier to consume.
The community driven web site where visitors can learn about the project, download the code packages, and participate in the community through forums and blogs.
15 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Project Zero Core Technology Create: Project Zero introduces a set of application programming interfaces that are centered on service creations using REST, scripting,
integration mash-ups and rich web interfaces.
– Zero uses conventions to facilitate the development of REST services
– Zero supports scripts written in several of the popular scripting languages, including PHP, JavaScript and Groovy (Java).
– Zero’s scripts are fundamentally stateless; however, to support state, Zero employs a shared memory space to help facilitate the management of transient data.
– Zero programs use a LINQ-based data access service to access relational data.
Assemble: Project Zero supports the composition of new services and applications using integration (a.k.a., “mash-up”) technology to “wire” together REST services.
– A solution may be rapidly assembled by combining existing feeds and services that enrich, sort, and filter data in a pipeline.
– Zero also exposes points of configuration that allow the pipeline behavior to be augmented by configuring templates to alter pipeline routes, log events along the pipeline, as well as transform data flowing though the pipeline to alternative data formats.
Execute: Project Zero deploys on a radically simplified web server that is optimized to securely run a massive number of short lived, stateless scripts.
– The Zero runtime supports multiple scripting languages atop an optimized Java Virtual Machine.
– Each script runs as its own process, and as such, is isolated from other scripts and can be secured at a finer grain.
– The Zero runtime supports lazy activation of scripts; hence a single box can support hundreds of service and application instances. Given the fact that Zero scripts are fundamentally stateless, they are able to be periodically recycled, which eliminates failures due to “heisenbugs”.
16 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Public WebPublic Web
Three Steps to Creating a Mashup
Web 2.0 Composite ServicesWeb 2.0 Composite Services
SOA FoundationSOA Foundation
Web 2.0 Composite ApplicationsWeb 2.0 Composite Applications
Web.0 PlatformWeb.0 Platform
BrowserBrowser
Binding
Service
Widgets
1
23
Steps:
1. Compose services (data or function) into a composite service
2. Compose widgets / HTML segments into a composite UI or an app template
3. Binding service (data or function) to the composite UI
OSOS
Web.0 PlatformWeb.0 Platform
PHPPHP JavaJava
JVMJVM
17 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Mashup Makers: QED Wiki Example
MicroformatsREST
ExemplarsFeeds
MicroformatsREST
ExemplarsFeeds
MashupSeveral composition models Wiki + controls QEDWiki Spreadsheet Merged formed/feeds … …
18 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007 1818
Mashups v Workflow? Mashup Tools are reviewed at http://blogs.zdnet.com/Hinchcliffe/?p=63 Workflow Tools are reviewed by Gannon and Fox
http://grids.ucs.indiana.edu/ptliupages/publications/Workflow-overview.pdf
Both include scripting in PHP, Python, sh etc. as both implement distributed programming at level of services
Mashups use all types of service interfaces and do not have the potential robustness (security) of Grid service approach
– Typically “pure” HTTP (REST)
Do we want to bridge across Mashups and Workflow?
19 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Agenda
What is Web 2.0?
The Web as the next development platform
Feed Centric Integration
Parting Thoughts
20 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Integrating Data Feeds
Data Centric Service Composition
Fusion Data Model being developed at CDL
Other examples:
– SnapLogic,
– Microsoft,
– Yahoo Pipes,
– etc.
Disclaimer
During the course of this discussion, I will present specific technologies being prototyped in the lab with the goal of describing a general principles. In the spirit of Web 2.0 it is the community that will decide on the final manifestation of these principles.
21 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Let’s Start With One Simple Scenario Get BBC and Yahoo headline news feed Aggregate the feeds, Sort the items by title Publish it at “http://localhost:8090/pipelinebinding/news”
FetchBBCNews
FetchBBCNews
SyndicateSyndicate Aggregate the feeds
Sort
FetchYahooFeed
FetchYahooFeed
SortSort
http://rss.news.yahoo.com/
rss/topstorieshttp://
newsrss.bbc.co.uk/rss/newsonline_uk_edition/
world/rss.xml
22 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Pipeline as a REST Centric Composition Pattern
Step
1
Step
1
Step
2
Step
2
Step
3
Step
3
For-eachFor-each
A pipeline contains a set of steps connected together, with outputs flowing into inputsInput parameters of pipeline can be declared.A pipeline can invoke the other pipelines as a step.
A step is an atomic component that performs a unit of processing.Step can have zero or more inputs and one output.Step parameters can be used for configurationBasic processing steps will be provided out-of-box. E.g. fetch feed, invoke rest service
The data flows between steps follow the XPath 2.0 data model definition.
Step aStep a Step b
Step b
A construct is a steps that contains additional steps. It control and organize the flow of documents through a pipeline. E.g. For-Each, Choose-When-Otherwise,
XML Pipeline
23 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Integration Toolkit for Aggregating Data Feeds
24 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Spectrum of usersApplication Assemblers•Those using computers at work who can automate business tasks that are not already addressed (e.g. working with databases and dynamic spreadsheets).•Shielded from integration issues.
Enablers •Those using computers at work who say that they “program”•Focused on empowering the Assemblers. •Web Developers with skills for content integration and app logic.
Traditional Programmers•IT Professionals who are professional application programmers. •1M are sophisticated professional application programmers, 2M are less sophisticated
3 M
13 M
55 M
UI and Content Manipulation Skills
Spreadsheets, Databases, Wikis, Blogs, Web Content Management
Skills for content integration and application logic.
PHP, ASP, Ruby on Rails, JavaScript, HTML, XML, REST
Skills for backend Integration and Infrastructure.
J2EE, .NET
Situational Apps Employ a Different Constituency
Skills
25 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Service Ecosystem
From Goals to Results
SOAWeb
PersonalizedService Palette
Identify(Navigate)
1
Compose Services
2
Flow Flow Tool
Codify
Contribute BackCollective Intelligence
Contribute BackNew Services
Contribute Services (UGC)
UGC
A Trip Plan
Stock App
Integrate Sales Mgmt & SugarCRM
A Composite Feed
A Report
A Dashboard
Campus Hire Document
Application
Flow
Composite service(Feed, REST)
Others
3
Human Workflow
GoalsResult
s
26 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Sales Person Assistant
Summary: Halliburton Company provides a variety of services, products, maintenance, engineering and construction to energy, industrial, and governmental customers.
CEO: David J. Lesar
Headquarters:5 Houston Center 1401 McKinney Suite 2400Houston, TX 77010, USA
Phone: +1-713-759-2600
Sales History
Headquarters
Financial Information (NYSE:HAL)
Company name: Halliburton
Layout View Display ViewDesign View
Product: IBM Lotus Notes
News
From To1/1/1998 Today
0
500
1000
1500
2000
2500
3000
3500
1998 1999 2000 2001 2002 2003 2004 2005 2006 2007
Year
Sa
les
Blog Posts
Feeds
Category:
Subcategory:
News
Business
rss rss rss
atomatomatom
CNNMoney Google News
Yahoo! News
……Reuters
Feed Operators
Sort Filter Merge
S F M
More Feeds
More Operators
Recommendations
Services
Category:
Subcategory:
Directories
Companies
Google Directory
Yahoo! Directory
Reuters
………
ws ws rest
ws ws ws
More Services
More Recommendations
CompanyPicture
CEOGeneology
SendSMS
ws
27 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Sales Person Assistant
Summary: shortDescription
CEO: name picture
Headquarters: address
Phone: phoneNumber
Sales History
salesChart
Headquarters
map
Financial Information (NYSE:F10)
financialInfo
Company name: companyName
Layout View Display ViewDesign View
Product: productName
News
news
From TostartDate endDate
Blog Posts
comments
Feeds
Category:
Subcategory:
News
Business
rss rss rss
atomatomatom
CNNMoney Google News
Yahoo! News
……Reuters
Feed Operators
Sort Filter Merge
S F M
More Feeds
More Operators
Recommendations
Services
Category:
Subcategory:
Directories
Companies
Google Directory
Yahoo! Directory
Reuters
………
ws ws rest
ws ws ws
More Services
More Recommendations
CompanyPicture
CEOGeneology
SendSMS
ws
28 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
rest
Reuters
Company Name
CEOSummary PhoneHeadquarters
Feeds
Services
Category:
Subcategory:
News
Business
rss rss rss
atomatomatom
CNNMoney Google News
Yahoo! News
……Reuters
Feed Operators
Sort Filter Merge
S F M
More Feeds
Category:
Subcategory:
Directories
Companies
Google Directory
Yahoo! Directory
Reuters
………
ws ws rest
ws ws ws
More Services
Layout View Display ViewDesign View
More Operators
Recommendations
Developer drags the Reuters
company directory service
No recommendations available.
29 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
rest
Reuters
Company Name
CEOSummary PhoneHeadquarters
Feeds
Services
Category:
Subcategory:
News
Business
rss rss rss
atomatomatom
CNNMoney Google News
Yahoo! News
……Reuters
Feed Operators
Sort Filter Merge
S F M
More Feeds
Category:
Subcategory:
Directories
Companies
Google Directory
Yahoo! Directory
Reuters
………
ws ws rest
ws ws ws
More Services
Layout View Display ViewDesign View
More Operators
Recommendations
More Recommendations
CEOPicture
HeadquartersMap
Send SMS
ws
Tool makes recommendations for the potential outputs and/or services to be
added next
30 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
rest
ws
Reuters
Google Images
Company Name
CEOSummary PhoneHeadquarters
CEOpicture
Feeds
Services
Category:
Subcategory:
News
Business
rss rss rss
atomatomatom
CNNMoney Google News
Yahoo! News
……Reuters
Feed Operators
Sort Filter Merge
S F M
More Feeds
Category:
Subcategory:
Finance
Charts
Google Finance
Yahoo! Finance
AOL Finance
………
ws ws ws
ws ws ws
More Services
Layout View Display ViewDesign View
More Operators
Recommendations
More Recommendations
Developer picks the “CEO picture” recommendation
CEOPicture
HeadquartersMap
Send SMS
ws
31 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
rest
ws
Reuters
Google Images
Company Name
CEOSummary PhoneHeadquarters
CEOpicture
Feeds
Services
Category:
Subcategory:
News
Business
rss rss rss
atomatomatom
CNNMoney Google News
Yahoo! News
……Reuters
Feed Operators
Sort Filter Merge
S F M
More Feeds
Category:
Subcategory:
Finance
Charts
Google Finance
Yahoo! Finance
AOL Finance
………
ws ws ws
ws ws ws
More Services
Layout View Display ViewDesign View
More Operators
Recommendations
More Recommendations
HeadquartersMap
FrenchSummary
Send SMS
ws
Developer picks the “CEO picture” recommendation
Tool offers a new set of
recommendations
32 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
Agenda
What is Web 2.0?
The Web as the next development platform
Feed Centric Integration
Parting Thoughts
33 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
8 of the world's 10 biggest banks
10 of the world's 10 biggest auto
manufacturers
80% of the biggest US health plans
9 of the world’s 10 biggest telcos
8 of the world's 10 biggest insurers
4 of the world's 10 biggest retailers
80 SMB references
More than 2,500 SOA Business
Partners
Half of the world’s 30 biggest electronics
companies
Leverage Web 2.0 technologies and techniques to deliver richer, more interactive experiences for people, process, and information
Extending the value of existing SOA investments
34 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
IBM Strategic Direction for Web 2.0
Bridge between Web and Enterprise SOA• Building on SOA by using the Web as a business platform• Extensions to IBM SOA platform allowing a simple on-ramp to Enterprise SOA• Address the need to build service interfaces for existing apps to enable access to data / content
Expand SOA with Emerging Web 2.0 Technologies• Enable customers and partners to respond faster to situational business opportunities and threats • Embrace technologies preferred by web developers • Empower knowledge workers to wire software components together, forming new situational applications and mashups
Continue Industry Web 2.0 Technology Collaborations• Lead and promote standards that enable more services & feeds to be easily mashed up• Accelerate adoption of light-weight programming models, Feeds, Wikis, Richer User Experience• Empower knowledge workers to wire software components together, forming new situational applications and mashups
Community Participation• Lead an open community to define conventions for programming model, deployment model, and administration for Web 2.0 applications• Help Web 2.0 deliver on its promise of "open-access" by driving a community around the growing number of data services• Use public Forums, Blogs and Wikis to discuss product development, Source code, Examples, Problems, etc.
35 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
ProjectZero.org
• Latest Builds
• Technical Documentation
• Bug reports
• Developer Forums
• Demos / Videos
www.ProjectZero.org CommunityEvolve Project Zero core platform based on community feedback Early access to the new programming model and core platform code
Influence the direction of the core and create extensions a la eclipse plugins
Share experiences around latest innovations with the platform
36 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
The evolving Web platform
Web 3.0 is about XYZ, and making technology efficient for people.
Web 2.0 changes the way in which businesses interact with its customers
Web 2.0:
Is about communities and social networks
Builds contextual relationships and facilitates
knowledge sharing
Is about people and the way they collaborate
Web 2.0 is about connecting people, and making technology efficient for people.
37 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007
“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.“ Antoine de Saint-Exupery
38 © 2007 IBM Corporation
2007 【 IBM developerWorks 開發者大會】
IBM developerWorks| Oct 2007