Application Development
Web Services Episode IV: A New Hope
Hans Granqvist
Sr. Engineer, VIS
Application Development
Web S...
Web services, def.
•Machine-to-machine
•XML
– Messaging, encoding
•“Service”
– Describe, discover, use
•Interoperable
History 101
1950-ies
•Procedure calls
1976
•Remote Procedure Calls (RFC 707)
1989
•Object-oriented RPC
– Brokers
1995-ish
•XML-RPC
– RPC over the internet
– 2 pages
– 9 data types
Example XML-RPC
POST /RPC2 HTTP/1.0
User-Agent: Curl/5.1.2 (Windows)
Host: example.org
Content-Type: text/xml
Content-leng...
1998
SOAP
•Abstract messaging framework
– HTTP
– Data types
– Recipients
– Rules & controls
– Infinitely customizable
SOAP
•Content
– Envelope = (Headers, Body)
•Encoding
– Section 5 or literal
•Structure
– RPC or Document-centric
Example SOAP
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/199...
Criticism
•HTTP as transport
•Collapsed URI
•Firewalls
•Patents
•…Umm, okay, complexity
• WSDL, UDDI, MTOM, BPEL4WS, WS-CDL,
ASAP, WSRP
• WS-
– Policy, Metadataexchange,
Reliability, PolicyAttachement,
Reliable...
*
REST = Architectural style
•Not software, nor a specification
– Selection of ideals
– Best practices
•Not magic!
•The Web = REST
REST
1. Resources
• Named resources
• Logical URLs
• Nouns
http://verisign.com/certs/04224
2. Representations
• XML/HTML/JPG/ . . .
• Interconnected, traversable
?xml version=1.0?
certificate
id04224/id
. . .
owne...
3. State
4. HTTP
• Application protocol
• PUT, GET, POST, DELETE
– Create, Retrieve, Update, Delete
• Use of headers fundamental
– ...
Accept: text/*; text/html --
-- Content-Type: text/xml
POST /test HTTP/1.1
Host: http://verisign.com
Content-Type: text/xm...
REST Criticism and Responses
Security
• RFC 2617 (HTTP Auth)
– Extensible!
• XMLDSIG and XMLENC still applicable
• And so is HTTPS
Description  Discovery
• UDDI R.I.P.
– January 12, 2006:
IBM, SAP, MSFT kill public UDDI server
• WSDL 2.0
Reliability, Tools
• Web is internet scale
• IDEs not necessary
Auditing, policy, eventing…
• Application issues!
Is there a happy ending?
SOAP vs. REST
• Completeness vs. Toy-like
• Pragmatism vs. Hippie ideology
or
• Bloated vs. Agile
• Complexity vs. Simplic...
Conclusion
•Both SOAP and REST needed
– Simplicity rules
•Consider REST
– Side-effects
•Consider security issues
•WS-* mom...
Thank you!
Q/A?
“Web 2.0”
Web services
Web services
Web services
Web services
Web services
Web services
Web services
Upcoming SlideShare
Loading in...5
×

Web services

172

Published on

Found this while SOAP vs REST deck while cleaning out an old hard drive...

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

  • Be the first to like this

No Downloads
Views
Total Views
172
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Web services

  1. 1. Application Development Web Services Episode IV: A New Hope Hans Granqvist Sr. Engineer, VIS Application Development Web Services Episode IV: A New Hope Hans Granqvist Sr. Engineer, VIS
  2. 2. Web services, def. •Machine-to-machine •XML – Messaging, encoding •“Service” – Describe, discover, use •Interoperable
  3. 3. History 101
  4. 4. 1950-ies •Procedure calls
  5. 5. 1976 •Remote Procedure Calls (RFC 707)
  6. 6. 1989 •Object-oriented RPC – Brokers
  7. 7. 1995-ish •XML-RPC – RPC over the internet – 2 pages – 9 data types
  8. 8. Example XML-RPC POST /RPC2 HTTP/1.0 User-Agent: Curl/5.1.2 (Windows) Host: example.org Content-Type: text/xml Content-length: 162 <?xml version="1.0"?> <methodCall> <methodName>example.getStateName</methodName> <params> <param><value><i4>41</i4></value></param> </params> </methodCall>
  9. 9. 1998
  10. 10. SOAP •Abstract messaging framework – HTTP – Data types – Recipients – Rules & controls – Infinitely customizable
  11. 11. SOAP •Content – Envelope = (Headers, Body) •Encoding – Section 5 or literal •Structure – RPC or Document-centric
  12. 12. Example SOAP <SOAP-ENV:Envelope xmlns:SOAP- ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema- instance"> SOAP-ENV:Header . . . Meta data . . . Optional data . . . /SOAP-ENV:Header SOAP-ENV:Body w:stateName xmlns:m=http://example.com/ num xsi:type=xsd:int41/num /m:stateName /SOAP-ENV:Body /SOAP-ENV:Envelope
  13. 13. Criticism •HTTP as transport •Collapsed URI •Firewalls •Patents •…Umm, okay, complexity
  14. 14. • WSDL, UDDI, MTOM, BPEL4WS, WS-CDL, ASAP, WSRP • WS- – Policy, Metadataexchange, Reliability, PolicyAttachement, ReliableMessaging, Addressing, MessageDelivery, Notification, Enumeration, Trust, Coordination, SecurityPolicy, Transfer, CAF, Federation, SecureConversation, Eventing, Transactions, Security, Provisioning, Manageability, … • OASIS, W3C, WS-I, IETF • IBM, BEA, TIBCO, Microsoft, Sun, SAP, Oracle, VeriSign
  15. 15. *
  16. 16. REST = Architectural style
  17. 17. •Not software, nor a specification – Selection of ideals – Best practices •Not magic! •The Web = REST REST
  18. 18. 1. Resources • Named resources • Logical URLs • Nouns http://verisign.com/certs/04224
  19. 19. 2. Representations • XML/HTML/JPG/ . . . • Interconnected, traversable ?xml version=1.0? certificate id04224/id . . . owner xlink:href= http://verisign.com/owner/1701-A/ /owner /certificate
  20. 20. 3. State
  21. 21. 4. HTTP • Application protocol • PUT, GET, POST, DELETE – Create, Retrieve, Update, Delete • Use of headers fundamental – Accept, Content-type . . . and many more
  22. 22. Accept: text/*; text/html -- -- Content-Type: text/xml POST /test HTTP/1.1 Host: http://verisign.com Content-Type: text/xml Content-length: . . . message . . . /message Headers Content
  23. 23. REST Criticism and Responses
  24. 24. Security • RFC 2617 (HTTP Auth) – Extensible! • XMLDSIG and XMLENC still applicable • And so is HTTPS
  25. 25. Description Discovery • UDDI R.I.P. – January 12, 2006: IBM, SAP, MSFT kill public UDDI server • WSDL 2.0
  26. 26. Reliability, Tools • Web is internet scale • IDEs not necessary
  27. 27. Auditing, policy, eventing… • Application issues!
  28. 28. Is there a happy ending?
  29. 29. SOAP vs. REST • Completeness vs. Toy-like • Pragmatism vs. Hippie ideology or • Bloated vs. Agile • Complexity vs. Simplicity • Web 1.0 vs. Web 2.0
  30. 30. Conclusion •Both SOAP and REST needed – Simplicity rules •Consider REST – Side-effects •Consider security issues •WS-* momentum •Fight the good fight!
  31. 31. Thank you! Q/A?
  32. 32. “Web 2.0”
  1. A particular slide catching your eye?

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

×