The Principles of Service-Orientation: Service Contracts and Loose Coupling

Registration is free. Login or register to view/download this content.

Author(s)

Business Relationship Manager - Product Lifecycle Management, Chevron Corporation

In the previous article we established the service-orientation design paradigm as currently providing us with the following eight common principles:

  • services share a formal contract
  • services are loosely coupled
  • services abstract underlying logic
  • services are reusable
  • services are composable
  • services are discoverable
  • services are autonomous
  • services are stateless

These principles are “common” in that they represent an industry-level perspective of service-orientation as determined by research conducted by SOA Systems Inc. In part 2 of our series we dive into an exploration of these principles by discussing the first two on the list: the required use of service contracts and the creation of a relationship between services known as “loosely coupled.”

The Role of Service Contracts

Services are formally defined using one or more service description documents. In the Web services world, the technical service description documents are typically the WSDL definition and the XSD schema. A third type of document that will become increasingly important is the policy.
Each of the these documents can be classified as service metadata, as each provides information about the service. Service description documents can be collectively viewed as establishing a service contract – a set of terms and conditions that must be met and accepted by a potential service requestor in order to enable successful communication and interaction. (Note that a service contract can also refer to additional non-technical documents or legal agreements, such as SLAs.)

Within SOA, service contracts provide a formal definition of:

  • the service endpoint
  • each service operation
  • every input and output message supported by each operation
  • the data representation model of each message’s contents
  • rules and characteristics of the service and its operations

Service contracts therefore define a great deal of the underlying architecture of a solution environment, and may even provide semantic information that explains how services as part of this solution go about accomplishing a particular task. Either way, this information establishes the terms of engagement to which consumers of a service need to comply.

Because this contract is shared amongst services, its design is extremely important. Service requestors that agree to this contract can become dependent on its definition. Therefore, contracts need to be carefully maintained and versioned after their initial release.

Service contracts represent a cornerstone principle in service-orientation, and therefore support or even enable other principles, such as service abstraction, composability, discoverability, and, our next item of discussion, loose coupling.

What it Means to be Loosely Coupled

No one can predict how an IT environment will evolve. How automation solutions grow, integrate, or are replaced over time can never be accurately planned out because the requirements that drive these changes are almost always external to the IT environment. Being able to ultimately respond to unforeseen changes in an efficient manner is a key goal of applying service-orientation. Realizing this form of agility is directly supported by establishing a loosely coupled relationship between services.

As with traditional distributed architectural models, SOA is based on the concept that solution logic is partitioned into multiple units of logic that can be assembled to collectively automate business tasks. One of the characteristics that distinguishes SOA from its predecessors is how these units of logic are required to relate to each other.

This is where the issue of coupling comes in. Coupling between software programs can be viewed as representing a measure of dependency. The higher the dependency, the tighter the coupling. No dependencies indicates a decoupled state. It is strongly encouraged that units of logic (services) within SOA minimize their respective dependencies to whatever extent possible. This specific relationship has been termed “loosely coupled” and it is accomplished by limiting the dependencies between a service and its requestors to the information expressed in the service contract – and – designing the service contract in such a way that it is not necessarily specific to any one service requestor.
By consistently implementing this principle, newly built services establish a notable independence from each other. This allows an organization standardizing on SOA to accumulate an inventory of services that exist as relatively standalone units of logic which can be configured into new compositions, as required.

When creating multiple services in pursuit of establishing a service-oriented enterprise, these services can be categorized into specific service models. This allows them to become specialized in the type of logic they encapsulate. One increasingly important service model is the business service, which limits the logic a service represents to the accurate expression of a specific business context.

When standardizing on a set of service models, larger domains of an enterprise can be successfully abstracted. This effectively allows organizations to strategically establish loosely coupled relationships between specific areas of the enterprise by creating layers of services that represent the respective domains. In doing so, the benefits of loose coupling – most notably the increase in organizational agility it fosters – are amplified. This also demonstrates how service-orientation, as a paradigm, is not limited to the service-design level. Its principles can be broadly applied to areas throughout the enterprise.

Similar Resources

Featured Certificate: BPM Specialist

Everyone starts here.

You're looking for a way to improve your process improvement skills, but you're not sure where to start.

Earning your Business Process Management Specialist (BPMS) Certificate will give you the competitive advantage you need in today's world. Our courses help you deliver faster and makes projects easier.

Your skills will include building hierarchical process models, using tools to analyze and assess process performance, defining critical process metrics, using best practice principles to redesign processes, developing process improvement project plans, building a center of excellence, and establishing process governance.

The BPMS Certificate is the perfect way to show employers that you are serious about business process management. With in-depth knowledge of process improvement and management, you'll be able to take your business career to the next level.

Learn more about the BPM Specialist Certificate

Courses

  •  

 

Certificates

  • Business Process Management Specialist
  • Earning your Business Process Management Specialist (BPMS) Certificate will provide you with a distinct competitive advantage in today’s rapidly evolving business landscape. With in-depth knowledge of process improvement and management, you’ll be able to take your business career to the next level.
  • BPM Professional Certificate
    Business Process Management Professional
  • Earning your Business Process Management Professional (BPMP) Certificate will elevate your expertise and professional standing in the field of business process management. Our BPMP Certificate is a tangible symbol of your achievement, demonstrating your in-depth knowledge of process improvement and management.

Certification

BPM Certification

  • Make the most of your hard-earned skills. Earn the respect of your peers and superiors with Business Process Management Certification from the industry's top BPM educational organization.

Courses

 

Certificates

  • Operational Excellence Specialist
  • Earning your Operational Excellence Specialist Certificate will provide you with a distinct advantage in driving organizational excellence and achieving sustainable improvements in performance.
 

 

OpEx Professional Certificate

  • Operational Excellence Professional
  • Earn your Operational Excellence Professional Certificate and gain a competitive edge in driving organizational excellence and achieving sustainable improvements in performance.

Courses

Certificate
  •  

  • Agile BPM Specialist
  • Earn your Agile BPM Specialist Certificate and gain a competitive edge in driving business process management (BPM) with agile methodologies. You’ll gain a strong understanding of how to apply agile principles and concepts to business process management initiatives.  
 

Business Architecture

 

Certificates

  • Business Architecture Specialist
  • The Business Architecture Specialist (BAIS) Certificate is proof that you’ve begun your business architecture journey by committing to the industry’s most meaningful and credible business architecture training program.

  • Business Architecture Professional
  • When you earn your Business Architecture Professional (BAIP) Certificate, you will be able to design and implement a governance structure for your organization, develop and optimize business processes, and manage business information effectively.

BA CertificationCertification

  • Make the most of your hard-earned skills. Earn the respect of your peers and superiors with Business Architecture Certification from the industry's top BPM educational organization.

Courses

 

Certificates

  • Digital Transformation Specialist
  • Earning your Digital Transformation Specialist Certificate will provide you with a distinct advantage in today’s rapidly evolving business landscape. 
 

 

  • Digital Transformation Professional
  • The Digital Transformation Professional Certificate is the first program in the industry to cover all the key pillars of Digital Transformation holistically with practical recommendations and exercises.

Courses

Certificate

  • Agile Business Analysis Specialist
  • Earning your Agile Business Analysis Specialist Certificate will provide you with a distinct advantage in the world of agile software development.

Courses

Certificate
  • DAS Certificate
  • Decision Automation Specialist
  • Earning your Decision Automation Certificate will empower you to excel in the dynamic field of automated decision-making, where data-driven insights are pivotal to driving business innovation and efficiency.