A service-oriented architecture is a conceptual description of a the structure of a software system in terms of its components and the services they provide, without regard for the underlying implementation of these components, services and connections between components. [Rational Unified Process]
A service, in the context of the Reference Model, is:
A self-contained, stateless function with a well-defined interface that allows discovery and use of the service
A functionality (function or combination of functions) that supports the production, sharing, and consumption (use) of data, information, or other services
A functionality that accepts one or more requests and returns one or more responses, independent of the state of other functions or processes
An exposed functionality with three properties:
The interface contract to the service is platform independent. This means a client from any device using any operating system in any language can use the service, and that knowledge of the technical details of another service is not required to interact to it.
The service can be dynamically located and invoked. All applications can appear on the network as a set of services where it is possible to plug all these services into a single information bus. It is irrelevant whether the services are local (within the system) or remote (external to the immediate system), what interconnect scheme or protocol is used, or what infrastructure components are required to make the connection.
The service is self-contained; it maintains its own state. Services operate as “black boxes” and external components neither know nor care how they perform their function, just that they return the expected result.
A service is 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. A service is provided by an entity – the service provider – for use by others, but the eventual consumers of the service may not be known to the service provider and may demonstrate uses of the service beyond the scope originally conceived by the provider.
A service is accessed by means of a service interface where the interface comprises the specifics of how to access the underlying capabilities. There are no constraints on what constitutes the underlying capability or how access is implemented by the service provider. Thus, the service could carry out its described functionality through one or more automated and/or manual processes that themselves could invoke other available services.
A service is opaque in that its implementation is typically hidden from the service consumer except for
(1) the information and behavior models exposed through the service interface and
(2) the information required by service consumers to determine whether a given service is appropriate for their needs.
Defining Operational Activities Establishes the overall objectives of the architecture, its purpose, boundaries, goals, and mission. Documents the consumption and production of the enterprise, the associated roles and interfaces Establishes the scope of the activity and the responsible roles to produce the result of value. Establishes the flow of control as defined by the business rules and provides context for the business services offered by the enterprise. Documents service responsibility among the roles in the environment as defined by the activity diagrams. Documents the information requirements in the form of classes, their attributes, operations and relationships with other classes.