Purchase includes free PDF, ePub, and Kindle eBooks downloadable at manning.com. Summary SOA Patterns provides architectural guidance through patterns and antipatterns. It shows you how to build real cohesive and focused SOA services (known today as "Microservices") that feature flexibility, availability, and scalability. Through an extensive set of patterns, this book identifies the major SOA pressure points and provides reusable techniques to address them. Each pattern pairs the classic problem/solution format with a unique technology map, showing where specific solutions fit into the general pattern.
About the Technology The idea of service-oriented architecture is an easy one to grasp and yet developers and enterprise architects often struggle with implementation issues. Here are some of About the Book SOA Patterns provides detailed, technology-neutral solutions to these challenges, and many others, using plain language. You'll understand the design patterns that promote and enforce flexibility, availability, and scalability. Each of the 26 patterns uses the classic problem/solution format and a unique technology map to show where specific solutions fit into the general pattern. Written for working developers and architects building services and service-oriented solutions. Knowledge of Java or C# is helpful but not required.
Table of Contents PART 1 SOA PATTERNS PART 2 SOA IN THE REAL WORLD
This is a weird book. When you're reading it, it almost seems like it's some kind of ancient tech book, like something from the 80's, where people were just figuring out how to build software and patterns were first starting to emerge. Kind of like when you read The Mythical Man Month or The Structure and Interpretation of Computer Programs, it's talking about things you recognize but using terminology that has since been replaced, so it serves as something of a strange time capsule from when it was written.
Except, this book came out in 2012. 4 measly years ago. When you read it, it constantly refers to things that you're likely to have seen if you've done any service-oriented development at all, but it takes you a minute to realize the book is discussing something you already know because it's using terminology you don't. For example, the second pattern, "Active Service", once you finally get through the section on it you realize it's just talking about a service frontend that calls multiple other services. That's an "Active Service"? I've built dozens of these things and I've never heard it called that. You go through the entire section on the "Decoupled Invocation Pattern" and it all seems familiar and then suddenly you're like "wait, are you just talking about asynchronous services?" You go through the "Service Instance" section and get to the end and ask "wait is this just a Cluster?", you get through Virtual Endpoint and ask "wait you mean a Load Balancer? Why the hell are you giving everything such weird names?"
It's kind of nice to have everything gathered together in a single spot, but I don't think there's much to learn here if you have any experience with SOA at all. A lot of "patterns" books tend to contain things you've sort of developed or done on your own, but they usually have some eureka moments as well where you see something new. In SOA Patterns's case though, it all seemed pretty introductory, like I don't think you could get through a "Introducing SOA" type book without covering 100% of the material in this book, so all this book really did was add goofy names to a lot of it that nobody else uses. Which, given that the entire point of patterns is to give standard terminology to developers to help communicate, I think SOA Patterns actually subtracts more than it adds.
The organization of the book leaves much to be desired as well. Even with the sections clearly labeling "problem" and "solution", I still often struggled to even figure out what some sections were trying to show me in terms of problems that specific patterns solve. There's even an entire chapter for "Message Exchange Patterns" which actually only contains a single pattern, Saga.
The weirdest section of the book by far was 10.1, "REST vs SOA", yes you read that title right. Versus. I had been suspecting while reading the book that the author's notion of SOA was limited to SOAP and XML and this section confirmed it, seeing REST not as a particular way to DO SOA, but as a competitor to it somehow. Again, I'm not saying that this wasn't, at some point, a common viewpoint, but it once again makes the book seem like something released a decade ago, not a mere 4 years.
Overall the book just seems hopelessly out of touch or out of date at this point. It discusses the Service Bus pattern, something that most shops are trying to move away from for the most part. An entire book on service-oriented development and there's not a single mention of the latest-and-greatest in that space, "microservices". The closest thing to a mention was "nanoservices" which you can find in the "antipatterns" section of the book.
Skip it, if you're even familiar enough with SOA to be interested in a patterns book, you know everything inside. And what you don't know, the book doesn't cover at all because it reads like a book that's a decade out of date.
This book was helpful in identifying the patterns and choices of a project I worked on that was started in 2013/14 - It really does carry a feeling of antiquity about it now. Its value now might lie in proportion to any interest in software archaeology.
Whoa! I thought it's going to be boring but it was just the opposite. The book is more on the introductory side but it's clear, concise and gives good overview of the subject (touching also related things like Cloud & REST).
Very well written book for anyone needing a great introduction for how to create services. The book read very well and was easy to understand. I would like to see a more advanced version of this subject by the author.