Usage: "RequestPoint" stereotypes UML Port
A RequestPoint is an interaction point through which a consumer accesses capabilities of provider services. A RequestPoint defines a capability that represents some functionality addressing a need, and the point of access to fulfill those needs in an
execution context. The need is defined by a RequestPoint owned by a Participant and typed by a ServiceInterface or Interface. The connection point is defined by a part whose type
is the ServiceInterface defining the needs.
A RequestPoint might also be viewed as some need or set of related needs required by a
consumer Participant and provided by some provider Participants. A RequestPoint is distinguished from a simple used
Operation, in that it can involve a conversation between the parties as specified by some communication
protocol.
RequestPoint extends UML2 Port and changes how provided and required interfaces are
interpreted. The capabilities consumed through the RequestPoint -- its required interfaces -- are
derived from the interfaces provided by the service’s ServiceInterface. The capabilities provided by
consumers in order to use the service -- the RequestPoint's provided interfaces -- are derived from
the interfaces used by the service’s ServiceInterface. These are the opposite of the provided and required interfaces
of a Port or Service and indicate the use of a Service rather than a provision of a service. Because the provided and
required interfaces are reversed, a request is the use of the service interface - or the
logical conjugate of the provider's type.
Distinguishing requests and services allows the same ServiceInterface to be used
to type both the consumer and provider ports. Any RequestPoint can connect to any ServicePoint as long as
their types are compatible. Requisition and Service effectively give Ports a direction indicating whether the
capabilities defined by a ServiceInterface are used or provided. With SoaML modeling, the
practice of physically typing request ports with types that are conjugates of the type of the port to which the request
is connected becomes obsolete.
Semantics
A RequestPoint represents an interaction point through which a consuming
Participant with needs interacts with a provider participant having compatible capabilities.
A RequestPoint is typed by an Interface or
ServiceInterface that completely characterizes specific needs of the owning Participant. This includes required
interfaces that designate the needs of the Participant through this RequestPoint, and the provided interfaces that
represent what the Participant is willing and able to do in order to use the required capabilities. It also includes
any protocols the consuming Participant is able to follow in the use of the capabilities through the
RequestPoint.
If the type of a RequestPoint is a ServiceInterface, then the Request’s
provided Interfaces are the Interfaces used by the ServiceInterface while its required Interfaces are those realized by
the ServiceInterface (see Example: ServiceInterface (SoaML) for an illustration of a ServiceInterface
with used and realized interfaces). If the type of a RequestPoint is a simple Interface, then the required interface is
that Interface and there is no provided Interface and no protocol.
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.
|