Task: Define Message Schema
Define the messages exchanged with the service in order to perform its tasks.
Disciplines: Service-Oriented Design
Purpose
The message schema defines the heart of the contract, as it specifies the tasks the service can perform and the associated data required.
Relationships
RolesPrimary Performer: Additional Performers:
InputsMandatory:
    Optional:
    • None
    Outputs
      Main Description

      The Service Candidate Model generally shows multiple candidate tasks for each service, one for each element of procedural functionality. During service-oriented design the candidate tasks for a single service are generally "collapsed" into a single message that is generic and parameter-driven (one of the message elements is the task name, derived from the name of the original candidate task).

      Therefore, in the general case, there will be one message schema for each service (more accurately, for the single generic operation exposed by the service), and this schema will include every information element that might be required for all of the service's tasks, specified in a "polymorphic" way. The service's schema will include an abstract complexType containing a "task name" element (typically an enumeration) and any other elements that are common to all of the service's tasks, and one complexType that "extends" the abstract type for each defined task name. The result is that the service consumer only needs to "fill in" the elements of a single complexType in any message (the complexType that is specific to the desired task).

      Steps
      Review the Service Candidate Model's candidate tasks along with sample messages.
      Expand example messages based on the Information Model.
      Examine existing message schemas to determine if they can be used as is or slightly modified to support this service.
      If existing schemas cannot be used, create a single message structure that is generic and parameter-driven (one of the message elements is the task name, derived from the name of the original candidate tasks).
      See Message Schema Template
      Modify the sample messages to use the generic message structure.
      Save message schema in Service Repository
      Key Considerations

      There may not be a one-to-one relationship between entity-centric services and the domain object entity model.

      When creating a message schema for the operation that initiates an orchestrated service, the primary source of input is the definition of "data objects" shown on the BPMN diagram.

      More Information