Friday, April 23, 2010

SOA : Design Patterns : Inventory 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.


Enterprise Inventory

  • Services developed in an enterprise are maintained in an Enterprise Service Inventory.
  • This helps in standardized contracts, avoids creation of redundant services and easy governance.

Domain Inventory

  • When Enterprise Inventory is not possible, then multiple Domain Inventories are created.
  • The boundary of domain inventory needs to be carefully established. The boundary could be functional.
  • Governance is established at the domain inventory level.

Service Normalization

  • This pattern normalizes the existing Services that have overlapping functional boundaries.
  • This is done by applying Logic Centralization and Service Abstraction

Logic Centralization

  • This pattern targets the creation of Agnostic Service that have a clearly defined boundary.
  • Helps in reuse and composability of these Services

Service Layers


Canonical Protocol

  • Standardizes the transport and communication protocols for all services in the inventory.
  • This is to enable reusability and composability (avoiding the costly protocol bridging)
  • Example: WSDL, Schema, Policy, Transport(HTTP), Communication(SOAP) versions.

Canonical Schema

  • Standardizes the schema definitions in a service inventory.
  • This avoids data model transformation, redundant data definitions and helps in governance


No comments:

Post a Comment