SOA

Principles

The following guiding principles define the ground rules for development, maintenance, and usage of the SOA[6]:

  • reuse, granularitymodularity, composability, componentization and interoperability.
  • standards-compliance (both common and industry-specific).
  • services identification and categorization, provisioning and delivery, and monitoring and tracking.

The first publicly published research of service-orientation from an industry perspective was provided by Thomas Erl of SOA Systems Inc. who defined eight specific service-orientation principles common to all primary SOA platforms. These principles were published in “Service-Oriented Architecture: Concepts, Technology, and Design”, on the www.soaprinciples.com research site, and in the September 2005 edition of the Web Services Journal (see Service-orientation).

  • Standardized Service Contract – Services adhere to a communications agreement, as defined collectively by one or more service-description documents.
  • Service loose coupling – Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other.
  • Service Abstraction – Beyond descriptions in the service contract, services hide logic from the outside world.
  • Service Reusability – Logic is divided into services with the intention of promoting reuse.
  • Service Autonomy – Services have control over the logic they encapsulate.
  • Service Statelessness - Services minimize resource consumption by deferring the management of state information when necessary
  • Service Discoverability – Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted.
  • Service Composability – Services are effective composition participants,regardless of the size and complexity of the composition.

Some authors also include the following principles:

  • Service optimization – All else equal, high-quality services are generally preferable to low-quality ones.
  • Service relevance – Functionality is presented at a granularity recognized by the user as a meaningful service.
  • Service encapsulation – Many services are consolidated for use under the SOA. Often such services were not planned to be under SOA.

你可能感兴趣的:(SOA)