Welcome!

SOA & WOA Authors: Carmen Gonzalez, Jnan Dash, Liz McMillan, Elizabeth White, Pat Romanski

Related Topics: SOA & WOA

SOA & WOA: Article

Introducing SOA Design Patterns

The SOA community collaborates to produce a master pattern catalog dedicated to SOA

Design Patterns and Architecture Types
Each SOA design pattern provides a design solution in support of successfully applying service orientation and establishing a quality service-oriented architecture. Therefore, to better understand how and to what extent individual SOA design patterns can be applied, SOA as an architectural model itself needs to be broken down into the following types, each of which represent a common "scope of implementation":

  • Service Architecture: The architecture of a single service
  • Service Composition Architecture: The architecture of a set of services assembled into a service composition
  • Service Inventory Architecture: The architecture that supports a collection of related services that are independently standardized and governed
  • Service-Oriented Enterprise Architecture: The architecture of the enterprise to whatever extent it is service-oriented

In a typical enterprise, these architecture types are very much interrelated, yet each requires individual design attention and documentation.

About the Patterns
This article is roughly organized according to these architecture types and related patterns.

SOA design patterns collectively form a master pattern language that allows patterns to be applied in different combinations and sequences. There are also compound patterns that are comprised of multiple individual design patterns. (For example, the Enterprise Service Bus and orchestration both represent compound design patterns.)

SOA design patterns are not specific to any particular vendor platform or business industry; they are simply design techniques that help overcome common obstacles to achieving the strategic goals and benefits associated with SOA and service-oriented computing.

The remainder of this article highlights key design patterns while referencing a cross-section of others. Not all mentioned patterns are explained, but descriptions are freely available at the SOA patterns community site (www.soapatterns.org).

Patterns for Collections of Services
A service inventory represents a collection of independently standardized and governed services. As shown in Figure 1, the services you deliver for a given service inventory are standardized and designed according to service orientation so that they become intrinsically interoperable. This then allows you to draw from this pool of services to assemble and augment service compositions repeatedly.

Inventory Boundary Patterns
One of the biggest decisions a project team faces when starting an SOA initiative is determining the appropriate scope of a service inventory. The Enterprise Inventory and Domain Inventory design patterns help address this decision point by providing alternative approaches.

The goal of the Enterprise Inventory pattern is to establish an enterprise-wide service inventory. The end result of achieving this pattern is considered desirable because it enables you to build all of your services according to the same design conventions to ensure consistent and widespread inter-service compatibility. It further guarantees that all of the services will be owned and evolved by the same group or department, which is the ultimate in centralized governance.

Although ideal, this approach is often not realistic, especially for larger organizations. It can raise various issues, including time and budget constraints, cultural and political concerns, and order of magnitude considerations (especially in relation to the long-term growth and governance of the inventory). These issues can introduce risks and problems that outweigh the benefit potential of applying this pattern.

This is the reason the Domain Inventory pattern has become so popular. It advocates an approach whereby the enterprise is divided into segments (domains), each of which represents a meaningful cross-silo scope. Often, the boundary of a domain inventory architecture is aligned with a business domain (such as accounting or claims). Services delivered into this architectural boundary are subject to the same design standards and governance practices, allowing them to be evolved independently from neighboring domain inventories in the same enterprise.

Although the use of this pattern can introduce the need for cross-domain data model and protocol conversion (as per the Schema Transformation and Protocol Bridging patterns), there are additional patterns (such as Cross-Domain Utility Layer, Dual Protocols, and Inventory Endpoint) that help reduce this impact.

Inventory Structure Patterns
Regardless of its scope, within the boundary of a service inventory, certain design patterns are applied to ensure a consistent structure in support of service orientation. For example, Logic Centralization positions reusable services as the sole or primary contact points for the logic they represent. This is further supported by the Service Normalization pattern that fosters service autonomy by reducing the amount of functional overlap between individual service boundaries to establish more of a "normalized" inventory.

The Service Layers pattern (and related, specialized layer patterns) can be used to further organize a service inventory into a set of logical layers, each of which is based on a different classification of service.

Note: Just a reminder that all of these structural patterns are only applied within the boundary of an inventory architecture. This means that, if you are working within the confines of a domain inventory, these patterns will not be applied on an enterprise-wide basis.

To support and extend the structure of a service inventory architecture, various other design patterns can be applied. Some (like Canonical Schema and Canonical Transport Protocol) help standardize the services within the inventory boundary to foster native interoperability and composability, while others (like Process Centralization and Rules Centralization) can be selectively used to leverage established product platforms that support the centralized management of business process logic and business rules, respectively.

Yet another dimension to inventory architecture design is the centralization of service contract-related logic. The creation of redundant schema and policy content can be addressed by the Schema Centralization and Policy Centralization patterns, each of which establishes a separate data representation layer (one layer for data models, the other for global and domain-level policies) that supports the primary service contract layer.

