Cavalcare l'onda del Web 2.0 - Dion HinchcliffePresentation Transcript
Leveraging The Web 2.0 Movement Exploring Web 2.0, The Global SOA, and Enterprise 2.0
ZDNet’s Enterprise Web 2.0
AjaxWorld Magazine, Editor-in-Chief
Web 2.0 Journal, Editor-in-Chief
Hinchcliffe & Company
Web 2.0 University
First, some basics on Web 2.0 and SOA
A Brief History of the Web
15 years old
One entire boom and bust cycle
A simple, flat structure based on pages and hyperlinks
Everything on the Web happens with HTTP:
Invented by Tim Berners-Lee
A new type of platform
The Web: Then and Now
Mostly about navigating the Web: surfing
Most content was produced by central media companies
Few people put content online themselves and helped shape the Web directly
It was hard and expensive to create Web sites and applications
Only a few million people online
Unproven business models
The Web browser was the only way to browse
Very two-way use of the Web to consume and create content
Tens of millions of people blogging
Participation instead of publishing
The Web is now produced primarily on the edge of the Internet, instead of the center
1 billion people online. Source : IDC
Proven business models
Many ways to interact with the Web
The Challenge of Defining Web 2.0
Web 2.0 is Ajax
Web 2.0 is user generated content
Web 2.0 is social software
Web 2.0 is syndication and Web services
These are all correct, so there must be a deeper underlying principle
First Web 2.0 “Compact” Definition
“ Web 2.0 is the network as platform, spanning all connected devices; Web 2.0 applications are those that make the most of the intrinsic advantages of that platform: delivering software as a continually-updated service that gets better the more people use it, consuming and remixing data from multiple sources, including individual users, while providing their own data and services in a form that allows remixing by others, creating network effects through an "architecture of participation," and going beyond the page metaphor of Web 1.0 to deliver rich user experiences.” – Tim O’Reilly
Our Working Definition of Web 2.0 Today
“ Networked applications that explicitly leverage network effects .” – Tim O’Reilly
But what is Web 2.0 really?
90% Complete View of Forces and Elements of Web 2.0 ( and SOA )
Backgrounder on Web 2.0
A term that signifies a set of clearly apparent, widespread new trends in the way that the Web is being used
Not a technology ; a widespread change in the behavior and scale of the Web and its audience
Sometimes known as the Read/Write Web
The core principle often cited is harnessing collective intelligence (Source: Tim O’Reilly)
Examples of Web 2.0
Turning the traditional Web page into real software applications (aka AJAX)
Google Maps (maps.google.com)
Web sites made of content created entirely by their users
MySpace – social networking
YouTube – social media sharing
Digg – peer production news
Wikipedia – reference information
eBay – online product sales
People “remixing” the Web from the vast pool of content and services
Largest example by HousingMaps.com
Ad hoc browser-based apps
ProgrammableWeb’s hundreds of “mashups” and open APIs
Unprecedented peer production scale: A massive influx of user generated content via social media
YouTube (65,000 new videos a day)
Source: YouTube Fact Sheet
Blogosphere (900,000 new posts per day)
Result: The “You” Era Time Magazine’s Person of the Year 2006
The 7 Core Principles of Web 2.0
The Web as Platform
Data as the next “Intel Inside”
End of the Software Release Cycle
Lightweight Software and Business Models
Software Above the Level of a Single Device
Rich User Experiences
Harnessing Collective Intelligence
The concepts of Web 2.0
The Web As Platform
The Web as a real software platform
Leveraging it’s intrinsic strengths
Harnessing Collective Intelligence
Services that improve and get richer the more that people use them (Wikipedia, BitTorrent, YouTube)
Production of every kind moving to the edge of the network
Information as the Core Capability, Not Software
Google Maps, SourceForge, “Blogosphere”, NAVTEQ
End of Discrete Software Releases
Continuous improvement becomes the norm (zero-footprint Ajax software, SaaS, federated Web services)
Tenets of Web 2.0 Continued
Lightweight Programming Models
Simple pragmatism: Emergent models that just work
Examples: Ruby on Rails, PHP, mashups, widgets, badges
Easy Integration no matter who is on the other end
General preference for RSS, REST, POX/HTTP over SOAP, WS-*
Syndication instead of coordination and control
Tyranny of the mustUnderstand Header
Supports innovation in assembly, similar to the mass production of component PCs
Fundamentally Federated Software Systems
Examples: iTunes, blogosphere, SourceForge
Rich User Experiences
Ajax, Flash, Flex, Laszlo, XUL, WPF/E
Results in software as good as can be found anywhere with few exceptions
Invariably requires a Web service infrastructure or SOA
Core Competencies of Web 2.0
Online services, not packaged software, with cost-effective scalability
Software as a Service (Web service or UI)
Maintaining control over unique, hard-to-recreate information that gets richer the more that people use it
Trusting your users as co-developers
Harnessing collective intelligence
Leveraging The Long Tail
Lightweight user interfaces, development models, and business models
Business Models: Customer Self-Service, The Long Tail, Turning Applications into Platforms, Encouraging Unintended Uses
The Question of Who’s in Control
Business is Embracing Web 2.0 Ideas Quickly However Source : McKinsey & Company
Brief Introduction to SOA
From xml.com : SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents . A service is a unit of work done by a service provider to achieve desired end results for a service consumer . Both provider and consumer are roles played by software agents on behalf of their owners.
From whatis.com : SOA defines how two computing entities , such as programs, interact in such a way as to enable one entity to perform a unit of work on behalf of another entity . Service interactions are defined using a description language . Each interaction is self-contained and loosely coupled, so that each interaction is independent of any other interaction.
SOA Definition Bottom Line:
SOA is a modular software architecture , and the modules are services designed to interact with each other.
Important Note: SOA also contains higher order constructs such as composite applications, orchestration, coordination, and more exist.
SOAs are usually based on open standards to encourage automatic interoperability of services designed separately.
A good SOA could still violate this rule however
See Thomas Erl and Seven Principles of SO
Gartner recently reported that Service-Oriented Architecture is now the leading organizing principle in the enterprise space, with 80% of all development using SOA principles by 2008.
McKinsey and the Sandhill Group report that Web 2.0 in the enterprise will be one of the major disruptive influences in enterprise software in 2007.
Quote: “Web 2.0 also represents the most significant and easily accessed opportunity for new growth, innovation, and increased productivity.”
More Key Trends
48% of all CIOs globally are planning in 2007 to implement service-oriented architectures for integration with external trading partners.
This is making software increasingly service-based and highly composite
The simultaneous rise of services on the Web and services in the enterprise are driving a focus on building service-based software (SaaS)
Security, governance, and IT management are all going to change in a world of services
The Growing Global SOA
Key Point: Turning Applications Into Platforms
Openly exposing the features of software and data to customers, end-users, partners, and suppliers for reuse and remixing
This strategy requires documenting, encouraging, and actively supporting the application as a platform
Has serious governance implications
Provide legal , technical , and business reasons to enable this (or it won’t happen) :
Fair licensing, pricing, & support models
Strange Attractors: Similarities between Web 2.0 and SOA
But they don’t end there...
Major implications of Web 2.0 and SOA Convergence
Ajax and RIAs are rapidly growing in importance as the front-end to SOAs
A natural fit since RIAs must have services to function and open APIs are a leading trend
Simpler services have the most reach
Both technology (REST, JSON) and interface complexity
Challenges for tooling, which tends to support older Web services models
The Web is becoming the largest repository of service-oriented functionality and content.
Top-down vs. Bottom-Up
SOAs tends to be a top down architectural phenomenon
Few developers report developing with SOA
Web 2.0 is a widespread, grassroots industry phenomenon
Here today vs. promises tomorrow
Full-strength SOA (WS-* of any kind) is difficult to do with available tooling (60+ standards today)
However, Web 2.0 techniques are entirely in existence today
Though some, like end-user guided browser mashups, certainly have immature tooling
And Developer Options Abound: The Palette of Service Models is Large
What then are Web 2.0-style Web services?
The most common Web service approaches “in the wild” are ones based on the “grain” of the Web:
Representation State Transfer, or REST.
Created by Roy Fielding, the co-creator of HTTP, the fundamental protocol of the Web.
Designed to fit naturally into Internet architecture
Extremely simple, not a standard, just a style of using HTTP
Fully embraces the workings of HTTP and uses its verbs (GET, PUT, POST, DELETE) on top of a granular, sensical URL structure to indicate what is to happen.
REST Service Example:
The Result: Web-Oriented Architecture or WOA
Web 2.0 Stories
Just three of many…
The Global SOA Emerges
The best source of services is the Web
A new generation of apps Is emerging made primarily of other pieces of the Web
ProgrammableWeb.com’s Web 2.0 Matrix with surprisingly even API coverage
Example: XM Radio
XM Radio is a satellite radio provider that has recently embraced some of the tenets of Product Development 2.0.
Their Top 20 on 20 channel is one of the most popular channels XM has yet created. Why?
Because control of it has been entirely handed over to its users. Says the Wikipedia entry on Top 20 on 20: " The channel plays everything new from rock to rap, with the songs chosen by online votes to the XM website. One can also vote their favorite songs by calling the station number, or text messaging. The channel is completely automated by listener voting with no DJ interruption.
Top 20 on 20 is now one of the most popular music channels on XM. According to XM's internal research, the channel achieves 1.8 million listeners a week. "
Example: General Motors
Chevy Apprentice Campaign
Two-way collaborative video production effort between customers and corporate.
Over 22,000 videos were ultimately submitted.
Including submissions highly critical of the Chevy Tahoe SUV.
GM anticipated this and only removed offensive videos.
Established trust with existing and potential customers.
Increased general awareness about the product.
Community and discussion about the product in a way that would never have happened otherwise.
Introducing Enterprise 2.0
Conceived by Harvard Business School Professor Andrew McAfee
Defined as emergent, freeform, social applications for use within the enterprise
Primarily to improve the collaboration problem (discussed shortly)
The use of blogs and wikis to capture institutional knowledge, make it discoverable and lets structure and organization emerge naturally
Why is Enterprise 2.0 different?
Maturation of techniques that leverage how people work best
Realization of the power of emergent solutions over pre-defined solutions
Nearly zero-barriers to use
The Enterprise 2.0 Checklist
SLATES describes the combined use of effective enterprise search and discovery;
Using links to connect information together into a meaningful information ecosystem using the model of the Web;
Providing low-barrier social tools for public authorship of enterprise content;
Tags to let users create emergent organizational structure;
Extensions to spontaneously provide intelligent content suggestions similar to Amazon's recommendation system, and;
Signals to let users know when enterprise information they care about has been published or updated, such as when a corporate RSS feed of interest changes.