1 / 17

Service Contract Perspectives

This document from the UPMS Submission Team in March 2007 discusses the use of Service-Oriented Architecture (SOA) in matching needs and capabilities, combining capabilities to address needs, and the importance of compatible service ports in connecting consumers and providers.

kpennington
Download Presentation

Service Contract Perspectives

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Service Contract Perspectives UPMS Submission team March 2007

  2. SOA provides a framework for matching needs and capabilities and for combining capabilities to address needs • Consumer defines the needs or service requirements • Provider defines the capabilities or services • Matching needs and capabilities means connecting compatible consumers and providers • Provider provides capabilities and how to use them • Consumer has requirements that can be fulfilled by provider capabilities • Connected consumers and providers enter into an agreed upon contract for meeting needs with capabilities

  3. Combining Capabilities to address needs requires an assembly • Consumers and/or providers may be defined independently and may have no common ownership • Does provider meet consumer’s needs? • That is, is it legal to connect: • the provider’s provided service to • the consumer’s consumed service? • To answer this, we need to determine if the service ports are compatible

  4. Consumer defines the needs or service requirements • The type of the consumed service port defines the consumer’s requirements through that port • Behaviors of the consumer warrant that they will interact through the consumed service port in a manner that is compatible with the port’s type

  5. Provider defines the capabilities or services ? • The type of the provided service port defines the provider’s capabilities through that port • Behaviors of the provider warrant that they will interact through the provided service port in a manner that is compatible with that port’s type • Matching consumer needs with provider capabilities is determining if the connected service ports are compatible

  6. Service Interfaces define the needs and requirements • Service interfaces are used to type service ports • Service interfaces can be given from a number of perspectives • Consumer: consumer-centered • Provider: provider-centered • Both, or the interaction between Consumer and Provider: interaction-centered

  7. consumer-centric • Describes the service from the perspective of the consumer’s requirements • Any number of providers may be used as long as the meet the consumer’s requirements • Service Interface is used to type the consumer’s service port • Providers’ types are any types compatible with the consumer’s requirements

  8. Consumer-centric service interface • The Provider can be any type that conforms to the consumer requirements • Provider is the simplest conformant service interface • Provider could realize or use other interfaces as well or extend the required and provided interfaces with additional capabilities not used by the consumer

  9. Service participants that provide and consume the service

  10. provider-centric • Describes the service from the perspective the provided functional capabilities • Typical of SOA publish/find/bind • Any number of consumers may participate as long as they meet the provider’s service protocol • Service interface is used to type the provider’s service port • Consumer’s type is any type compatible with the provider’s protocol

  11. Provider-centric Service Interface • Consumer can be any type that conforms to the provided service • Consumer may not use all of the provider capabilities • But must use the ones it does according to the protocol

  12. Same Service Interface using an Activity • The activity partitions represent the roles in the Provider • They specify what part the operations are invoked on • That is, they specify the target input pins

  13. Service participants that provide and consume the service

  14. Interaction-centric • Neither the consumer or provider is the central focus • Instead it’s the interaction between them • Service contract describes roles, responsibilities and interactions on consumers and providers • Service consumer is typed by consumer role type • Service provider is typed by provider role type

  15. Interaction-centric Service Contract

  16. Service participants that provide and consume the service Note: The required interfaces don’t show up in the picture but they should

  17. Notice the similarity • All three solutions show the same assembly of components • The protocol is only defined once in all cases • All three have exactly the same semantics • In all cases, the connected consumer and provider ports must be compatible and follow the protocol • All three use collaborations to specify requirements for choreographing services to accomplish some end • All three could be specified at the same time and simply need to be conformant

More Related