REST vs. SOAP (Making the Right Architectural Decision) - 1st International SOA Symposium, Amsterdam, October 2008

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

3 comments

Comments 1 - 3 of 3 previous next Post a comment

  • + sachidananda09 RICMS, Berhampur Orissa 3 months ago
    Hello Sir,
    Nice idea, and I want to down load it and plz, give me more information regarding this.
  • + cesare.pautasso Cesare Pautasso 9 months ago
    You can download the slides and the original paper from:
    http://www.jopera.org/docs/publications/2008/restws
  • + dduggal dduggal 2 years ago
    Hi Cesare - This is a very informative presentation, may I download for sharing with my team of developers? We are an early stage start up working on a SaaS solution. We have no intention to distribute externally and wouldn’t do so without your permission. Please let me know. Thanks in advance. Dave (dave@ideate.com)
Post a comment
Embed Video
Edit your comment Cancel

13 Favorites

REST vs. SOAP (Making the Right Architectural Decision) - 1st International SOA Symposium, Amsterdam, October 2008 - Presentation Transcript

  1. REST vs. SOAP: Making the Right Architectural Decision Cesare Pautasso Faculty of Informatics University of Lugano (USI), Switzerland http:// www.pautasso.info
  2. Agenda
    • Motivation: A short history of Web Services
    • Comparing REST vs. SOAP/WS-*
    • Architectural Decision Modeling
    • Conceptual Comparison
    • Technology Comparison
    • How to measure the “complexity” of WS-* or the “simplicity” of REST?
    • Conclusion: Making the right Architectural Decision
  3. Web Sites (1992) HTTP HTML Web Browser Web Server
  4. Web Sites (1992) HTTP HTML Web Browser Web Server (HTTP) SOAP Server Client XML WSDL WS-* Web Services (2000)
  5. RESTful Web Services (2006) Client HTTP PO-XML RSS JSON Web Server WADL WS-* Web Services (2000) (HTTP) SOAP Server Client XML WSDL
  6.  
  7. XML URI HTTP MIME JSON RESTful SSL RSS
  8. Is REST being used? Slide from Paul Downey, BT
  9. Can we really compare WS-* vs. REST? WS-* REST
  10. Can we really compare WS-* vs. REST? WS-* SOA Middleware Interoperability Standards REST Architectural style for the Web
  11. How to compare? WS-* SOA Middleware Interoperability Standards REST Architectural style for the Web
  12. How to compare? WS-* SOA Middleware Interoperability Standards REST Architectural style for the Web Architectural Decision Modeling
  13. Architectural Decisions
    • Architectural decisions capture the main design issues and the rationale behind a chosen technical solution
    • The choice between REST vs. WS-* is an important architectural decision for integration projects
    • Architectural decisions affect one another
    • Architectural Decision:
    • Communication Protocol
    • Architecture Alternatives:
    • TCP
    • SMTP
    • HTTP
    • MQ
    • BEEP
    • CORBA IIOP
    • Rationale
  14. Application Integration Styles File Transfer Shared Database Message Bus Remote Procedure Call
  15. Application Integration Styles File Transfer Shared Database Message Bus Remote Procedure Call WS-* REST Integration Technology Platform
  16. Related Decisions (WS-*) File Transfer Shared Database Message Bus Remote Procedure Call WS-* REST
  17. Related Decisions (RPC) File Transfer Shared Database Message Bus Remote Procedure Call WS-* REST
  18. Decision Space Overview
  19. Decision Space Summary
    • 21 Decisions and 64 alternatives
    • Classified by level of abstraction:
    • 3 Architectural Principles
    • 9 Conceptual Decisions
    • 9 Technology -level Decisions
  20. Decision Space Summary
    • 21 Decisions and 64 alternatives
    • Classified by level of abstraction:
    • 3 Architectural Principles
    • 9 Conceptual Decisions
    • 9 Technology -level Decisions
    • Decisions help us to measure the complexity implied by the choice of REST or WS-*
  21. Architectural Principles
    • Protocol Layering
      • HTTP = Application-level Protocol (REST)
      • HTTP = Transport-level Protocol (WS-*)
    • Dealing with Heterogeneity
    • Loose Coupling
  22. RESTful Web Service Example HTTP Client (Web Browser) Web Server Database GET /book?ISBN=222 SELECT * FROM books WHERE isbn=222 POST /order INSERT INTO orders 301 Location: /order/612 PUT /order/612 UPDATE orders WHERE id=612
  23. Big Web Service Example (from REST perspective) HTTP Client (Stub Object) Web Server POST /soap/endpoint POST /soap/endpoint return new Order() order.setCustomer(x) Web Service Implementation POST /soap/endpoint return getBook(222)
  24. Protocol Layering
    • “ The Web is the universe of globally accessible information” (Tim Berners Lee)
      • Applications should publish their data on the Web (through URI)
    • “ The Web is the universal (tunneling) transport for messages”
      • Applications get a chance to interact but they remain “outside of the Web”
    Application Resource URI HTTP POST Application Endpoint URI POX HTTP GET HTTP PUT HTTP DEL HTTP POST SOAP (WS-*) MQ… SMTP RSS JSON …
  25. Dealing with Heterogeneity
    • Enterprise Computing
    • Web Applications
    CICS IMS Picture from Eric Newcomer, IONA HTTP
  26. Dealing with Heterogeneity
    • Enterprise Computing
    • Web Applications
    CICS IMS Picture from Eric Newcomer, IONA HTTP
  27. Conceptual Comparison
  28. Conceptual Comparison
  29. Conceptual Comparison
  30. Technology Comparison
  31. Technology Comparison
  32. Technology Comparison
  33. Technology Comparison
  34. Technology Comparison
  35. Measuring Complexity
    • Architectural Decisions give a quantitative measure of the complexity of an architectural design space:
      • Total number of decisions
      • For each decision, number of alternative options
      • For each alternative option, estimate the effort
    Decisions with 1 or more alternative options 35 27 Alternatives 14 17 Decisions WS-* REST
  36. Measuring Complexity Decisions with 1 or more alternative options Decisions with more than 1 alternative options 35 27 Alternatives 14 17 Decisions WS-* REST 32 16 Alternatives 12 5 Decisions WS-* REST
  37. Measuring Complexity Decisions with more than 1 alternative options
    • URI Design
    • Resource Interaction Semantics
    • Payload Format
    • Service Description
    • Service Composition
    32 16 Alternatives 12 5 Decisions WS-* REST
  38. Measuring Complexity Decisions with more than 1 alternative options Decisions with only 1 alternative option 32 16 Alternatives 12 5 Decisions WS-* REST 2 12 Decisions WS-* REST
  39. Measuring Complexity Decisions with only 1 alternative option
    • Payload Format
    • Data Representation Modeling
    2 12 Decisions WS-* REST
  40. Measuring Effort Decisions with only 1 alternative option Decisions with only do-it-yourself alternatives 2 12 Decisions WS-* REST 0 5 Do-it-yourself Alternatives WS-* REST
  41. Measuring Effort Decisions with only do-it-yourself alternatives
    • Resource Identification
    • Resource Relationship
    • Reliability
    • Transactions
    • Service Discovery
    0 5 Do-it-yourself Alternatives WS-* REST
  42. Freedom of Choice Freedom from Choice
  43. Comparison Summary
    • Architectural Decisions measure complexity implied by alternative technologies
    • REST simplicity = freedom from choice
      • 5 decisions require to choose among 16 alternatives
      • 12 decisions are already taken ( but 5 are do-it-yourself )
    • WS-* complexity = freedom of choice
      • 12 decisions require to choose among 32 alternatives
      • 2 decisions are already taken (SOAP, WSDL+XSD)
  44. Conclusion
    • You should focus on whatever solution gets the job done and try to avoid being religious about any specific architectures or technologies.
    • WS-* has strengths and weaknesses and will be highly suitable to some applications and positively terrible for others. Likewise with REST.
    • The decision of which to use depends entirely on the application requirements and constraints.
    • We hope this comparison will help you make the right choice.
  45. References
    • Cesare Pautasso, Olaf Zimmermann, Frank Leymann,
    • RESTful Web Services vs. Big Web Services: Making the Right Architectural Decision , Proc. of the 17th International World Wide Web Conference ( WWW2008 ), Bejing, China, April 2008.
    • Cesare Pautasso, BPEL for REST , Proc. of the 6th International Conference on Business Process Management ( BPM 2008 ), Milan, Italy, September 2008.
    • Cesare Pautasso, Gustavo Alonso: From Web Service Composition to Megaprogramming Proc. of the 5th VLDB Workshop on Technologies for E-Services (TES-04), Toronto, Canada, August 29-30, 2004.

+ Cesare PautassoCesare Pautasso, 2 years ago

custom

4375 views, 13 favs, 4 embeds more stats

Recent technology trends in Web services indicate t more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 4375
    • 4342 on SlideShare
    • 33 from embeds
  • Comments 3
  • Favorites 13
  • Downloads 0
Most viewed embeds
  • 27 views on http://abrdev.com
  • 3 views on file://
  • 2 views on http://www.pautasso.info
  • 1 views on http://www.inf.unisi.ch

more

All embeds
  • 27 views on http://abrdev.com
  • 3 views on file://
  • 2 views on http://www.pautasso.info
  • 1 views on http://www.inf.unisi.ch

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories