slides - Events

advertisement
www.oasis-open.org
Reference Architecture for
SOA (OASIS SOA-RM TC work
in-progress)
Frank McCabe
Jeff Estefan
Ken Laskey
Danny Thornton
Agenda
Duration* Topic
Presenter
30
Introduction
McCabe
30
This Architecture
Estefan
45
Business via Services View
McCabe
15
Q&A
30
Break
45
Realizing SOAs View
Laskey/Estefan
30
Owning SOAs View
Laskey/Thornton
15
Q&A
*Minutes
Introduction



SOA as eco system
Primary concepts from Reference
Model
Plan for the tutorial
Systems and Eco-systems
 Multiple ownership domains
 No one entity controls everything
 Parallel development, deployment
and usage of services
 A medium for people* to get their
business done
* We include organizations and robots, but the canonical use case is
people using an SOA-based system as a medium to `act at a distance’
Reference Model for SOA
It’s an OASIS Standard
What is a Reference Model



An abstract framework for understanding
significant relationships among the
entities of some environment.
Consists of a minimal set of unifying
concepts, axioms and relationships within
a particular problem domain.
Is independent of specific standards,
technologies, implementations, or other
concrete details.
Service Oriented Architecture


Service Oriented Architecture is a
paradigm for organizing and utilizing
distributed capabilities that may be
under the control of different
ownership domains.
Goal of reference model is to define
the essence of Service Oriented
Architecture
Why is it different?

SOA reflects the reality of ownership
boundaries



CORBA, RMI, COM, DCOM, etc. all try to
implement transparent distributed systems
Ownership is of the essence in SOA
SOA is task oriented

Services are organized by function


Getting something done
SOA is inspired by human organizations

It worked for us, it should work for machines
Key concepts
Service

A mechanism to enable access to
one or more capabilities


using a prescribed interface
consistent with constraints and
policies as specified by the service
description.
Visibility
Visibility is the relationship between
service participants that is satisfied
when they are able to interact with each
other
• Awareness
• Service description
• Discovery
• Willingness
• Policy & contract
• Reachability
• Communication
Interaction
Interacting with a service involves performing actions against the service
The extent to which one system can
effectively interpret information from
another system is governed by the
semantic engagement of the various
systems.
The semantic engagement of a system is
a relationship between the system and
information it may encounter.
Real World Effect
The purpose of using a capability is to realize one or more real world effects.
At its core, an interaction is “an act” as opposed to “an object” and the
result of an interaction is an effect (or a set/series of effects).
The real world effect is couched
in terms of changes to the state shared by
the participants and stakeholders in
a service interaction
About Services
Conditions and
Expectations

Policy


Constraint representing the
intention of a participant in a
service
Contract

Constraint representing an
agreement between two or
more participants.
Description
The service description represents the information
needed in order to use, manage or provide a
service.
• Service Reachability
• Service Functionality
• Service Policies
• Service Interface
Execution Context
The execution context is the set of infrastructure elements,
process entities, policy assertions and agreements that are
identified as part of an instantiated service interaction,
and thus forms a path between those with needs and those
with capabilities
Where the RA fits
Plan for Tutorial


Structure of the Reference Architecture
Three Views in Detail



Business via Service View
Realizing SOAs View
Owning SOAs View
This Architecture







Architectural goals & principles
What is a reference architecture?
What is this RA?
Views and viewpoints
Three views of SOA
Viewpoint specifications
UML conventions
Goals of this Architecture
Architectural Principles
 Technology Neutrality
 We want to focus on the issues
 Parsimony
 Ockham’s razor at work
 Separation of Concerns
 Pieces that are independent are kept
separate
 Applicability
 We are looking for the 80/20 rule
What is a “Reference
Architecture”?
Reference Architecture (vs.) Reference Model
Models the abstract
architectural elements in
the domain independent
of the technologies,
protocols, and products
that are used to
implement the domain
Describes the important
concepts and
relationships in the
domain focusing on what
distinguishes the
elements of the domain
 A reference architecture elaborates further on the model
to show a more complete picture that includes showing what
is involved in realizing the modeled entities
What is this RA?
 This Reference Architecture is an
architectural description that documents
(or describes) the abstract architectural
elements of the paradigm that is SOA
 It focuses on the elements and their
relationships needed to enable SOAbased systems to be used, realized, and
owned
What is this RA?
 This Reference Architecture is an
architectural description that documents
(or describes) the abstract architectural
elements of SOA-based systems
 It focuses on the elements and their
relationships needed to enable SOAbased systems to be used, realized, and
owned
Views and Viewpoints


This RA uses the concepts of views and
viewpoints as derived from the ANSI/IEEE Std
1471-2000 to describe system and software
architectures
A view is a representation of the whole system
from the perspective of a related set of concerns


Primarily comprised of models (although it has other
attributes, e.g., textual descriptions)
A viewpoint is a specification of the conventions
for constructing and using a view

Addresses stakeholders, their concerns, the language,
modeling techniques, or analytical methods used in
constructing views based on the viewpoint, and the
source (if adapted from a viewpoint library)
Three Views of SOA
 Using a SOA-based system
 Captures what SOA means for people
conducting their business
 Realizing a SOA-based system
 Deals with the requirements for constructing
a SOA
 Owning a SOA-based system
 What are the issues involved in owning a
SOA-based systems
Viewpoint Specifications
Viewpoint
Element
Viewpoint
Business via Services
Realizing SOAs
Owning SOAs
Main Concepts
Captures what SOA
means for people using
it to conduct business
Deals with the
requirements for
constructing a SOA
Addresses issues
involved in owning and
managing a SOA
Stakeholders
People (using SOA),
Decision Makers,
Enterprise Architects,
Standards Architects
and Analysts
Standards Architects,
Enterprise Architects,
Business Analysts,
Decision Makers,
Standards Architects
and Analysts
Service Providers,
Service Consumers,
Decision Makers
Concerns
Conduct business
safely and effectively
Effective construction
of SOA-based systems
Processes for engaging
in a SOA are effective,
equitable, and assured
Modeling Techniques
UML class diagrams
UML class and
sequence diagrams,
component and
composite structure
diagrams
UML class diagrams
UML Conventions

Visual modeling notation based on Object
Management Group (OMG) Unified Modeling
Language (UML)


Class diagrams reflect key concepts and
relationships


Every effort made to be compliant with latest normative
standard (currently, UML V2.1.2 Superstructure)
Primarily use named associations (rather than roles) to
model key relationships
Stereotypes used to assist in ambiguity
resolution on some classifiers and to provide
greater domain specialization
UML Conventions (2)
Business via Services
View




What does it mean to be part of a
SOA
Ownership boundaries
Acting in a Social Context
The role of policies and contracts
Stakeholders and Participants
We use a lot of UML in this RA
Resources and Ownership
Resources are foundational to the RA as a whole
Resources and Ownership
Ownership is foundational
to using a SOA
Needs and Capabilities
Needs and Capabilities speak to participants’
motivations
Acting in a Social Context
It is all about interaction and
communication
It is all about getting things done, in a
social context
Semantics of
Communication
Communication is founded on vocabulary, semantics and intention
Roles and Responsibilities
There is a social context for everything we do
Clarity in rights and responsibilities is the
foundation for security
Governance
Realizing SOAs View
General Description Model
• Everything that is part
of the SOA ecosystem
can benefit from
description
• Some things, like
service, require
description for the SOA
paradigm to work
Service Description Model
•
•
•
•
•
What it does
How to access it
How to communicate with it
What are conditions of use
Where to find measurements
Service Interface Model
Note addition of Event Model and question of how that might extend Reference Model
Models Relating to
Interaction and Policies
Service Reachability
Policies and Contracts as related to Service Participants
• These models intended to ground
description in places where it is used
• May be moved from Service
Description and as consistent with
Service Interaction and Policy
sections
Policies and Contracts, Metrics, and Compliance Records
Service Description and
Action Relationship
• Classes in blue are
leaf nodes in Service
Description
• Service Description is
more than an
incidental artifact
• Service Description as
integral information
that comes together to
get things done
Interacting with Services
Interaction Dependencies
Message Exchange &
Operations


Message exchange is the means by
which joint actions and event
notifications of real world effects are
coordinated by service participants
(or their agents)
Operations are the sequence of
actions a service must perform in
order to validly participate in a given
joint action
Message Exchange
Patterns (MEPs)
Composition of Services


Composition of services is the act of aggregating
or “composing” a single service from one or
more other services
There are “atomic” and “composite” services


An atomic service is a service visible to a service
consumer (or agent) via a single interface and
described via a single service description that does not
use or interact with other services
A composite service is a service visible to a service
consumer (or agent) via a single interface and
described via a single service description that is the
aggregation or composition of one or more other
services. These other services can be atomic services,
other composite services, or a combination of both
An Illustrative Example
(Notional)
Service-Oriented Business
Processes


Service orientation as applied to business
processes (i.e., “service-oriented business
processes”) means that the aggregation or
composition of all of the abstracted activities,
flows, and rules that govern a business process
can themselves be abstracted as a service
Typically use a technique known as
orchestration to compose hierarchical and selfcontained service-oriented business processes
that are executed and coordinated by a single
agent acting in a “conductor” role
An Illustrative Example
(Notional)
Service-Oriented Business
Collaborations


Service orientation as applied to business
collaborations (i.e., “service-oriented business
collaborations”) means that the aggregation or
composition of all of the abstracted activities,
flows, and rules that govern a business
collaboration (peer style interaction) can
themselves be abstracted as a service
Typically use a technique known as
choreography to characterize and to compose
service-oriented business collaborations based
on ordered message exchanges between peer
entities in order to achieve a common business
goal
An Illustrated Example
(Notional)
Service Reachability Model
Visibility Model
Awareness Model
Description and
Willingness
Policies and Contracts


A Policy is an enforceable constraint
on the behavior and states of
participants and resources that is
adopted by a stakeholder
A Contract is an enforceable
constraint on the behavior and
states of participants and resources
that is agreed to by two or more
participants
Policies and Contracts
Interacting with Services
Message Exchange
Policy Constraints
Its all about constraints
Enforcing Policy
Constraints
Obligation Enforcement is based on audit
Owning SOAs View
Owning SOA-based systems




Focuses on functions required in achieve value
for the enterprise by owning a SOA-based
system
Significantly different challenges to owning other
complex systems -- such as Enterprise suites
Strong limits on the control and authority of any
one party when a system spans multiple
ownership domains
Applicable when multiple internal stakeholders
involved and no simple hierarchy of control and
management
Governance of SOA-based
systems



Governance about how decisions are
made
Management is about how decisions are
realized
Nested – management at one level is
governance at another
How SOA Governance is
Different

SOA governance is organization of services that



promotes their visibility
facilitates interaction among service participants
enforces that the results of service interactions are



those real world effects as described within the service description
constrained by policies and contracts as assembled in the
execution context
SOA governance must specifically account for control
across different ownership domains


All the participants may not be under the jurisdiction of a single
governance authority
Participants must agree to recognize authority of the
Governance Body, operate within the Governance Framework
and through the Governance Processes
What Needs to be
Governed



SOA infrastructure – the “plumbing” that
provides utility functions that enable and
support the use of the service
Service inventory – the requirements on a
service to permit it to be accessed within the
infrastructure
Participant interaction – the consistent
expectations with which all participants are
expected to comply
SOA Governance Model (1)
Motivating Governance
Carrying Out Governance
SOA governance builds off general governance concepts
SOA Governance Model (2)
Carrying Out Governance
Ensuring Governance Compliance
Management
Management of Services rather than simply IT Management
Security

Security Concepts


Trust Model


e.g., Trusted Actions, Trust Domain,
Security Policy Mechanisms
Security Layers


e.g., Confidentiality, ..., Availability
e.g., Network, Transport, Application
Security Threat/Response Model

e.g. Risk analysis and threat mitigation
Security Concepts






Confidentiality – protection of privacy
Integrity – information exchanged has not
been altered
Availability – prevention of denial of
service attacks
Authentication – identification and
credentials
Authorization – approval exchanged of
information, actions, and events
Non-repudation – can not deny action
Where SOA Security is
Different



Flexible and dynamically secure
computing interactions in support of
a computing ecosystem with multiple
governance domains
Greater degree of distributed
mechanisms
Additional auditing and reporting for
regulatory compliance
Trust Model
Trust Domain

Policy-based security must support
multiple trust domains
Centralized Trust Authority
Decentralized Trust
Authority
Policy Mechanisms for
Security
Security Layers


Condensed Open Systems
Interconnection (OSI) Basic
Reference 7-Layer Model
SOA emphasis on trusted application
layer messaging/actions/events
Security Threat/Response
Model

Some common threats to service
interaction



Insider attacks and outsider attacks
Message alteration, message interception,
denial of service, false repudiation
Security Response Model


Involves risk assessment and risk mitigation and
acceptable levels of costs
Example mitigation of common service interaction
threats
Where we are
Been active for nearly two years
Most of the material is in place
100+ page document
Plan to issue first OASIS Public
Review in early May
Emphasis on the relationship
between people and the systems
they live with
www.oasis-open.org
Comments and Questions?
Download