Service (systems architecture)

Not to be confused with Server (computing).

In the context of enterprise architecture, service-orientation and service-oriented architecture, the term service refers to a set of related software functionalities that can be reused for different purposes, together with the policies that should control its usage.

OASIS defines service as "a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description." [1]

Service engineering

An enterprise architecture team will develop the organization's service model first by defining the top level business functions. Once the business functions are defined, they are further sectioned into services that represent the processes and activities needed to manage the assets of the organization in their various states. One example is the separation of the business function "Manage Orders" into services such as "Create Order," "Fulfill Order," "Ship Order," "Invoice Order" and "Cancel/Update Order."

Service description/specification

A service has a description or specification. This description consists of:

  1. An explicit and detailed narrative definition supported by a low-level (not implementation-specific) process model. The narrative definition is in some cases augmented by machine-readable semantic information about the service that facilitates service mediation and consistency checking of an enterprise architecture.
  2. A set of performance indicators that address measures and performance parameters, such as availability (when should members of the organization be able to perform the function?), duration (how long should it take to perform the function?), rate (how often will the function be performed over a period of time?), etc.
  3. A link to the organization's information model showing what information the service owns (creates, reads, updates, and deletes) and which information it references that is owned by other services.

Service implementation

A Web service provides one way of implementing the automated aspects of a given business or technical service.

Telecommunication network architectures, such as IMS, are able to provide subscribers with various Next Generation Network Services.

Services can be stateless and stateful. Stateless services can be services like data aggregation services. Stateful services are used for executing business logic.[2]

Notes

  1. OASIS Reference Model for Service Oriented Architecture 1.0
  2. Giuseppe DeCandia; Deniz Hastorun; Madan Jampani; Gunavardhan Kakulapati; Avinash Lakshman; Alex Pilchin; Swaminathan Sivasubramanian; Peter Vosshall; Werner Vogels. "Dynamo: Amazon’s Highly Available Key-value Store: 2. BACKGROUND". All Things Distributed: http://www.allthingsdistributed.com/. Retrieved 2011-03-17. Some of these services are stateless (i.e., services which aggregate responses from other services) and some are stateful (i.e., a service that generates its response by executing business logic on its state stored in persistent store).