Building modern, distributed, service oriented systems

Feature:

Expert insight into building distributed, service oriented systems

By Cameron McKenzie

TheServerSide.com

Developing Service Oriented Architectures might be the primary bailiwick of TheServerSide's sister site SearchSOA.com, but that doesn't mean that the enterprise architects and application designers that visit TSS on a regular basis aren't deeply engaged with the issues surrounding the development, deployment and all of the other concerns that surround the application lifecycle management of distributed architectures and service oriented systems.

One of the primary goals of any SOA based system is to embrace the idea of loose coupling.

Cameron McKenzie, Editor of TheServerSide

Expert insight into SOA based principles

A regular reference for expert insight into the world of service orientation and distributed programming is TheServerSide's good friend, Arnon Rotem-Gal-Oz (@arnonrgo). Rotem-Gal-Oz is  the author of the Manning publication SOA Patterns, a must-have book that shows both architects and developers how to build real-world SOA services that feature flexibility, availability, and scalability.

Every enterprise architect knows that developing distributed solutions is in itself a challenge, but being able to both document and articulate, with confidence, the correct way to approach developing a service based solution is an impressive feat, and it's one TheServerSide discussed with Rotem-Gal-Oz. "I looked at the various  projects I did over the years, and I looked for repeating themes. Then I formalized them," says Arnon. More about how Arnon's knowledge of SOA, and how his understanding of the associated patterns evolved, is discussed in the following article:

SOA patterns solve recurring distributed programming problems by Cameron McKenzie

SOA patterns and common software anti-patterns

As every software developer who has read the Gang of Four Design Patterns book knows, wherever there are software patterns, there are also anti-patterns. Anti-patterns are often the more interesting than actual patterns and best practices because they present a paradox where initially, on the surface, the given approach seems sound, but in the end, the approach can result in unforeseen hardship and untold pain for the development team. Both the editorship of TheServerSide and Jason Tee spoke with Rotem-Gal-Oz about some of the most common pitfalls developers encounter when developing services, and how to recognize these common anti-patterns when they begin to emerge.

Jason Tee's article provides a higher level insight into the most common SOA development pitfalls in the following article:

Common mistakes to avoid when designing distributed SOA systems by Jason Tee

The following article, written by the editorship of TheServerSide, focuses on two of the biggest problems organizations who are developing SOA based systems encounter, while at the same time taking a direct look at the nanoservice anti-pattern that is documented in Rotem-Gal-Oz's book:

The two most common problems dogging SOA projects by Cameron McKenzie

The loosely coupled philiosophy

With any project that is large enough to benefit from the tenants of service orientation, there are always decisions to be made that involve trade-offs, but one of the primary goals of any SOA based system is to embrace the idea of loose coupling between components. In fact, many of the software patterns documented in Arnon's book deal with the concept of maximizing the concept of loose coupling, while at the same time, creating systems that are manageable, flexible and scalable. And with the concept of loose coupling being so central to the concept of service orientation, TheServerSide felt a need to have the pros and cons of the loose and tight coupling of components articulated. In the following multimedia presentation, you can hear TheServerSide's editorship discussing the intricacies of component coupling with Rotem-Gal-Oz:

Key benefits of architecting loosely coupled SOA-based solutions by Cameron McKenzie

Regardless of how many years an enterprise architect has been designing distributed systems, there are always new strategies, approaches, best practices and patterns to learn. Fortunately, experts in the field such as Arnon Rotem-Gal-Oz are discussing their experiences, subsequently helping the enterprise community to build better and more effective service oriented architectures.

 

Let us know your thoughts on how to best develop a modern, distributed architecture.
 

Recommended Titles

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

03 May 2013

Related Content

Related glossary terms

Terms from Whatis.com − the technology online dictionary
Java development for cloud

Related Resources