Web Service Contract Design and Versioning for SOA
by Thomas Erl; Anish Karmarkar; Priscilla Walmsley; Hugo Haas; L. Umit Yalcinalp; Canyang Kevin Liu; David Orchard; Andre Tost; James Pasley
SOA: Principles of Service Design
by Thomas Erl
SOA Governance: Achieving and Sustaining Business and IT Agility
by William A. Brown; Robert G. Laird; Clive Gee; Tilak Mitra
Cloud Application Architectures, 1st Edition
by George Reese
97 Things Every Software Architect Should Know, 1st Edition
by Richard Monson-Haefel
Web Service Contract Design and Versioning for SOA
by Thomas Erl; Anish Karmarkar; Priscilla Walmsley; Hugo Haas; L. Umit Yalcinalp; Canyang Kevin Liu; David Orchard; Andre Tost; James Pasley
SOA in Practice, 1st Edition
by Nicolai Josuttis
“SOA Design Patterns is an
important contribution to the literature and practice
of building and delivering quality software-intensive
systems.”
- Grady Booch, IBM Fellow
“With the continued explosion of services and the increased rate of adoption of SOA through the market, there is a critical need for comprehensive, actionable guidance that provides the fastest possible time to results. Microsoft is honored to contribute to the SOA Design Patterns book, and to continue working with the community to realize the value of Real World SOA.”
- Steven Martin, Senior Director, Developer Platform Product Management, Microsoft
“SOA Design Patterns provides the proper guidance with the right level of abstraction to be adapted to each organization’s needs, and Oracle is pleased to have contributed to the patterns contained in this book.”
- Dr. Mohamad Afshar, Director of Product Management, Oracle Fusion Middleware, Oracle
“Red Hat is pleased to be involved in the SOA Design Patterns book and contribute important SOA design patterns to the community that we and our customers have used within our own SOA platforms. I am sure this will be a great resource for future SOA practitioners.”
- Pierre Fricke Director, Product Line Management, JBoss SOA Platform, Red Hat
“A wealth of proven, reusable SOA design patterns, clearly explained and illustrated with examples. An invaluable resource for all those involved in the design of service-oriented solutions.”
- Phil Thomas, Consulting IT Specialist, IBM Software Group
“This obligatory almanac of SOA design patterns will become the foundation on which many organizations will build their successful SOA solutions. It will allow organizations to build their own focused SOA design patterns catalog in an expedited fashion knowing that it contains the wealth and expertise of proven SOA best practices.”
- Stephen Bennett, Director, Technology Business Unit, Oracle Corporation
“The technical differences between service orientation and object orientation are subtle
enough to confuse even the most advanced developers. Thomas Erl’s book provides a great service by clearly articulating SOA design patterns and differentiating them from similar OO design patterns.”
- Anne Thomas Manes, VP & Research Director, Burton Group
“SOA Design Patterns does an excellent job of laying out and discussing the areas of SOA design that a competent SOA practitioner should understand and employ.”
- Robert Laird, SOA Architect, IBM
“As always, Thomas delivers again. In a well-structured and easy-to-understand way, this book provides a wonderful collection of patterns each addressing a typical set of SOA design problems with well articulated solutions. The plain language and hundreds of diagrams included in the book help make the complicated subjects of SOA design comprehensible even to those who are new to the SOA design world. It’s a must-have reference book for all SOA practitioners, especially for enterprise architects, solution architects, developers, managers, and business process experts.”
- Canyang Kevin Liu, Solution Architecture Manager, SAP
“The concept of service oriented architecture has long promised visions of agile organizations being able to swap out interfaces and applications as business needs change. SOA also promises incredible developer and IT productivity, with the idea that key services would be candidates for cross-enterprise sharing or reuse. But many organizations’ efforts to move to SOA have been mired–by organizational issues, by conflicting vendor messages, and by architectures that may amount to little more than Just a Bunch of Web Services. There’s been a lot of confusion in the SOA marketplace about exactly what SOA is, what it’s supposed to accomplish, and how an enterprise goes about in making it work.
SOA Design Patterns is a definitive work that offers clarity on the purpose and functioning of service oriented architecture. SOA Design Patterns not only helps the IT practitioner lay the groundwork for a well-functioning SOA effort across the enterprise, but also connects the dots between SOA and the business requirements in a very concrete way. Plus, this book is completely technology agnostic—SOA Design Patterns rightly focuses on infrastructure and architecture, and it doesn’t matter whether you’re using components of one kind or another, or Java, or .NET, or Web services, or REST-style interfaces.
While no two SOA implementations are alike, Thomas Erl and his team of contributors have effectively identified the similarities in composition services need to have at a sub-atomic level in order to interact with each other as we hope they will. The book identifies 85 SOA design patterns which have been developed and thoroughly vetted to ensure that a service-oriented architecture does achieve the flexibility and loose coupling promised. The book is also compelling in that it is a living document, if you will, inviting participation in an open process to identify and formulate new patterns to this growing body of knowledge.”
- Joe McKendrick, Independent Analyst, Author of ZDNet’s SOA Blog
“If you want to truly educate yourself on SOA, read this book.”
- Sona Srinivasan, Global Client Services & Operations, CISCO
“An impressive decomposition of the process and architectural elements that support serviceoriented analysis, design, and delivery. Right-sized and terminologically consistent.
Overall, the book represents a patient separation of concerns in respect of the process and architectural parts that underpin any serious SOA undertaking. Two things stand out. First, the pattern relationship diagrams provide rich views into the systemic relationships that structure a service-oriented architecture: these patterns are not discrete, isolated templates to be applied mechanically to the problem space; rather, they form a network of forces and constraints that guide the practitioner to consider the task at hand in the context of its inter-dependencies. Second, the pattern sequence diagrams and accompanying notes provide a useful framework for planning and executing the many activities that comprise an SOA engagement.”
- Ian Robinson, Principal Technology Consultant, ThoughtWorks
“Successful implementation of SOA principles requires a shift in focus from software system means, or the way capabilities are developed, to the desired end results, or real-world effects required to satisfy organizational business processes. In SOA Design Patterns, Thomas Erl provides service architects with a broad palette of reusable service patterns that describe service capabilities that can cut across many SOA applications. Service architects taking advantage of these patterns will save a great deal of time describing and assembling services to deliver the real world effects they need to meet their organization’s specific business objectives.”
- Chuck Georgo, Public Safety and National Security Architect
“In IT, we have increasingly come to see the value of having catalogs of good solution patterns in programming and systems design. With this book, Thomas Erl brings a comprehensive set of patterns to bear on the world of SOA. These patterns enable easily communicated, reusable, and effective solutions, allowing us to more rapidly design and build out the large, complicated and interoperable enterprise SOAs into which our IT environments are evolving.”
- Al Gough, Business Systems Solutions CTO, CACI International Inc.
“This book provides a comprehensive and pragmatic review of design issues in service-centric design, development, and evolution. The Web site related to this book [SOAPatterns.org] is a wonderful platform and gives the opportunity for the software community to maintain this catalogue….”
- Veronica Gacitua Decar, Dublin City University
“Erl’s SOA Design Patterns is for the IT decision maker determined to make smart architecture design choices, smart investments, and long term enterprise impact. For those IT professionals committed to service-orientation as a value-added design and implementation option, Patterns offers a credible, repeatable approach to engineering an adaptable business enterprise. This is a must read for all IT architect professionals.”
- Larry Gloss, VP and General Manager, Information Manufacturing, LLC
“These SOA patterns define, encompass, and comprise a complete repertoire of best practices for developing a world-class IT SOA portfolio for the enterprise and its organizational units through to service and schema analysis and design. After many years as an architect on many SOA projects, I strongly recommend this book be on the shelf of every analyst and technical member of any SOA effort, right next to the SOA standards and guidelines it outlines and elucidates the need for. Our SOA governance standards draw heavily from this work and others from this series.”
- Robert John Hathaway III, Enterprise Software Architect, SOA Object Systems
“A wise man once told me that wisdom isn’t all about knowledge and intelligence, it is just as much about asking questions. Asking questions is the true mark of wisdom and during the writing of the SOA Design Patterns book Thomas Erl has shown his real qualities. The community effort behind this book is huge meaning that Thomas has had access to the knowledge and experience of a large group of accomplished practitioners. The result speaks for itself. This book is packed with proven solutions to recurring problems, and the documented pros and cons of each solution have been verified by persons with true experience. This book could give SOA initiatives of any scale a real boost.”
- Herbjörn Wilhelmsen, Architect and Senior Consultant, Objectware
“This book is an absolute milestone in SOA literature. For the first time we are provided with a practical guide on how the principle centric description of service orientation from a vendor-agnostic viewpoint is actually made to work in a language based on patterns. This book makes you talk SOA! There are very few who understand SOA like Thomas Erl does, he actually put’s it all together!”
- Brian Lokhorst, Solution Architect, Dutch Tax Office
“Service oriented architecture is all about best practices we have learned since IT’s existence. This book takes all those best practices and bundles them into a nice pattern catalogue. [It provides] a really excellent approach as patterns are not just documented but are provided with application scenarios through case studies [which] fills the gap between theory and practice.”
- Shakti Sharma, Senior Enterprise Architect, Sysco Corp
“An excellent and important book on solving problems in SOA [with a] solid structure. Has the potential of being among the major influential books.”
- Peter Chang, Lawrence Technical University
“SOA Design Patterns presents a vast amount of knowledge about how to successfully implement SOA within an organization. The information is clear, concise, and most importantly, legitimate.”
- Peter B. Woodhull, President and Principal Architect, Modus21
“SOA Design Patterns offers real insights into everyday problems that one will encounter when investing in services oriented architecture. [It] provides a number of problem descriptions and offers strategies for dealing with these problems. SOA design patterns highlights more than just the technical problems and solutions. Common organizational issues that can hinder progress towards achieving SOA migration are explained along with potential approaches for dealing with these real world challenges. Once again Thomas Erl provides in-depth coverage of SOA terminology and helps the reader better understand and appreciate the complexities of migrating to an SOA environment.”
- David Michalowicz, Air and Space Operations Center Modernization Team Lead,
MITRE Corporation
“This is a long overdue, serious, comprehensive, and well-presented catalog of SOA design patterns. This will be required reading and reference for all our SOA engineers and architects. The best of the series so far!
[The book] works in two ways: as a primer in SOA design and architecture it can easily be read front-to-back to get an overview of most of the key design issues you will encounter, and as a reference catalog of design techniques that can be referred to again and again…”
- Wendell Ocasio, Architecture Consultant, DoD Military Health Systems, Agilex Technologies
“Thomas has once again provided the SOA practitioner with a phenomenal collection of
knowledge. This is a reference that I will come back to time and time again as I move forward in SOA design efforts.
What I liked most about this book is its vendor agnostic approach to SOA design patterns. This approach really presents the reader with an understanding of why or why not to implement a pattern, group patterns, or use compound patterns rather than giving them a marketing spiel on why one implementation of a pattern is better than another (for example, why one ESB is better than another). I think as SOA adoption continues to advance, the ability for architects to understand when and why to apply specific patterns will be a driving factor in the overall success and evolution of SOA. Additionally, I believe that this book provides the consumer with the understanding required to chose which vendor’s SOA products are right for their specific needs.”
- Bryan Brew, SOA Consultant, Booz Allen Hamilton
“A must have for every SOA practitioner.”
- Richard Van Schelven, Principal Engineer, Ericsson
“This book is a long-expected successor to the books on object-oriented design patterns and integration patterns. It is a great reference book that clearly and thoroughly describes design patterns for SOA. A great read for architects who are facing the challenge of transforming their enterprise into a service-oriented enterprise.”
- Linda Terlouw, Solution Architect, Ordina
“The maturation of Service-Orientation has given the industry time to absorb the best practices of service development. Thomas Erl has amassed this collective wisdom in SOA Design Patterns, an absolutely indispensible addition to any Service Oriented bookshelf.”
- Kevin P. Davis, Ph.D
“The problem with most texts on SOA is one of specificity. Architects responsible for SOA implementation in most organizations have little time for abstract theories on the subject, but are hungry for concrete details that they can relate to the real problems they face in their environment. SOA Design Patterns is critical reading for anyone with service design responsibilities. Not only does the text provide the normal pattern templates, but each pattern is applied in detail against a background case study to provide exceptionally meaningful context to the information. The graphic visualizations of the problems and pattern solutions are excellent supplementary companions to the explanatory text. This book will greatly stretch the knowledge of the reader as much for raising and addressing issues that may have never occurred to the reader as it does in treating those problems that are in more common occurrence. The real beauty of this book is in its plain English prose. Unlike so many technical reference books, one does not find themselves re-reading sections multiple times trying to discern the intent of the author. This is also not a reference that will sit gathering dust on a shelf after one or two perusings. Practitioners will find themselves returning over and over to utilize the knowledge in their projects. This is as close as you’ll come to having a service design expert sitting over your shoulder.”
- James Kinneavy, Principal Software Architect, University of California
“As the industry converges on SOA patterns, Erl provides an outstanding reference guide to composition and integration–and yet another distinctive contribution to the SOA practice.”
- Steve Birkel, Chief IT Technical Architect, Intel Corp.
“With SOA Design Patterns, Thomas Erl adds an indispensable SOA reference volume to the technologist’s library. Replete with to-the-point examples, it will be a helpful aid to any IT organization.”
- Ed Dodds, Strategist, Systems Architect, Conmergence
“Again, Thomas Erl has written an indispensable guide to SOA. Building on his prior successes, his patterns go into even more detail. Therefore, this book is not only helpful to the SOA beginner, but also provides new insight and ideas to professionals.”
- Philipp Offermann, Research Scientist, Technische Universität Berlin, Germany
“SOA Design Patterns is an extraordinary contribution to SOA best practices! Once again, Thomas has created an indispensable resource for any person or organization interested in or actively engaged in the practice of Service Oriented Architecture. Using case studies based on three very different business models, Thomas guides the reader through the process of selecting appropriate implementation patterns to ensure a flexible, well-performing, and secure SOA ecosystem.”
- Victor Brown, Managing Partner and Principal Consultant,
Cypress Management Group Corporation
In cooperation with experts and practitioners throughout the SOA community, best-selling author Thomas Erl brings together the de facto catalog of design patterns for SOA and service-orientation. More than three years in development and subjected to numerous industry reviews, the 85 patterns in this full-color book provide the most successful and proven design techniques to overcoming the most common and critical problems to achieving modern-day SOA. Through numerous examples, individually documented pattern profiles, and over 400 color illustrations, this book provides in-depth coverage of: • Patterns for the design, implementation, and governance of service inventories–collections of services representing individual service portfolios that can be independently modeled, designed, and evolved. • Patterns specific to service-level architecture which pertain to a wide range of design areas, including contract design, security, legacy encapsulation, reliability, scalability, and a variety of implementation and governance issues. • Service composition patterns that address the many aspects associated with combining services into aggregate distributed solutions, including topics such as runtime messaging and message design, inter-service security controls, and transformation. • Compound patterns (such as Enterprise Service Bus and Orchestration) and recommended pattern application sequences that establish foundational processes. The book begins by establishing SOA types that are referenced throughout the patterns and then form the basis of a final chapter that discusses the architectural impact of service-oriented computing in general. These chapters bookend the pattern catalog to provide a clear link between SOA design patterns, the strategic goals of service-oriented computing, different SOA types, and the service-orientation design paradigm.
This book series is further supported by a
series of resources sites, including
soabooks.com, soaspecs.com, soapatterns.org, soamag.com, and
soaposters.com.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 17 Ratings
Wonderful Overkill - 2009-06-23
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This text provides a wonderful and thorough explanation of base SOA principles. The core definitions are concrete, base references well chosen and contains many useful points for consideration. The key topics are covered in a logical structure and approached in logical order. This makes the text much more useful for building a foundation on SOA than its competitors.
However, the text clearly overstates the issues. The use of non-illuminating case studies coupled with needlessly complex re-definition of key terminology makes this reference sheer overkill. This book provides a key example of taking simple concepts and turning them in on themselves to make them appear much more complex than they really are. I am unsure whether this is because of the author's desire to become the biblical reference that Distributed Systems: Principles and Paradigms is or if it is simply because the author wants to make the topic seem more intellectually difficult to grasp than it really is.
I do not want to take away from the value of the content covered, but there are much more succinct and light-hearted publications that will lead you to the same base understanding. It is VERY wordy and over-stated, but it is worth having in your stack of SOA, Web Services, etc. etc. etc. reference stack. If for nothing else, than key citations and consideration points.
Possibly the most value thing I got from this book was the ability to ask additional questions and put key things to consideration that would have otherwise been missed. Sometimes the most obvious things are taken for granted and hence overlooked -- this book touches on that wonderfully.
To summarize: a wonderful book with a thorough examination of core SOA principles, but it breaks the primary principle of "I'm sorry this letter is so long, I didn't have time to make it shorter."
I enjoyed the author's/publisher's other books on the topic, but this one was a bit of a disappointment - perhaps it should have been first on my list instead of close to last. I highly recommend ignoring the fruitless illustrations/diagrams and sticking to the text, as well.
Excellent - 2009-04-08
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
We are in the third year of our SOA adoption, and the Thomas Erl SOA books have been an invaluable resource for that effort. "SOA Design Patterns" is an excellent addition to Erl's SOA series. This book is valuable in both its breadth and its depth; the book lucidly presents many (80+) thoroughly researched SOA patterns, and for each pattern includes rationale behind the pattern and a clear case-study example. As with the Gang of Four patterns and OO development, the benefit is that most of the problems you will encounter in your own SOA initiative will have already been solved; understanding and applying these SOA patterns to your SOA will help enable the success of your effort, and ensure that both your service architecture and development follow proven approaches.
Once again, thank you Thomas Erl.
The patterns part is excellent. - 2009-10-07
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Compact and short patterns.
The first SOA explanation chapters are repetitive because they are more or less the same than other books. But the set of design patterns is very usefull.
Also a great SOA security reference - 2009-09-29
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
The book SOA Design Patterns by Thomas Erl offers a very clean and straight-forward explanation of to the many different facets and options of implementing SOA.
I particularly enjoyed Chapter 13: Service Security Patterns and Chapter 20: Service Interaction Security Patterns. Discussed intelligibly in these chapters are security standards such as WS-Security, SAML, WS-BPEL (which goes towards data integrity), XML Encryption and XML Signature. It was for me a good bridge between security concepts I have applied in different areas (such as PKI, Kerberos, etc.) and how to implement these same solutions in a service-oriented architecture.
In addition to the two chapters dedicated to security, I also found the following sections interesting from a security perspective.
Chapter 19-3: Atomic Transaction Services
All tasks, or web services, within a transaction must be followed by an acknowledgement to indicate that the task completed. If no such commit is received by task coordinator defined for the transaction, all the tasks within the transaction can be rolled back (or other mitigating actions can take place.) The web service specifications WS-Coordination and WS-Atomic Transactions can be utilized to employ this safer method of transaction management.
Chapter 19-5: Compensating Service Transaction
This allows for a web service to have an "undo" event, defined at the task level, which can protect the encompassing transactions against individually failing web services. These tasks can operate asynchronously, and the other inline web services are notified when an exception occurs so that they can handle the event appropriately without sacrificing the entire transaction. This helps build robust exception management and defend against resource starvation attacks.
Chapter 18-9: Reliable Messaging
The method helps ensure message delivery. Messages can be tracked via acknowledgements similar to TCP/IP packets, and persist messages during failure conditions. Reliable messaging can help protect against data integrity and service availability attacks.
Chapter 12-5: Partial Validation
At first this sounds like disabling some of the data validation performed by a web service, which is definitely discouraged (remember, all input is evil), but instead what this does is use a language like XPath to filter out unnecessary data from a message so that only a subset of the data is validated; the omitted data is dropped off before the validation phase. This can be used as an optimization technique.
Chapter 18-6: Service Callback
This allows for asynchronous web service calls, which can be helpful for web services that can take a long time to process and respond. A callback address is provided so that the web service can be polled at intervals to see if it is ready to return data. This can also be used to protect against resource starvation attacks.
While the book is sometimes light on implementation details (the author maintained platform agnosticism throughout) it definitely provides a good starting point for managers, coders and architects by including sample SOAP headers, messages and WSDL definitions. What I also appreciated is that keywords are followed by the page number in parenthesis to easily look up the definition of that term. Lastly, not only is the book filled with useful information, but the inside covers themselves is a pattern list reference.
The book may be a challenge to read cover to cover, but is an excellent reference. It is a bookshelf staple for anyone implementing, or interested in, SOA.
Another important guide for SOA - 2009-09-02
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I think that this book is another important guide to understand the SOA world. This book has to be read slowly but the reading is very pleasurable because after each page you can comprehend another aspect of this complex and intriguing methodology.
Top Level Categories:
Software Engineering
Sub-Categories:
Software Engineering > Architecture
Some information on this page was provided using data from Amazon.com®. View at Amazon >