Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Web Oriented Architecture  WOA-at? Aaron Roe Fulkerson @roebot www.mindtouch.com
Another @#$^ing Acronym? What dumb*!@ analyst/journo coined this?
<ul><li>Coined in 2005: </li></ul><ul><li>WOA = SOA + REST + WWW </li></ul><ul><li>Disclaimer: Nick strikes me as a smart ...
What is SOA?  <ul><li>SOA apologists will say it is </li></ul><ul><li>  modular + distributable + sharable + loosely coupl...
I’m Co-opting WOA now…
<ul><li>WOA = REST + WWW </li></ul>
REST – a Software Design Pattern  <ul><li>WOA =  REST  + WWW </li></ul><ul><li>An architectural style defined, in part, by...
WWW – Web Technology Stack <ul><li>WOA = REST +  WWW A technology stack  </li></ul><ul><li>Uniform interface for interacti...
Make Machine to Machine Interaction As EASY As Human to Machine Interaction is on the WWW
Why WOA Matters <ul><li>Because it’s RAD! … dude. </li></ul>
WOA Yields
<ul><li>Formats  </li></ul><ul><li>HTML </li></ul><ul><li>Protocols </li></ul><ul><li>HTTP   </li></ul><ul><li>Hardware  <...
<ul><li>Because we have open standards </li></ul><ul><li>Uniform Interface for Interactions:  HTTP </li></ul><ul><li>Unifo...
Humans are forgiving <ul><li>Humans will excuse: </li></ul><ul><li>Typos  </li></ul><ul><li>Ambiguity </li></ul><ul><li>Ba...
<ul><li>… and stupid. </li></ul>Machines are Unforgiving
Challenges for Machine to Machine <ul><li>We have Uniform Interface for Interactions </li></ul><ul><li>HTTP is so simple (...
(X)HTML <ul><li>Too rich </li></ul><ul><li>broadly defined </li></ul><ul><li>hard to understand and error prone </li></ul>...
SOAP = HTTP + <more> <ul><li>Closed </li></ul><ul><li>hides too much and creates complexity </li></ul><ul><li>Standard XML...
RDF <ul><li>(Again) too rich </li></ul><ul><li>still broadly defined </li></ul><ul><li>hard to understand and error prone ...
ATOM PUB <ul><li>Well defined and constrained (yaay!) </li></ul><ul><li>Lists and entries </li></ul><ul><li>Defined verbs ...
WOA: Realizing the Dream <ul><li>Inexperienced programmers can rapidly extend existing systems </li></ul><ul><li>Quickly b...
Be a WOA-rrior Photo Credit: “Cayusa” via Flickr
Makes You REST-afarian Photo Credit: “Voice of Guyana” via Flickr
Aaron Roe Fulkerson @roebot www.mindtouch.com P.S- MindTouch Core is Free like speech and beer.  Download Today!
Upcoming SlideShare
Loading in …5
×

What is WOA? Presented at www.GlueCon.com

8,365 views

Published on

Published in: Technology
  • Be the first to comment

What is WOA? Presented at www.GlueCon.com

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

×