SOA Design Patterns: A Gentle Introduction

SOA has matured enough now that nearly a hundred design patterns have emerged to help you make a transition to service-orientation. This gentle introduction to design patterns can guide you into sober and productive use of SOA.

By Thomas Erl
Thu, August 21, 2008

CIO — If you've been around the IT world, chances are that you've heard of or even worked with design patterns. There's nothing too mysterious about them; a design pattern is simply a proven design solution that solves a common problem. It's referred to as a pattern because it provides a solution that we expect to be able to apply repeatedly.

For example, consider a hammer. It's a tool designed to solve a specific problem. Furthermore, it's a proven design that has been field tested and validated for decades. Of course, it's so commonplace now that we take the hammer for granted. But imagine if there were design solutions as useful and successful as the hammer that we could apply to the design of our IT systems.

For architects and developers building new solutions (especially when working with modern technologies), designs patterns can be lifesavers. Each can provide a pearl of wisdom that not only helps solve problems as they occur, but can help you design your systems to avoid problems that are likely to occur in the future. As a result, design patterns can save time and money and can further increase the overall robustness and effectiveness of a given system. And, as an added bonus, you don't need to hire expensive consultants to get them; you just need to buy a book and invest some study time.

Design patterns have been widely adopted over the years and each major programming or computing discipline has assembled its own "pattern catalog." The best patterns are those that are documented after a technology platform has matured to a reasonable extent and many pioneering efforts have gone through various cycles of trial and error to determine what techniques and approaches do truly work better than others.

The fact that a design pattern catalog for SOA has now emerged is testament to the level of maturity that SOA has attained. Since SOA first emerged a few years ago, many projects have come and gone, and collections of best practices, pitfalls, and methodologies have been produced and proposed by various practitioners and vendors. SOA design patterns essentially leverage all of this information and synthesize it into a set of design solutions that are consistently documented in a formal catalog.

A great example is associated with determining the appropriate scope of a service-oriented architecture. Many past projects attempted to adopt SOA on an enterprise-wide basis, viewing SOA as an all-or-nothing proposition. In some environments, this can succeed, especially when there's strong support from management. However, more often than not, the odds are against you. Cultural and organizational issues have been difficult and sometimes even impossible to overcome when attempting a wholesale transition toward SOA. Hence we have a very important problem that needs to be solved.

Continue Reading

This IDC study uses the IDC MarketScape model to assess the capabilities of vendors to support midrange to complex process improvement scenarios using business process management software.
With this white paper, Oracle SOA vs. IBM SOA, you'll get a healthy perspective on SOA and figure out which one is best for your organization.
Download this white paper, Top Reasons to Implement an SOA Governance Strategy: A List for IT Executives, for a guide to governance that will set you on the right path.
Download this whitepaper, Get Serious About SOA Governance: A Five-Step Action Plan for Executives to see why many organizations are reaping the rewards of successful SOA transformations and what you need to do to make yours one of them.
For your IT organization to keep pace with the business, you need a new, faster approach to infrastructure deployment-an approach that increases agility and accelerates time to application value. That's HP Converged Systems. Built on Converged Infrastructure, these systems deliver the industry's first portfolio of pre-integrated, tested, and optimized infrastructure solutions for applications running in virtual, cloud, dedicated, or hybrid environments.
Even though virtualization has brought positive change to enterprise IT over the last decade, some skepticism remains about how valuable virtualization can be in the way companies deliver and run business applications. Uncover the truth about how you can run your business critical applications with confi dence without sacrifi cing
availability or service quality-and at lower costs.
Download this webcast to learn about the design considerations for virtualizing SQL workloads, performance and scalability information and high-availability options, as well as support considerations
Download this webcast to learn the virtual hardware design considerations for Exchange 2010, deployment using the building block approach, options for high-availability and disaster recovery and support considerations.
Virtualizing business-critical applications has become a key focus for organizations as they move along their virtualization journey. With the launch of VMware vSphere® 5, VMware is helping customers accelerate the deployment of business-critical applications, including Exchange, SQL, SAP and Oracle.
Want to say goodbye to missed SLAs? VMware can help you virtualize mission-critical applications such as Oracle, MS Exchange and SharePoint to achieve dramatic improvements in uptime, performance and responsiveness. In this webcast, we'll discuss the key benefits of virtualizing your agency's most critical applications and Oracle databases as a necessary first step in fulfilling OMB's mandate to move IT services to the cloud. With VMware, you'll be on the way to quick, effective and full compliance.
The complexity, cost and technological bloat of traditional Java EE application servers are often barriers to running a lean and efficient IT organization. Increased need for scalability and rapid application delivery are driving businesses to reconsider the platform they use for application deployment. By combining the portability and agility of the Spring framework with a lightweight application server, your organization can meet business demands while staying within budget constraints. VMware vFabric™ tc Server is a modern, lightweight Java application server based on Apache Tomcat. It improves developer productivity, control and manageability-and is the most flexible platform for virtualizing Java applications and workloads for the cloud. View this webcast to learn about real-world examples of companies that have adopted VMware vFabric tc Server and how to plan for future cloud deployments.
Traditional disaster recovery solutions are often too expensive, complex and unreliable to meet business requirements. As a result, IT departments are hesitant to expand disaster protection beyond their most critical applications, largely because they are uncertain whether the quality of the protection is really worth its cost. VMware vCenter™ Site Recovery Manager 5 is the market-leading disaster recovery product that addresses this situation for organizations of all kinds. It complements VMware vSphere to ensure the simplest and most reliable disaster protection for all virtualized applications.
Newsletter Sign-Up »

Receive the latest news test, reviews and trends on your favorite technology topics

Choose a newsletter
  1. View all Newsletters | Privacy Policy
Resource Center