| By Thomas Erl | Article Rating: |
|
| August 16, 2008 02:15 PM EDT | Reads: |
3,088 |
Before we conclude, here are just some guidelines for getting the most out of SOA design patterns.
View Patterns with a Strategic Context
One of the greatest expectations of SOA initiatives is for the IT enterprise as a whole to become a more streamlined, responsive, and efficient part of the overall organization. Regardless of whether you are applying service-orientation design principles or SOA design patterns, it's important to keep these strategic goals in mind because they help you understand why there are certain priorities, preferences, and sacrifices that need to be made in order to deliver truly valuable service-oriented logic.
Take Governance into Consideration
Many IT professionals focus on governance as a project lifecycle phase that begins after services and service-oriented solutions have been deployed and are in use. However, governance itself is also very much a design-time consideration. Just about every decision point you face when designing services, service compositions, and service inventories will have governance-related implications. Understanding the long-term consequences of design decisions in advance will help you choose and combine design patterns wisely to minimize the governance impact of anything you end up building. This is a critical consideration because it's through reduced governance burden that you can truly achieve the strategic goals of service-oriented computing.
Patterns Are Applied in Measures
As with service-orientation design principles, SOA design patterns can (and often must) be applied to various extents. This means that for any given pattern, you are not faced with an all-or-nothing proposition. Some patterns need to be applied in a limited capacity, while with others it makes a whole lot of sense to maximize their application to whatever degree possible. Either way, it's always good to keep in mind that the benefit promised by a given pattern is generally tied by the measure to which it is applied.
Acknowledge that Some Patterns Are Evolutionary
For those of you with an OOD or EAI background, several of the design patterns mentioned here probably looked familiar. Service orientation owes much of its existence to past design paradigms. What makes it distinct are the parts of those paradigms that were not included, combined with new design considerations and techniques that are particular to the enterprise-centric focus of service-oriented computing.
The same goes for SOA design patterns. While some of the patterns in this catalog are based on (or even derived from) patterns in previously published pattern catalogs, they are documented in the specific context of SOA and service orientation. Other SOA design patterns introduce brand new design techniques that complement and build on the derived patterns.
Patterns Relate to Patterns
Most SOA design patterns have numerous relationships with each other (see Figure 7). For example, one pattern may have a dependency on another, or its application may influence another, or perhaps it is simply part of a larger compound pattern. With an understanding of inter-pattern relationships, you can avoid potential conflicts (some of which don't reveal themselves until later). Additionally, you can fully leverage the SOA design pattern catalog as a full-fledged pattern language that supports the application of patterns into various creative pattern sequences.
Patterns Relate to Principles
Each SOA design pattern affects and influences the application of one or more service-orientation design principles. By identifying these relationships, you can leverage specific patterns when working with the design principles individually. There are also adverse relationships, where the results and trade-offs of some patterns negatively impact the goals of a design principle. Again, knowing these relationships in advance will help you make educated design decisions. (For more details regarding service-orientation design principles, visit www.soaprinciples.com.)
Not Every Pattern Is Suitable for Everyone
As mentioned at the beginning of this article, this collection of SOA design patterns was produced as a result of numerous (successful and failed) projects, on-going research, and documented lessons learned. The focus of each pattern is on providing a solution to a common problem. Just because a given problem was common elsewhere does not mean it will apply to your environment. Also, you always have the option of taking ideas from these design patterns and then deriving your own distinct design techniques.
A Final Word
We've really just skimmed the surface with this exploration of SOA design patterns. The pattern catalog has nearly 100 design patterns, the majority of which we haven't been able to mention in this article. Examples of other types of patterns that have been documented include those that address grid computing and balanced stateful service design, REST-based communication and service design, security technology, attack prevention and perimeter protection, versioning of services contracts and related schemas and policies, dynamic messaging, runtime compensation, the use of binary attachment technologies, various transformation requirements, and others as it evolves.
All of these patterns are intended to help you make a success out of an SOA initiative. How success is measured in the SOA world often comes down to how well the service-oriented environment you create represents the business of your organization - and how well it continues to stay in alignment with the business.
Figure 8 illustrates the never-ending progress cycle that continually transpires between business and IT communities. The result of this dynamic is constant change, and if we had to choose the one thing responsible for inspiring service-oriented computing in the first place, it would be that word "change."
Ultimately, service orientation and the implementation of the different service-oriented technology architecture types (inner circles in Figure 8) support the two-way dynamic between business and IT communities (outer circle in Figure 8), allowing each to repeatedly introduce or accommodate change. SOA design patterns help establish and strengthen SOA architectures in support of service-orientation, a paradigm specifically geared toward facilitating this cycle of constant change.
From the minute you design them to the months and years later when you extend or build on them, your services, your compositions, and the inventory architectures in which they all reside must be equipped to deal with change. Only this way can your technology enterprise evolve in tandem with the business.
To establish such an environment requires a different approach to design. Service-orientation provides an overarching design paradigm that defines this approach, but it's the SOA design patterns that help you deal with the nitty-gritty. Regardless of whether you're applying design principles or patterns, be sure to keep the strategic vision of SOA in your sights, because it is only by the extent that you attain and maintain this vision that the success of your SOA initiative can be truly measured.
Acknowledgments
This design pattern catalog is very much the result of an international community effort. Experts throughout the industry have contributed patterns to this catalog, and patterns were subjected to an open community review at soapatterns.org in which hundreds of members from standards organizations, major SOA vendors, and the patterns community itself participated.
The author would like to especially thank (in alphabetical order): Mohamad Afshar, Raj Balasubramanian, Frank Buschmann, David Chappell, Martin Fowler, Richard Helm, Kelvin Henney, Jason Hogg, Gregor Hohpe, Ralph Johnson, Mark Little, Brian Loesgen, David Orchard, Chris Riley, Thomas Rischbeck, Robert Schneider, Arnaud Simon, Bobby Woolf, and Olaf Zimmermann. The author would also like to thank Prentice Hall for making advance copies of the book manuscript available for distribution during the review phase.
This article contains diagrams from the upcoming book "SOA Design Patterns", a title in the "Prentice Hall Service-Oriented Computing Series from Thomas Erl" to publish in Fall, 2008 (ISBN: 0136135161, Prentice Hall, Copyright 2008 SOA Systems, Inc.). The book is currently available as part of the Safari Books Online "Rough Cut" program. For more information, visit www.soabooks.com and www.soapatterns.com.
Published August 16, 2008 Reads 3,088
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Thomas Erl
Thomas Erl is the world’s top-selling SOA author and Series Editor of the Prentice Hall Service-Oriented Computing Series from Thomas Erl (www.soabooks.com). With over 100,000 copies in print worldwide, his books have become international bestsellers and have been formally endorsed by senior members of major software organizations, such as IBM, Microsoft, Oracle, BEA, Sun, Intel, SAP, CISCO, and HP. His most recent titles - SOA Design Patterns and Web Service Contract Design and Versioning for SOA - were co-authored with a series of industry experts and follow his first three books Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services, Service-Oriented Architecture: Concepts, Technology, and Design, and SOA Principles of Service Design. Thomas is currently working with over 20 authors on a number of upcoming titles, including SOA Governance, SOA with .NET, SOA with Java, ESB Architecture for SOA, and SOA with REST. He is also overseeing the SOAPatterns.org initiative, a community site dedicated to the on-going development of SOA patterns. Thomas is the founder of SOA Systems Inc. (www.soasystems.com), a company specializing in vendor-neutral SOA consulting and training services. He is also the founder of the internationally recognized SOA Certified Professional program (www.soacp.com and www.soaschool.com). Thomas is a speaker and instructor for private and public events and is regularly invited to Gartner summits. He has delivered many workshops and keynote speeches, and is on the program committee for the International SOA Symposium. Articles and interviews by Thomas have been published in numerous publications, including SOA World Magazine, The Wall Street Journal and CIO Magazine. For more information, visit www.thomaserl.com.
- The Top 150 Players in Cloud Computing
- Commercial vs Federal Cloud Computing
- Why IBM’s Server Chief Got Busted
- Industry Experts Discuss the State of Cloud Computing
- Cloud Expo New York Call for Papers Now Open
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- US Federal Government is Major Cloud Computing Innovator
- Google Wave
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Adaptivity & Cloud Computing: Exclusive Q&A with CEO Tony Bishop
- 4th International Cloud Expo: Photo Album
- The Top 150 Players in Cloud Computing
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Commercial vs Federal Cloud Computing
- Why IBM’s Server Chief Got Busted
- 1st Annual GovIT Expo: Letter from the Technical Chair
- Industry Experts Discuss the State of Cloud Computing
- Deputy CIO of the CIA to Keynote 1st Annual GovIT Expo
- SOA World Power Panel on SYS-CON.TV
- CIA was Headed to an Enterprise Cloud All Along: Jill Tummler Singer
- Cloud Expo New York Call for Papers Now Open
- 1st Annual Government IT Conference & Expo: Themes & Topics
- Stock in Focus: Dragon Capital
- The i-Technology Right Stuff
- Who Are The All-Time Heroes of i-Technology?
- Get the Message
- Where Are RIA Technologies Headed in 2008?
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV
- Five Reasons Why Web 2.0 Matters
- SYS-CON.TV's "SOA Web Services" and "Enterprise Open Source" Programs To Air in December
- SOA World Conference & Expo SYS-CON.TV Power Panel Live From Times Square









Cloud computing is a game changer. The cloud ...

















