What are the best books for learning Service-Oriented Architecture (SOA) and Microservices?
This topic is important for software architects because… architects have a critical need a practical and theoretical grounding in SOA and Microservices. Even if you do not work directly with REST services and web services, the principles are still critical for you.
For those who study the field, the Thomas Erl series has been the standard for service architecture knowledge for the last 15 years. In this post, we will cover which books are still important to and why. It is important to be selective when purchasing and reading books from this series for four reasons:
(1) They are expensive.
(2) There are a lot of books in the series.
(3) There is a lot of overlap across the books.
(4) Some of the books are outdated.
Books in the Thomas Erl series have sold over 300,000 copies.
The books are listed below in order of importance as of 1/6/2019 with light commentary for each.
To see all of the most popular books in the series in one place on Amazon, you can visit the Thomas Erl page.
General Comments on the Series
Absolutely essential. This series established the fundamentals of the service-oriented architecture field back in the early 2000s with the release of the first book, “Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services”, in 2004. That original book was quite successful and formed the basis for all of the following books in the series.
My experience with the series. I purchased three copies of the original book and copies of most of the other books in the series. The original book was the standard SOA guide for both Fidelity Investments and Fiserv – it formed the basis of a rather extensive course on the subject at Fiserv.
Clearly a lot of effort. When first reading the 2004 original, it was obvious that the author put a tremendous scholarly and practical effort into it. The effort clearly transcended what any IT organization was doing at the time and established new standards in the field.
Lots of redundancy, but that is OK. After the first book in 2004, there was a fair amount of redundancy across the books. Perhaps one third of each book represented new material. That is OK, though, because the material borrowed from the previous books was consistent with the theme of each book. The introductions to each book acknowledge the redundancy and recommend other books. Nonetheless, the redundancy should be kept in mind as you consider a purchase.
Many co-authors, but that is OK. Most of the books rely on several co-authors, but those co-authors are very well-qualified. That makes the books better.
New editions not always acknowledged. Several of the books are updated editions of books published earlier. Only one of the books is acknowledged as a “second” edition. In the other cases, the books are obviously second editions if you have read the previous books. Arguably the technology changed so much between the two editions that one could possibly argue that the newer editions are essentially new material, but they are new editions as documented below.
The material can be a little dry. The books read like textbooks and are sometimes used as textbooks. The series makes not attempt to be entertaining.
Different audiences. There are different audiences for the books, but they are all designed for architects and senior managers rather than for individual developers or others technologists. Developers and other technologists can benefit from the books, but they are not the primary audience.
Some of the books are for managers, some are for architects, and some are more detailed books for architects.
Some are out of print. There are a couple of books in the series that are out of print or very rare. These would include “SOA Security” (2011) and “Service-Oriented Infrastructure: On-Premise and in the Cloud” (2013). Given the year that these titles were released and the major changes in SOA security and infrastructure since that time, these titles are probably outdated.
Service-Oriented Architecture: Analysis and Design for Services and Microservices (2nd Edition) (2016)
This book is available at Service-Oriented Architecture: Analysis and Design for Services and Microservices.
This book is intended for all architects.
This is the definitive guide for modern SOA. If you don’t have a copy of this one, you should get it right away. This is the 2nd edition of the original book that started the series in 2004.
Cloud Computing Design Patterns (2015)
This book is available at Cloud Computing Design Patterns.
This book is intended for “advanced” architects who do a lot of work with cloud architectures.
Vendor-Agnostic. This book is a little unusual – and good – in that it does not reference either Azure or AWS. As an experienced practitioner, everything in this book made a lot of sense to me. Having said that, it is probably more of a reference work than a book that you would read through end to end.
Not the “Gang of Four” design patterns? A criticism of the book is that is talks about “design patterns”, but has nothing to do with the original 23 design patterns established by the “Gang of Four” in 1994. That is an unfair criticism because the domain for the patterns is not application code like the original “Gang of Four” book. Rather, this is an major advantage of this book because these solutions are proven solutions for cloud systems.
Next Generation SOA: A Concise Introduction to Service Technology and Service Orientation (2014)
This book is available at Concise Introduction.
This book is an “executive summary” intended for senior managers.
Concise as possible. This book is indeed a “concise” introduction to service-oriented architecture. The concepts could not have been expressed in sufficient detail with a smaller book.
Cost-Effective and Time-Effective. The book only costs $10 on Amazon and only takes a few hours to read. This is a small fraction of the cost of the other books in this series.
Overlaps other books. If you have purchased “Service-Oriented Architecture: Analysis and Design for Services and Microservices (2nd Edition)”, then you have no reason to purchase this book as well.
Big Data Fundamentals: Concepts, Drivers, and Techniques (2015)
This book is available at Big Data Fundamentals.
This books stands out from the rest of the series because it is not about SOA, but rather about “Big Data”. The reason for the books is presumably because Thomas Erl has a training company that is focused on two things – SOA and Big Data.
A concise introduction. Just as with “Next Generation SOA” above, this book just covers the basics, but does it pretty well.
Still relevant. Although the book was written in 2015 and the Big Data field is developing quickly, this book still does a good job simply because it remains at a high level.
Not for Big Data professionals. If you are a Big Data professional with more than a couple of years of experience, this is not the book for you. The book is really intended only as a light introduction for IT professionals who are not Big Data professionals.
SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with REST (2012)
This book is available at Principles, Patterns, and Constraints.
The audience is all architects.
Great start with REST! In 2014, this book was ahead of its time. There is still a lot to be gained from reading it.
Not dated, but superseded. The content is still relevant as of 2019, but I can’t recommend this book because much of the material is included in “Service-Oriented Architecture: Analysis and Design for Services and Microservices (2nd Edition)” mentioned above. I would just purchase the 2016 book instead and rely on more current books for additional detail.
SOA with Java: Realizing Service-Orientation with Java Technologies (2014)
This book is available at SOA with Java.
This book is intended only for Java architects and senior Java developers. You do not want to buy this book unless you are an experienced Java developer.
Good intro to J2EE. If you are looking for a good explanation of J2EE, then you will find the first few chapters of this book helpful.
More detailed than others. Most of the books in this series are high level, but this one goes into a little more detail and has code samples as well,
SOA with .NET and Windows Azure (2010)
This book is available at SOA with .NET and Windows Azure.
The book was intended for .NET architects and senior .NET developers. You do not want to buy this book unless you are an experienced .NET developer.
Struggling for an audience. This book was among the most poorly reviewed of the series. It mainly seems like a rehash of other sources of documentation that existed at the time. It also seems a little too long.
Outdated. The book was published in 2010, so the focus was on technologies that were extremely relevant at the time, but there are not many uses for WCF, Windows Workflow, or BizTalk Server in 2019. We mainly rely on RESTful services for SOAs now, so any book that does not start with REST should be considered outdated.
Competing with Microsoft’s Documentation. Microsoft has always done a great job with their documentation. Trying to compete with Microsoft directly was probably not the most productive use of the author’s time.
Cloud Computing: Concepts, Technology, and Architecture (2013)
This book is available at Concepts, Technology, and Architecture.
This book is intended for architects and senior managers.
Different than other books in the series. Most of the other books discuss how to design SOAs and cloud-based architectures, but this book is more of a technology description. Although several other books came out on the series pretty quickly in the following years, there is little overlap with this book and others.
Outdated. This was a great book at the time, but so much has changed in the intervening six years in the Azure and AWS technologies that I could not recommend getting this book now.
SOA Governance: Governing Shared Services On-Premise and in the Cloud (2011)
This book is available at SOA Governance.
This book is intended for senior architects and senior managers.
Material was never that relevant. SOA governance is certainly an important topic and I am certain that the book was well-intentioned. The simple truth, however, is that SOA governance technology and techniques never developed into the complex endeavor that was envisioned by the source material. You do need to understand and practice SOA governance, but it is hard to justify a lot of depth to the material.
Service-Oriented Architecture (SOA): Concepts, Technology, and Design (2005)
This book is available at Concepts, Technology, and Design.
Superseded. This is essentially the first edition of “Cloud Computing: Concepts, Technology, and Architecture (2013)”.
SOA Design Patterns (2008)
This book is available at SOA Design Patterns.
Superseded. This is essentially the first edition of “Cloud Computing Design Patterns (2015)”.
SOA: Principles of Service Design (2007)
This book is available at Principles of Service Design.
Relevant, but redundant. This book is dedicated to a deep examination of the eight principles that stand to this day as the eight guiding principles of SOA development. All of the later books in the Erl series do cover these principles, though, so getting this book now would not be helpful.
Good book at the time. In 2007, “Field Guide” had made a deep impression across the industry, especially with regard to the eight principles that are discussed in this book.
Web Service Contract Design and Versioning with SOA (2008)
This book is available at Contract Design and Versioning.
Superseded. Anything you need to know about the topics is covered by “Service-Oriented Architecture: Analysis and Design for Services and Microservices (2nd Edition) (2016)”.
Good book at the time. In 2008 when the book was published, this book was relevant because web service versioning was probably the most important concern with SOA at that time.
Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services (2004)
This book is available at Field Guide.
Superseded. This book is the first edition of “Service-Oriented Architecture: Analysis and Design for Services and Microservices (2nd Edition) (2016)”