There are many more specialized patterns that are applied to an inventory architecture to solve common problems related to resource management, state management, quality of service, security, and communication.

Patterns for Service Design
Each service exists as a standalone software program, autonomous yet still fully geared to participate in larger service aggregations. When designing a service architecture, numerous challenges can arise, especially when shaping this architecture according to service-orientation design principles, such as Service Statelessness and Service Loose Coupling. Figure 2 provides an abstract glimpse of service architecture design patterns that are applied at the service architecture level.

More Stories By Thomas Erl

Thomas Erl is a best-selling IT author and founder of Arcitura Education Inc., a global provider of vendor-neutral educational services and certification that encompasses the Cloud Certified Professional (CCP) and SOA Certified Professional (SOACP) programs from CloudSchool.com™ and SOASchool.com® respectively. Thomas has been the world's top-selling service technology author for nearly a decade and is the series editor of the Prentice Hall Service Technology Series from Thomas Erl, as well as the editor of the Service Technology Magazine. With over 175,000 copies in print world-wide, his eight published books have become international bestsellers and have been formally endorsed by senior members of many major IT organizations and academic institutions. To learn more, visit: www.thomaserl.com

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
The 3rd International Internet of @ThingsExpo, co-located with the 16th International Cloud Expo - to be held June 9-11, 2015, at the Javits Center in New York City, NY - announces that its Call for Papers is now open. The Internet of Things (IoT) is the biggest idea since the creation of the Worldwide Web more than 20 years ago.
Technology is enabling a new approach to collecting and using data. This approach, commonly referred to as the "Internet of Things" (IoT), enables businesses to use real-time data from all sorts of things including machines, devices and sensors to make better decisions, improve customer service, and lower the risk in the creation of new revenue opportunities. In his General Session at Internet of @ThingsExpo, Dave Wagstaff, Vice President and Chief Architect at BSQUARE Corporation, discuss the real benefits to focus on, how to understand the requirements of a successful solution, the flow of ...
"People are a lot more knowledgeable about APIs now. There are two types of people who work with APIs - IT people who want to use APIs for something internal and the product managers who want to do something outside APIs for people to connect to them," explained Roberto Medrano, Executive Vice President at SOA Software, in this SYS-CON.tv interview at Cloud Expo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
We’re no longer looking to the future for the IoT wave. It’s no longer a distant dream but a reality that has arrived. It’s now time to make sure the industry is in alignment to meet the IoT growing pains – cooperate and collaborate as well as innovate. In his session at @ThingsExpo, Jim Hunter, Chief Scientist & Technology Evangelist at Greenwave Systems, will examine the key ingredients to IoT success and identify solutions to challenges the industry is facing. The deep industry expertise behind this presentation will provide attendees with a leading edge view of rapidly emerging IoT oppor...
In this Women in Technology Power Panel at 15th Cloud Expo, moderated by Anne Plese, Senior Consultant, Cloud Product Marketing at Verizon Enterprise, Esmeralda Swartz, CMO at MetraTech; Evelyn de Souza, Data Privacy and Compliance Strategy Leader at Cisco Systems; Seema Jethani, Director of Product Management at Basho Technologies; Victoria Livschitz, CEO of Qubell Inc.; Anne Hungate, Senior Director of Software Quality at DIRECTV, discussed what path they took to find their spot within the technology industry and how do they see opportunities for other women in their area of expertise.
DevOps Summit 2015 New York, co-located with the 16th International Cloud Expo - to be held June 9-11, 2015, at the Javits Center in New York City, NY - announces that it is now accepting Keynote Proposals. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long development cycles that produce software that is obsolete at launch. DevOps may be disruptive, but it is essential.
The Industrial Internet revolution is now underway, enabled by connected machines and billions of devices that communicate and collaborate. The massive amounts of Big Data requiring real-time analysis is flooding legacy IT systems and giving way to cloud environments that can handle the unpredictable workloads. Yet many barriers remain until we can fully realize the opportunities and benefits from the convergence of machines and devices with Big Data and the cloud, including interoperability, data security and privacy.
Wearable devices have come of age. The primary applications of wearables so far have been "the Quantified Self" or the tracking of one's fitness and health status. We propose the evolution of wearables into social and emotional communication devices. Our BE(tm) sensor uses light to visualize the skin conductance response. Our sensors are very inexpensive and can be massively distributed to audiences or groups of any size, in order to gauge reactions to performances, video, or any kind of presentation. In her session at @ThingsExpo, Jocelyn Scheirer, CEO & Founder of Bionolux, will discuss ho...
The 3rd International Internet of @ThingsExpo, co-located with the 16th International Cloud Expo - to be held June 9-11, 2015, at the Javits Center in New York City, NY - announces that its Call for Papers is now open. The Internet of Things (IoT) is the biggest idea since the creation of the Worldwide Web more than 20 years ago.
Connected devices and the Internet of Things are getting significant momentum in 2014. In his session at Internet of @ThingsExpo, Jim Hunter, Chief Scientist & Technology Evangelist at Greenwave Systems, examined three key elements that together will drive mass adoption of the IoT before the end of 2015. The first element is the recent advent of robust open source protocols (like AllJoyn and WebRTC) that facilitate M2M communication. The second is broad availability of flexible, cost-effective storage designed to handle the massive surge in back-end data in a world where timely analytics is e...

