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

6,993

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,993
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
58
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • 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!
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×