Concept: ServicePoint (SoaML)
A ServicePoint is the offer of a service by one participant to others using well defined terms, conditions and interfaces. A ServicePoint defines the connection point through which a Participant offers its capabilities and provides a service to clients.
Relationships
Main Description

Usage:  "ServicePoint" stereotypes UML Port

A ServicePoint is a mechanism by which a provider Participant makes available services that meet the needs of consumer requests as defined by ServiceInterfaces, Interfaces, and ServiceContracts. A ServicePoint is represented by a UML Port on a Participant stereotyped as a "ServicePoint."

By referencing a ServiceInterface, a ServicePoint includes both the specification of the value offered to another and how that value is offered. A ServicePoint is the visible point at which consumer requests are connected to providers, and through which they interact in order to produce some real world effect.

A ServicePoint also can be viewed as the offer of some service or set of related services provided by a provider Participant and consumed by some consumer Participants that has some value, or achieves some objective of the connected parties. A ServicePoint is distinguished from a simple Operation in that it can involve a conversation between the parties as specified by some communication protocol that is necessary to meet the common objective.

The capabilities provided through the ServicePoint -- its provided interfaces -- are derived from the interfaces realized by the ServicePoint’s ServiceInterface and further detailed in the ServiceContract. The capabilities required of consumers in order to use the ServicePoint -- its required interfaces -- are derived from the interfaces used by the ServicePoint's ServiceInterface. These are the same as the provided and required interfaces of the Port that is a generalization of ServicePoint.

Semantics

A ServicePoint represents an interaction point through which a providing Participant with capabilities to provide a service interacts with a consuming participant having compatible needs. It represents a part at the end of a ServiceChannel connection and the point through which a provider satisfies a request.

A ServicePoint is typed by an Interface or ServiceInterface that, possibly together with a ServiceContract, completely characterizes specific capabilities of the producing and consuming participants' responsibilities with respect to that service. This includes provided interfaces that designate the capabilities of the Participant through this ServicePoint, and the required interfaces that represent what the Participant requires of consumers in order to use the provided capabilities. It also includes any protocols the providing Participant requires consumers to follow in the use of the capabilities of the ServicePoint.

If the type of a ServicePoint is a ServiceInterface, then the ServicePoint’s provided Interfaces are the Interfaces realized by the ServiceInterface, while its required Interfaces are those used by the ServiceInterface. If the type of a ServicePoint is a simple Interface, then the provided interface is that Interface and there is no required Interface and no protocol. If the ServiceInterface or UML interface typing a ServicePoint is defined as a role within a ServiceContract, then the ServicePoint (and Participant) is bound by the semantics and constraints of that ServiceContract.

Possible Forthcoming Change in Stereotype Name

The Rational SOMA 2.9 Practices have been developed using the Beta 1 version of the SoaML Specification, which was released April 1, 2009.  Some changes are to be expected between the Beta 1 specification and the final specification.  For example, we are aware that the SoaML Specification Committee is (as of mid-October, 2009) preparing to vote on a proposal to rename the ServicePoint and RequestPoint stereotypes to "Service" and "Request", respectively.  If this proposal is accepted, this change will be incorporated into a future release of Rational SOMA.

More Information