ARMONK, N.Y., Nov. 20, 2014 /PRNewswire/ --  IBM (NYSE: IBM) today announced that it is bringing a greater level of control, security and flexibility to cloud-based application development and delivery with a single-tenant version of Bluemix, IBM's platform-as-a-service. The new platform enables developers to build ap...

Building low-cost wearable devices can enhance the quality of our lives. In his session at Internet of @ThingsExpo, Sai Yamanoor, Embedded Software Engineer at Altschool, provided an example of putting together a small keychain within a $50 budget that educates the user about the air quality in their surroundings. He also provided examples such as building a wearable device that provides transit or recreational information. He then reviewed the resources available to build wearable devices at home including open source hardware, the raw materials required and the options available to power s...
The Internet of Things promises to transform businesses (and lives), but navigating the business and technical path to success can be difficult to understand. In his session at @ThingsExpo, Sean Lorenz, Technical Product Manager for Xively at LogMeIn, demonstrated how to approach creating broadly successful connected customer solutions using real world business transformation studies including New England BioLabs and more.
Since 2008 and for the first time in history, more than half of humans live in urban areas, urging cities to become “smart.” Today, cities can leverage the wide availability of smartphones combined with new technologies such as Beacons or NFC to connect their urban furniture and environment to create citizen-first services that improve transportation, way-finding and information delivery. In her session at @ThingsExpo, Laetitia Gazel-Anthoine, CEO of Connecthings, will focus on successful use cases.
The Internet of Things is a misnomer. That implies that everything is on the Internet, and that simply should not be - especially for things that are blurring the line between medical devices that stimulate like a pacemaker and quantified self-sensors like a pedometer or pulse tracker. The mesh of things that we manage must be segmented into zones of trust for sensing data, transmitting data, receiving command and control administrative changes, and peer-to-peer mesh messaging. In his session at @ThingsExpo, Ryan Bagnulo, Solution Architect / Software Engineer at SOA Software, focused on desi...
Enthusiasm for the Internet of Things has reached an all-time high. In 2013 alone, venture capitalists spent more than $1 billion dollars investing in the IoT space. With "smart" appliances and devices, IoT covers wearable smart devices, cloud services to hardware companies. Nest, a Google company, detects temperatures inside homes and automatically adjusts it by tracking its user's habit. These technologies are quickly developing and with it come challenges such as bridging infrastructure gaps, abiding by privacy concerns and making the concept a reality. These challenges can't be addressed w...
The Domain Name Service (DNS) is one of the most important components in networking infrastructure, enabling users and services to access applications by translating URLs (names) into IP addresses (numbers). Because every icon and URL and all embedded content on a website requires a DNS lookup loading complex sites necessitates hundreds of DNS queries. In addition, as more internet-enabled ‘Things' get connected, people will rely on DNS to name and find their fridges, toasters and toilets. According to a recent IDG Research Services Survey this rate of traffic will only grow. What's driving t...
"For over 25 years we have been working with a lot of enterprise customers and we have seen how companies create applications. And now that we have moved to cloud computing, mobile, social and the Internet of Things, we see that the market needs a new way of creating applications," stated Jesse Shiah, CEO, President and Co-Founder of AgilePoint Inc., in this SYS-CON.tv interview at 15th Cloud Expo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
The Internet of Things is tied together with a thin strand that is known as time. Coincidentally, at the core of nearly all data analytics is a timestamp. When working with time series data there are a few core principles that everyone should consider, especially across datasets where time is the common boundary. In his session at Internet of @ThingsExpo, Jim Scott, Director of Enterprise Strategy & Architecture at MapR Technologies, discussed single-value, geo-spatial, and log time series data. By focusing on enterprise applications and the data center, he will use OpenTSDB as an example t...
The industrial software market has treated data with the mentality of “collect everything now, worry about how to use it later.” We now find ourselves buried in data, with the pervasive connectivity of the (Industrial) Internet of Things only piling on more numbers. There’s too much data and not enough information. In his session at @ThingsExpo, Bob Gates, Global Marketing Director, GE’s Intelligent Platforms business, to discuss how realizing the power of IoT, software developers are now focused on understanding how industrial data can create intelligence for industrial operations. Imagine ...