The e-Framework for SOA Governance and Contracts

Please contribute, edit and add comments to this document.

  • SOA Governance and Contract recommendation towards best practise guide
  • summary from SOA practitioners conf.
  • possibly towards insertion into the IMS Enterprise whitepaper

Introduction

IT constantly acquires new layers of capability in technology which abstracts the layer below it a little bit more. SOA is the first point at which we are describing the business process immediately above the technology.

(from HP Mercury presentation, Lyle)

Issues

what is the purpose of what you want to build?

Granularity:

Best size of a service is what allows you to do the most. Some may be coarse grained complex business objects, others may be fine grained core services. Some services may be composed of or use others. Your aim is to reduce the back and forth between systems to get things done. Eg. If a fine grained service is not used often or in many places then it may be too fine. If you find yourself continuing to customize a course-grained service then it may be too coarse.

Asynchrony:

Web is synchronous, however service interactions may be async, that is long-running. This is a design decision???

Coupling:

Tight coupling, the more you know the better (API, data schema, response time). Can make for more stable system. Loose coupling, the less you know the better. Harder to achieve due to the nature of system to system interaction. There are levels of coupling, transport protocol, message protocol, data schema, at semantic layer (eg. Gender may be “M” or “F” or “Male” or “Female” or “Unknown”).

One solution is loose coupling within context.

(from ZapThink?)

SOA and Enterprise Architecture

EAs need to realise the enterprise value of the services they have. This includes mostly the SOA governance and service contracts, which map to stakeholders, applications, data models.

SOA Governance

SOA Gov enables visibility, control and ultimately trust of your services.

Design time governance – ensures what’s being built meets the requirements both functional and non-functional (load, stress, repeatability, monitoring). Who will use the service and what SLAs are acceptable and can be delivered.

(HP Mercury)

Run time governance

Metadata is an important component to governing the service throughout it’s lifecycle (design etc.).

Service Contract

recommendation towards best practice guide

summary from SOA practitioners conf.

Data Models

Stakeholder Models





What might be missing? -- Lyle

SOA Contracts should contain:

  • Policy sections:
  • Entitlements: corporate, industry and contractual rules determining access priviledges to resource for specific individuals, groups, applications or services.
  • Policy Management is the administration, enforcement, auditing and review of policies. Policy Management is part of SOA Governance.
  • ???