Harmony > SOA Technical Reference Architecture > Architectural Principles

SOA Principles

Architecture principles are strategic guiding statements of position that communicate fundamental truths, direction, behavior that must be exhibited by the enterprise. SOA architecture principles are a subset of overall architectural principles focused on SOA. The MomentumSI SOA architecture principles are:

  • Business services have clear business value and alignment: The lower level business services should have a clear linkage to and support specific business capability.
  • Business processes are agile, visible and auditable: A business process should be realized using solutions that provide the ability to change it quickly and effectively, the ability to gain visibility into the process and business flow and the ability to determine what is happening or has happened during process execution.
  • Data is accessible on demand: Data must be accessible and available for use by any entitled consumer and/or business process.
  • Loosely coupled consumers and service providers share only service contract: Loose coupling is a condition wherein a service acquires knowledge of another service while still remaining independent of that service. Loose coupling is achieved through the use of service contracts that allow services to interact within predefined parameters.
  • Consumer to service provider relationships are managed: Service contracts should be used to provide a precise and unambiguous agreement for how the consumer and the service provider interact.
  • Industry open standards are used as default: When multiple technologies are available for implementing a solution, priority will be given to technologies adhering to industry standards and open architecture.
  • Increasing agility is preferred to maximizing performance: There are often multiple approaches to solving a business problem, each of which meets requirements with regard to application performance. When such options are available the option that maximizes agility is preferred to those whose primary advantage is increased performance.
  • Services are reusable: Design services to support potential reuse, regardless of whether immediate reuse opportunities exist. Logic is divided into services with the intention of promoting reuse.
  • Services are discoverable: Design of an individual service to be outwardly descriptive so that they can be found and accessed via available discovery mechanisms. On a SOA level, service discoverability refers to the infrastructure’s ability to provide a discovery mechanism, such as a service registry or directory.
  • Services are composable: A highly composable system provides services that can be selected and assembled in various combinations to satisfy specific user requirements.
  • Services are modular: The logic governed by a service resides within an explicit boundary. The service has control within this boundary and is not dependent on other services for it to execute its governance.
  • Services abstract their implementation and logic: Design services to act as black boxes, hiding their implementation details from the outside world but describing themselves to service requestors through service contracts. This supports loose coupling and independence by allowing services to encapsulate potentially complex processing logic and exposing that logic through a generic and descriptive interface.
  • Policies describing non-functional requirements are externalized, configurable, and described using standards: Service Level Objectives (SLOs) should be described using standards-based and configurable policies. Furthermore, these policies should be externalized to provide opportunities for federated governance.
  • Broad consumption of services is preferred to standardization: There are often multiple approaches to solving a business problem, some may leverage industry standards. When such options are available, the option that maximizes consumption is preferred to those whose primary advantage is increased support for industry standards.

Request More Information