You are previewing SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with REST.
O'Reilly logo
SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with REST

Book Description

 “This book illuminates the connection of the two domains--SOA and REST--in a manner that is concrete and practical, providing concise application to everyday architectural challenges. Fantastic!”

--Ryan Frazier, Technology Strategist, Microsoft

“...a tour de force that elegantly applies REST principles to the industry-standard SOA framework described in prior titles in this series.... This book is a must-read for anyone developing REST services.”

--Dave Slotnick, Enterprise Architect, Rackspace Hosting

“This book undoubtedly will help SOA to reap the benefits from the main value propositions of Web architecture….”

--Dr. Erik Wilde, Architect, EMC Corporation

“REST is so much more than just another type of interface implementation--SOA with REST shows how the ecosystem of service compositions changes as new opportunities arise for service composition architecture designs. A comprehensive guide and a must-read for any serious IT architect considering REST-style services for application architectures.”

--Roger Stoffers, Solution Architect, Hewlett Packard

“Service-orientation and REST both are architectural styles that are cornerstones of modern applications and cloud computing. Both aim to deliver scalable, interoperable solutions, but their different roots don’t always make them a natural fit. SOA with REST explains how the two styles can work together in enterprise environments. It discusses a design process for a services portfolio that meets the goals of SOA and at the same time designs services that comply with the established REST constraints. It also shows pragmatic approaches to meet enterprise-grade requirements with the REST programming style but relaxes constraints where necessary.”

--Christoph Schittko, Director of Cloud Strategy, Microsoft

“An excellent repertoire of service-oriented patterns that will prove handy when solving problems in the real world. The REST perspectives and principles will provide complete coverage of modern-day Web 2.0 style approaches. Highly recommended.”

--Sid Sanyal, IT Architect, Zurich Financial Services

“An inspirational book that provides deep insight into the design and development of next-generation service-oriented systems based on the use of REST. This book clarifies the convergence of SOA and REST with no-nonsense content that addresses common questions and issues head-on. An essential ‘instrument of modern service implementation’ and a powerful body of knowledge for software designers, architects, and consultants.”

--Pethuru Raj, Ph.D., Enterprise Architecture (EA) Consultant, Wipro Consulting Services

“REST and SOA are two of the most misunderstood terms in the software industry over the past decade. Yet the REST architectural style coupled with modern RESTful framework implementations provides a scalable and reliable approach to SOA. This book covers all you need to know about how to take the principles of REST and apply them in small and large SOA developments. If you are familiar with REST and thinking about SOA, then you need this book. If you have not considered REST in your SOA work, then this book is for you, too. Covering concepts of both REST and SOA, as well as design patterns and when to use them, the book is a wonderful companion and a good tool for architects and engineers.”

--Dr. Mark Little, CTO JBoss, Red Hat

“Unlike many other texts on the subject, SOA with REST is a well-rounded, easy-to-read narrative, including real-world case studies that appeal to both developers and analysts. This makes it an indispensable source for any SOA practitioner or any professional who is planning to initiate an SOA project.”

--Theodore T. Morrison, Certified SOA Analyst, CSM, Geocent, LLC

“SOA and REST are two very important architectural styles for distributed computing. SOA is successfully adopted by most enterprises, and the REST style is getting more attention from both researcher and industry users. The book SOA with REST introduces a new architectural style that is ingeniously combining both SOA and REST styles and clearly reveals how SOA and REST can work together to generate successful enterprise SOA strategies with REST, along with guidance for making architecture design decisions. This book is a bible of best practices for designing and implementing SOA architecture with REST. It is a must-have reference book for both IT practitioners and researchers.”

--Longji Tang, FedEx IT Senior Technical Advisor, Ph.D. in CSSE

The Definitive Guide to Building Web-Centric SOA with REST

The World Wide Web is based on the most successful technology architecture in history.  It has changed how we view, access, and exchange information and, with the advent of REST, it has also provided us with compelling ways to build and improve automation solutions. REST provides a great deal of guidance to ensure that an architecture and its automation logic are technically sound, though it is still your responsibility to build services that actually add value to your business.

SOA with REST is the first comprehensive tutorial and reference for designing and building RESTful services as part of service-oriented solutions and in conjunction with service-oriented architecture (SOA). This book demonstrates that REST is not only a suitable medium for building truly service-oriented solutions, but also that the service-oriented architectural model is a necessary foundation for REST technology architectures to realize their full business potential.

The authors provide thorough mapping of REST constraints and architectural goals with service-orientation principles and SOA characteristics. Using real-world examples, they show how to leverage REST’s simplicity, flexibility, and low overhead without compromising the power or manageability of service-oriented solutions and architectures.

This book will be valuable to IT architects, developers, and any practitioner seeking to use SOA and REST together.

Topic Areas

  • Distributed solution design with HTTP and REST

  • REST-based service composition architectures

  • REST service modeling and a service-oriented analysis process for REST service candidates

  • Technical service contract notation for REST services based on a uniform contract

  • Designing REST service contracts

