Service (systems architecture)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Certes (talk | contribs) at 16:32, 23 May 2021 (Undid revision 1024687105 by 105.157.141.140 (talk): spam; misleading edit summary). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In the contexts of software architecture, service-orientation and service-oriented architecture, the term service refers to a software functionality or a set of software functionalities (such as the retrieval of specified information or the execution of a set of operations) with a purpose that different clients can reuse for different purposes, together with the policies that should control its usage (based on the identity of the client requesting the service, for example).

OASIS defines a 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

A business analyst, domain expert, and/or 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 partitioned and refined 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." These business functions have to have a granularity that is adequate in the given project and domain context.

Many analysis and design methods can be used for service engineering, both general purpose ones such as OpenUP and Domain-Driven Design as well as those discussed under Service-oriented modeling.

Notes