1
Web Oriented Architecture WOA-at?
Aaron Roe Fulkerson@roebot
www.mindtouch.com
Another @#$^ing Acronym? What dumb*!@ analyst/journo coined this?
2
3
Coined in 2005:
WOA = SOA + REST + WWW
Disclaimer: Nick strikes me as a smart guy.
Nick Gall, Gartner
What is SOA?
4
SOA apologists will say it is modular + distributable + sharable + loosely coupled
Meaning SOA is either: Something so generic it’s meaninglessEven Linux Daemons qualify as modular, distributed and loosely coupled. Is this SOA?
ORA Collection of technologies (ESB, SOAP, WSDL….) and a design pattern“Damn vendors co-opted our term for their own nefarious devices!”
I’m Co-opting WOA now…
5
6
WOA = REST + WWW
REST – a Software Design Pattern
7
WOA = REST + WWWAn architectural style defined, in part, by:
StatelessEverything is a URI, a resourceOnly representations are exchangedNo direct interactions with resources….(More? Go read Fielding)
WWW – Web Technology Stack
8
WOA = REST + WWWA technology stack
Uniform interface for interaction: HTTPUniform Interface for behavior (or application state): HTML
9
Make Machine to Machine Interaction As EASY As Human to Machine Interaction is on the WWW
Why WOA Matters
10
Because it’s RAD! … dude.
WOA Yields
11
Formats HTML
ProtocolsHTTP
Hardware Routers, proxies
12
WOA Wins By Leverages Existing Standards
13
Because we have open standards
Uniform Interface for Interactions: HTTPUniform Interface for Behavior (application
state) Interface: XHTML
Human to Machine Interaction on the WWW is EASY
Humans are forgiving
14
Humans will excuse:Typos AmbiguityBad designBuggy software
Human are EASY to Program
15
…and stupid.
Machines are Unforgiving
Challenges for Machine to Machine
16
We have Uniform Interface for InteractionsHTTP is so simple (and cute) GET, PUT, POST…
But
Need BETTER Uniform Interface for
Behavior (application state)
(X)HTML
17
Too richbroadly definedhard to understand and error prone
Expensive to processThe freedom of the producer is the burden of the consumer
SOAP= HTTP + <more>
18
Closedhides too much and creates complexityStandard XML envelopnon-standard contents
Doesn’t reuse HTTPCan’t leverage standard hardwareXML accelerators
Higher TCO
RDF
19
(Again) too richstill broadly definedhard to understand and error prone
Expensive to process(Again) the freedom of the producer is the burden of the consumer
ATOM PUB
20
Well defined and constrained (yaay!)Lists and entriesDefined verbsGeneral purpose agents existSimple, like nature…like HTTP
Problem: Can’t create new resources Edit and delete only (monotonically decreasing, boo!)
WOA: Realizing the Dream
21
• Inexperienced programmers can rapidly extend existing systems
• Quickly build valuable applications from composites of other systems
• Enterprises realize value from expensive SOA infrastructure
• TCO for enterprises dramatically lower
Be a WOA-rrior
22Photo Credit: “Cayusa” via Flickr
Makes You REST-afarian
23Photo Credit: “Voice of Guyana” via Flickr
24
Aaron Roe Fulkerson@roebot
www.mindtouch.com
P.S- MindTouch Core is Free like speech and beer. Download Today!