In the contexts of
software architecture
Software architecture is the set of structures needed to reason about a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements a ...
,
service-orientation
Service-orientation is a design paradigm for computer software in the form of Service (Systems Architecture), services. The principles of service-oriented design stress the separation of concerns in the software. Applying service-orientation resul ...
and
service-oriented architecture
In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. SOA is a good choice for system integration. By consequence, it is also applied in the field ...
, 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 In information technology, a service description is a description of a service that explains how the service can be used by clients. The exact meaning of the term depends on context.
In IT service management
In IT service management, a service ...
".
[OASIS Reference Model for Service Oriented Architecture 1.0]
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
A business process, business method, or business function is a collection of related, structured activities or Task (project management), tasks performed by people or equipment in which a specific sequence produces a service or product (that serv ...
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
Granularity (also called graininess) is the degree to which a material or system is composed of distinguishable pieces, "granules" or "grains" (metaphorically).
It can either refer to the extent to which a larger entity is subdivided, or the ...
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
Domain-driven design (DDD) is a major software design approach, focusing on modeling software to match a domain according to input from that domain's experts. DDD is against the idea of having a single unified model; instead it divides a large s ...
as well as those discussed under Service-oriented modeling.
Bibliography
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Notes
{{reflist
Service-oriented (business computing)