About this book

Service-oriented architecture has been around for years now. The hype surrounding it in the past has finally waned, and we are now free to do real work and build real systems using it.

Do not mistake the lack of hype for a lack of relevance. If anything, SOA is more relevant than ever, as it’s practically the only good way to build cloud-based solutions (something I’ll discuss in chapter 10). Additionally, the SOA landscape has become more complicated over the years because SOA is now living side-by-side (or is integrated) with other architectures like event-driven architecture, REST, and big data (discussed in chapters 5 and 10).

SOA-related technologies are more mature now, but technology alone is not enough without proper architecture. That’s the main point behind this book: solving the architectural challenges of distributed systems in general and of SOA specifically by using architectural solutions expressed as patterns and antipatterns.

Roadmap

Part 1 of this book focuses on SOA patterns. It looks at ways to solve SOA challenges by using contextual solutions:

Part 2 focuses on different aspects of SOA in the real world:

SOA Patterns can be read cover to cover, but the discussion of each individual pattern and antipattern pretty much stands on its own and can be read for reference when you face a specific challenge. To help with that, the book includes an appendix that maps quality attribute scenarios back to individual patterns and helps identify patterns that are relevant to problems you face.

Who should read this book?

This is a book about service-oriented architecture, so it will appeal to anyone tasked with building a system based on these principles. It is also about building distributed systems in general, and I believe a lot of the patterns will appeal to a wide audience.

As its main concern is with software architecture, the book is naturally targeted at software architects. I’d like to think it’s also relevant for a wider audience, including developers who are tasked with building services and managers who want to understand the range of possible solutions.

The technology mapping sections of the book contain code excerpts mainly in C# and Java, but these are just examples and the designs are applicable in other languages. I’ve applied some of the patterns in projects that used Ruby and Scala and still found them relevant.

All the code in the examples used in this book is presented in a monospaced font like this. For longer lines of code, a wrapping character may be used to keep the code technically correct while conforming to the limitations of a printed page.

Annotations accompany many of the code listings and numbered cueballs are used if longer explanations are needed. Longer listings of code examples appear under clear listing headers; shorter listings appear between lines of text.

Author Online

Purchase of SOA Patterns includes free access to a private web forum run by Manning Publications where you can make comments about the book, ask technical questions, and receive help from the author and from other users. To access the forum and subscribe to it, point your web browser to www.manning.com/SOAPatterns. This page provides information on how to get on the forum once you’re registered, what kind of help is available, and the rules of conduct on the forum.

Manning’s commitment to our readers is to provide a venue where a meaningful dialog between individual readers and between readers and the author can take place. It’s not a commitment to any specific amount of participation on the part of the author, whose contribution to the AO remains voluntary (and unpaid). We suggest you try ask the author some challenging questions lest his interest stray!

The Author Online forum and the archives of previous discussions will be accessible from the publisher’s website as long as the book is in print.