Do distributed system developers and enterprise architects really need another book about software development patterns? That's the question one might ask when they first come across Arnon Rotem-Gal-Oz's (@arnonrgo) latest book from Manning entitled SOA Patterns. When so many different patterns books already exist in the enterprise space, is there really a need for one that addresses Service Oriented Architectures (SOA) specifically? After all, is SOA that much different from any other distributed system?
According to Rotem-Gal-Oz, the need for a book on SOA patterns isn't driven by the fact that SOA is different, but from the fact that SOA is very much the same as many other areas of development, and like all areas of development, when problems arise time and time again, patterns emerge on how to best address those problems, and these proven solutions need to be documented.
"SOA is not that special in itself. But if you are building distributed systems, you find that using SOA based principles is good way to model them, a good way to componentize your system, and a good way to build in flexibility," says Rotem-Gal-Oz. And through the experience he has garnered over the years working with distributed system, Arnon has found well established, though not always well documented, solutions to recurring, complex problems.
Documenting proven solutions to recurring problems
"I looked at the various projects I did over the years, and I looked for repeating themes," says Rotem-Gal-Oz. "Then I formalized them in a way that would both help others and help myself as well," thus helping to fill two key needs in the area of service oriented design. First of all, the book helps developers solve challenging yet recurring problems, and secondly, the mere existence of the book works to help fill the industry's dearth in well written and well documented solutions.
The book itself is a relatively easy read. It is approximately 270 pages, and many of the chapters and sections are written independently of the others, so a developer can flip through the book and can gain insights on service consumer patterns or service integration patterns without having to have read earlier chapters on distributed messaging or performance and scalability.
Arnon's SOA Patterns book is available directly from Manning, Amazon, and it might even be found in a local bookstore. Any software developer tasked with the job of creating a distributed system, or an enterprise architect who is dealing with the challenges of SOA integration would do themselves a service by having a copy of SOA Patterns nearby.
Have you found using patterns to be helpful or painful when doing application development? Let us know what you think about the industry's love affair with software patterns.
SOA Patterns Arnon Rotem-Gal-Oz
Design Patterns: Elements of Reusable Object-Oriented Software Richard Helm
Head First Design Patterns Eric Freeman
Patterns of Enterprise Application Architecture Martin Fowler