Service Oriented Model

Web Service Architecture
Part I- Overview and Models
(based on W3C Working Group Note http://www.w3.org/TR/ws-arch/)
Frank Yung-Fong Tang
System Architect
Services Infrastructure, AOL
Roadmap
Introduction
Format Overview
Relationships
Overview of Architectural Models
Message Oriented Model
Service Oriented Model
Resource Oriented Model
Policy Model
What is 'Web Service'?
Designed to support interoperable machine-tomachine interaction over a network.
Has an interface described in a machineprocessable format (specifically WSDL).
Other systems interact with it in a manner
prescribed by its description using SOAP
messages
Typically conveyed using HTTP
with an XML serialization in conjunction with other
Web-related standards
Key Standards for WS
WSDL
SOAP
HTTP
XML
Service / Agent /
Messages
Service- Abstract notion with interface
definition.
Agent- Concrete implementation of a
service
Message- Agent receive and send messages
Requester <-> Provider
Requesters and
Providers
Requester Entity
(person or
organization)
Requester Agent
(software)
Agree BOTH
Provider Entity
(person or
organization)
Provider Agent
(software)
Agree BOTH
Semantics and
Semantics and
Mechanics of the message
exchange
Mechanics of the message
exchange
Messages ---------------
---------------Messages
Semantics of Web
Service
Shared expectation about the behavior of the
service
Response to the messages that are sent to it
"Contract"
Purpose & Consequences of the Interaction
How and Why of the interaction
Maybe explicit or implicit, oral or written,
machine processable or human oriented, legal or
informal.
Overview of Engaging
a Web Service
Roadmap
Introduction
Format Overview
Relationships
Overview of Architectural Models
Message Oriented Model
Service Oriented Model
Resource Oriented Model
Policy Model
Concepts &
Relationships
Concepts- Noun-like things
Relationships- Verb-like things
Associations between concepts
ConceptA predicate conceptB
Ex: "An agent" IS a B, "A message" HAS C
Concept Maps- informal & graphical way to
illustrate key concepts and relationships
Models and
Conformance
Models- larger scale meta-concepts
Coherent subset of architecture on particular
aspect
Conformance
Web Services Architecture conformance is
imprecise than language specifications or
protocol specifications.
Roadmap
Introduction
Format Overview
Relationships
Overview of Architectural Models
Message Oriented Model
Service Oriented Model
Resource Oriented Model
Policy Model
Relationships
Is A
Describes
Has A
Owns
Realized
Contains
Roadmap
Introduction
Format Overview
Relationship
Overview of Architectural Models
Message Oriented Model
Service Oriented Model
Resource Oriented Model
Policy Model
Architectural Models
Message Oriented
Model
Focus on messages, message
structure, message transport
Agent: sends &
received messages
Message HAS
Message headers
Message body
Service Oriented Model
A service is
implemented by an
agent, and used by
another agent
Services are mediated by
message exchange
between provider agent
and requester agent
Meta-data (Description)document the aspect of
the service
Resource Oriented
Model
Policy Model
Focus on constraints on
the behavior of agents and
services
Policies are about
resources
Policies are apply to
agents that may attempt to
access those resources
Policies are established by
people
May represent security,
QoS Management,
application concerns.
Roadmap
Introduction
Format Overview
Relationship
Overview of Architectural Models
Message Oriented Model
Service Oriented Model
Resource Oriented Model
Policy Model
Message Oriented
Model (simplified)
Message Oriented
Model (complete)
Message Oriented
Model- 1/5
Address
Delivery Policy
Message
May be part of a "message sequence"
May be described by a "service description language"
Message Body
Is contained by the "message envelope"
Is application-specific content
Message Oriented
Model- 2/5
Message Correlation
Association of a "message" with a "context"
Maybe realized by including message
identifiers
Message Envelope
Message Oriented
Model- 3/5
Message Exchange Pattern (MEP)
Should have a unique identifier
Realize "message correlation"
May describe a "service invocation"
MPE <= Choreography
Message Header
Message Receiver
Message Oriented
Model- 4/5
Message Reliability
Maybe realized by a combination of message
ack and correlation
Maybe realized by transport mechanism
Message Sender
Message Sequence
Message Oriented
Model- 5/5
Message Transport
Has zero or more "capabilities"
Is constrained by various delivery "policies"
Must know sufficient "adderss" information
Roadmap
Introduction
Format Overview
Relationship
Overview of Architectural Models
Message Oriented Model
Service Oriented Model
Resource Oriented Model
Policy Model
Service Oriented Model
(simplified)
Service Oriented Model
(complete)
Service Oriented
Model- 1/8
Action
May result in a desired "goal state"
Maybe the sending of message
Maybe the processing of receiving messages
Agent
Service Oriented
Model- 2/8
Choreography
Define the pattern of possible interaction between
agents
Maybe expressed in "a choreography description
language"
Defines the relationship between exchanged message
and tasks of a service.
Differ from orchestration- how one web service invokes
other web services for a particular function
Service Oriented
Model- 3/8
Capability
Has a identifier
Has a description of its semantics
Goal State
Desirable state of service / resources
Provider Agent
Provider Entity
Service Oriented
Model- 4/8
Requester Agent
Requester Entity
Service
Has a service description
Has a service interface
Has service semantics
Has one or more service roles
May have one ore more policies
Service Oriented
Model- 5/8
Service Description
Is a machine-processable description of a "service"
Is a machine-processable description of a "service's
interface"
Contains a machine-processable description of the
"messages" that are exchanged by the "service"
May include a description of the "service's semantics"
Service Oriented
Model- 6/8
Service Interface
Defines the messages relevant to the service
Service Intermediary
Is a web service that transform messages in a
value-added way
Service Role
Is a set of "service tasks"
Service Oriented
Model- 7/8
Service Semantics
Is the contract between the provider and
requester concerning the effects and
requirements to the use of a service
Describes the "intended effects"
Should be identified in a "service description"
Service Oriented
Model- 8/8
Service Task
Is an action or combination of actions
Is associated with one or more intended "goal
states"
Roadmap
Introduction
Format Overview
Relationship
Overview of Architectural Models
Message Oriented Model
Service Oriented Model
Resource Oriented Model
Policy Model
Resource Oriented
Model
(simplified)
Resource Oriented
Model
(complete)
Resource Oriented
Model- 1/3
Discovery
Is the act of locating a "resource description"
Involves matching a set of functional and other criteria
with a set of resource description
May be realized by using a "discovery service"
Discovery Service
Is a service
Is used to publish "description"
Is used to search for "resource description"
Resource Oriented
Model- 2/3
Identifier
Should be realized by a URI
Identifies a resource
Representation
Is a data objects that reflect the state of a
resource.
A resource may have a representation
Resource Oriented
Model- 3/3
Resource
Maybe governed by zero or more "policies"
Resource Description
Contains the "resource identifier"
May reference a "policies"
May reference the "semantics" applicable to the
resource.
Roadmap
Introduction
Format Overview
Relationship
Overview of Architectural Models
Message Oriented Model
Service Oriented Model
Resource Oriented Model
Policy Model
Policy Model
(simplified)
Policy Model
(complete)
Policy Model- 1/5
Audit Guard
Is a policy guard
May monitor one or more resources
May monitor actions relative to one or more
services
May determine if an agent's obligation have
been discharged
Policy Model- 2/5
Domain
Is a collection of agents and/or resources
Defines the scope of application of one or more policies
Obligation
Is a kind of policy
May require an agent to perform one ore more actions
May require an agent or service to be in one ore more
allowable states
May be discharged by the performance of an action or
other event
Policy Model- 3/5
Permission
Is a type of policy
May enable one or more action
May enable one or more allowable states
Permission Guard
Is a policy guard
Is a mechanism that enforces permission policies
May control one ore more resources
Enable actions relative to one or more services
Policy Model- 4/5
Person or Organization
May own an agent
May belong to a domain
May establish policies governing resources that they
own.
Policy
Is a constraint
May have an identifier
May be described in a policy description
May define a capability
Policy Model- 5/5
Policy Description
Describes a policy
Policy Guard
What is NEXT?
Part II- Web Services Technologies