Friday, April 23, 2010

SOA : Design Patterns : Service Governance Design Patterns

Note : These are Design Patterns from "SOA Design Patterns" by Thomas Earl. The intent here is to simplify the patterns to a few lines so that they can be referred for a quick glance and also to document my experiences over time. This is by no means an effort to explain these patterns and I believe that the book has done an excellent job at that.


Compatible Change
  • This is the most frequently applied pattern once the Service is in maintenance phase.
  • The intent should be to make the change backward compatible to the existing Service Consumers.
  • Addition of new optional elements in the Schema is a Compatible change
  • Similarly any new operations, renaming, adding more messages, policy changes have to be reviewed to make the changes compatible. 
Version Identification

  • Design the versioning of the service contract in such a way that the compatible and non compatible changes are expressed clearly to the service consumers.
  • The typical convention is the decimal format with major and minor versions.

Termination Notification

  • The scheduled expiry of service or operations can be expressed through Termination Notification.
  • This can be expressed through WS Policy language through ignorable assertions



Service Refactoring


Service Decomposition


Proxy Capability
  • When an existing Service has to be decomposed to multiple fine grained services then the original contract is still used as a Proxy so that the existing service Consumers can still be serviced while the new Service Consumers will start using the new decomposed Services.  

Decomposed Capability


Distributed Capability

No comments:

Post a Comment