Table of Contents

  1. Title Page
  2. Copyright Page
  3. Inside Front Cover
  4. Praise for this Book
  5. Dedication Page
  6. Contents at a Glance
  7. Contents
  8. Foreword by Stefan Tilkov
    1. The Misuse of the “REST” Moniker
    2. On the Merits of SOA
    3. The Contribution of this Book
  9. Acknowledgments
  10. Chapter 1. Introduction
    1. 1.1. About this Book
    2. 1.2. Recommended Reading
    3. 1.3. How this Book is Organized
    4. 1.4. Conventions
    5. 1.5. Additional Information
  11. Chapter 2. Case Study Background
    1. 2.1. How Case Studies Are Used
    2. 2.2. Case Study Background #1: Midwest University Association (MUA)
    3. 2.3. Case Study Background #2: KioskEtc Co.
  12. Part I. Fundamentals
    1. Chapter 3. Introduction to Services
      1. 3.1. Service Terminology
      2. 3.2. Service Terminology Context
    2. Chapter 4. SOA Terminology and Concepts
      1. 4.1. Basic Terminology and Concepts
      2. 4.2. Further Reading
    3. Chapter 5. REST Constraints and Goals
      1. 5.1. REST Constraints
      2. 5.2. Goals of the REST Architectural Style
  13. Part II. RESTful Service-Orientation
    1. Chapter 6. Service Contracts with REST
      1. 6.1. Uniform Contract Elements
      2. 6.2. REST Service Capabilities and REST Service Contracts
      3. 6.3. REST Service Contracts vs. Non-REST Service Contracts
      4. 6.4. The Role of Hypermedia
      5. 6.5. REST Service Contracts and Late Binding
    2. Chapter 7. Service-Orientation with REST
      1. 7.1. “SOA vs. REST” or “SOA + REST”?
      2. 7.2. Design Goals
      3. 7.3. Design Principles and Constraints
  14. Part III. Service-Oriented Analysis and Design with REST
    1. Chapter 8. Mainstream SOA Methodology and REST
      1. 8.1. Service Inventory Analysis
      2. 8.2. Service-Oriented Analysis (Service Modeling)
      3. 8.3. Service-Oriented Design (Service Contract)
      4. 8.4. Service Logic Design
      5. 8.5. Service Discovery
      6. 8.6. Service Versioning and Retirement
    2. Chapter 9. Analysis and Service Modeling with REST
      1. 9.1. Uniform Contract Modeling and REST Service Inventory Modeling
      2. 9.2. REST Service Modeling
    3. Chapter 10. Service-Oriented Design with REST
      1. 10.1. Uniform Contract Design Considerations
      2. 10.2. REST Service Contract Design
      3. 10.3. Complex Method Design
  15. Part IV. Service Composition with REST
    1. Chapter 11. Fundamental Service Composition with REST
      1. 11.1. Service Composition Terminology
      2. 11.2. Service Composition Design Influences
      3. 11.3. Composition Hierarchies and Layers
      4. 11.4. REST Service Composition Design Considerations
      5. 11.5. A Step-by-Step Service Activity
    2. Chapter 12. Advanced Service Composition with REST
      1. 12.1. Service Compositions and Stateless {395}
      2. 12.2. Cross-Service Transactions with REST
      3. 12.3. Event-Driven Interactions with REST
      4. 12.4. Service Composition with Dynamic Binding and Logic Deferral
      5. 12.5. Service Composition Across Service Inventories
    3. Chapter 13. Service Composition with REST Case Study
      1. 13.1. Revisiting the Confer Student Award Process
      2. 13.2. Application Submission and Task Service Invocation
      3. 13.3. Confer Student Award Service Composition Instance (Pre-Review Service Activity View)
      4. 13.4. Review of Pending Applications and Task Service Invocation
  16. Part V. Supplemental
    1. Chapter 14. Design Patterns for SOA with REST
      1. 14.1. REST-Inspired SOA Design Patterns
      2. 14.2. Other Relevant SOA Design Patterns
    2. Chapter 15. Service Versioning with REST
      1. 15.1. Versioning Basics
      2. 15.2. Version Identifiers
    3. Chapter 16. Uniform Contract Profiles
      1. 16.1. Uniform Contract Profile Template
      2. 16.2. REST Service Profile Considerations
  17. Part VI. Appendices
    1. Appendix A. Case Study Conclusion
    2. Appendix B. Industry Standards Supporting the Web
      1. The Internet Engineering Taskforce (IETF)
      2. The World Wide Web Consortium
      3. Other Web Standards
    3. Appendix C. REST Constraints Reference
      1. Related Excerpts from Fielding’s Dissertation
      2. Related Excerpts from Fielding’s Dissertation
      3. Related Excerpts from Fielding’s Dissertation
      4. Related Excerpts from Fielding’s Dissertation
      5. Related Excerpts from Fielding’s Dissertation
      6. Related Excerpts from Fielding’s Dissertation
    4. Appendix D. Service-Orientation Principles Reference
    5. Appendix E. SOA Design Patterns Reference
      1. Canonical Schema Bus
      2. Enterprise Service Bus
      3. Federated Endpoint Layer
      4. Official Endpoint
      5. Orchestration
      6. Service Broker
      7. Three-Layer Inventory
      8. Uniform Contract
    6. Appendix F. State Concepts and Types
      1. State Management Explained
      2. Types of State
      3. Measuring Service Statelessness
    7. Appendix G. The Annotated SOA Manifesto
      1. The Annotated SOA Manifesto
    8. Appendix H. Additional Resources
      1. www.whatisrest.com
      2. Bibliography and References
      3. Resources
    9. About the Authors
      1. Thomas Erl
      2. Benjamin Carlyle
      3. Cesare Pautasso
      4. Raj Balasubramanian
    10. About the Pattern Co-Contributors
      1. David Booth, Ph.D.
      2. Herbjörn Wilhelmsen
    11. About the Foreword Contributor
      1. Stefan Tilkov
  18. Index
  19. Add Pages
  20. Inside Back Cover