SoaML - Extras

From Training Material
Jump to: navigation, search

Connecting Services

TODO: ServiceChannel, Assemply


A request:

  1. is logically the conjugate type of the provider
  2. is logically the conjugate type of the consumer

A request:

  1. is the use of the service interface
  2. is the use of the request interface

A ServiceInterface can be used to type:

  1. only service port
  2. only request port
  3. both if used a conjugated type

The <<Provider>> and <<Consumer>> stereotypes are used on:

  1. Classes
  2. Interfaces
  3. Ports
  4. CollaborationUse

The isConjugated property must be set to true for which element:

  1. Every Port
  2. Service Port
  3. ServiceInterface
  4. Request Port

Which of the elements below can type a port in SoaML?

  1. Consumer
  2. Milestone
  3. Provider
  4. Interface
  5. ServiceInterface
  6. Participant

Further Questions

  • What kind of elements can appear on ServiceArchitecture?
  • What kind of elements can appear on ServiceContracts?
  • What kind of types a Service or Request can have?

Extra Exercises

  • Design a payment scheduling system (i.e. a person can schedule a payment for a specific date)
    • used vocabulary: payment, notification
    • Design Service Architecture
    • Design Contracts
    • Design interfaces
    • Design service choreography using:
      • state machine
      • activity diagram
      • sequence diagram


  1. Design an ATM withdrawal:
    1. service interfaces
    2. ports
    3. service contract
    4. collaboration

Vocabulary you can use:

  • Withdraw
  • Authorize
  • Validate Pin
  • Reject
  • Customer
  • ATM
  • Bank
  • Visa

Further Reading

Icons Cheat-sheet

Soaml icons.png

Compound service contract

Compound Services.png

Create a compund contract Purchasing Service.

Vocabulary: Seller, Buyer, Place Order, Returns Service

Show the ports on the consumers and the provider.