Service OrientedService Oriented
ArchitectureArchitecture
An Introduction and PrinciplesAn Introduction and Principles
Sandesh SharmaSandesh Sharma
prof. Strassmann, 11/19/07 2
Problems Addressed by a SOA
prof. Strassmann, 11/19/07 3
Purpose of Architecture: To Manage
Interdependencies
Suppliers Logistics Parts Financial Outsourcing
Manufacturing Logistics Engineeering Financial Sourcing
Management Engineeering Financing Warranties Marketing
Dealers Parts Logistics Repair Maintenance
Customer Financing Insurance Taxes Maintenance
prof. Strassmann, 11/19/07 4
What is a “Service”?
•A service is
Autonomous unit of automated business logic
• Accessible to other systems
A service represents
Business process
Sub process
Activity (process step)
(or multiple)
prof. Strassmann, 11/19/07 5
What is Service Architecture?
• A collection of services
• classified into types
• arranged into layers
• Governed by architectural
patterns and policies
services
identification
granularity
dependency
type typetype
source:TietoEnator AB,
Kurts Bilder
Chapter 5 6Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Key Concepts for an SOA
Loose coupling
Implementation neutrality
Flexible configurability
Persistence
Granularity
Teams
ASB BLT
HDL
AFT TGI FRY
DRW
SWG
QYD DLY
BST
WIU
ASB
ZISXOI CUI
RMO
DLY
XPS
KYF
KFC
WHR
JIA GEX
FQAVUH
HCO
WKD
ECP
SKD
MFP
WCP
DKEAJT
Big SOA: Analyze the business
ASB BLT
HDL
AFT TGI FRY
DRW
SWG
QYD DLY
BST
WIU
ASB
ZISXOI CUI
RMO
DLY
XPS
KYF
KFC
WHR
JIA GEX
FQAVUH
HCO
WKD
ECP
SKD
MFP
WCP
DKEAJT
Big SOA: Identify Business Areas
COP
Navigation
Protectors
Alerts
Big SOA: Map to software
"Network"
COPCOP
Nav.Nav.
AlertsAlerts
Prot.Prot.
Before SOA – After SOA: Example
source:IBM
Loose Coupling
“Service contracts impose low consumer coupling
requirements and are themselves decoupled from their
surrounding environment."
Create specific types of relationships within and outside
of service boundaries with a constant emphasis on
reducing (“loosening”) dependencies
between
 Service contract
 Service implementation
 Service consumers
Source: Thomas Erl
Standardized Service Contracts
∀ “Services within the same service inventory are in
compliance with the same contract design standards."
∀ Services use service contract to
 Express their purpose
 Express their capabilities
∀ Use formal, standardized service contracts
∀ Focus on the areas of
 Functional expression
 Data representation
 Policy
Source: Thomas Erl
Abstraction
∀ “Service contracts only contain essential
information and information about services is
limited to what is published in service contracts”
∀ Avoid the proliferation of unnecessary service
information, meta-data.
∀ Hide as much of the underlying details of a
service as possible.
 Enables and preserves the loosely coupled
relationships
 Plays a significant role in the positioning and
design of service compositions Source: Thomas Erl
Re-usability
∀ “Services contain and express agnostic logic and
can be positioned as reusable enterprise
resources."
∀ Reusable services have the
following characteristics:
 Defined by an agnostic functional context
 Logic is highly generic
 Has a generic and extensible contract
 Can be accessed concurrently
Source: Thomas Erl
Composability
∀ "Services are effective
composition
participants,
regardless of the size
and complexity of the
composition."
∀ Ensures services are
able to participate in
multiple compositions
to solve multiple larger
problems
Source: Thomas Erl
Autonomy
∀ "Services exercise a high level of control over
their underlying runtime execution environment."
∀ Represents the ability of a service to carry out its
logic independently of outside influences
∀ To achieve this, services must be more isolated
∀ Primary benefits
 Increased reliability
 Behavioral predictability
Source: Thomas Erl
Discoverability
∀ "Services are supplemented with communicative
meta data by which they can be effectively
discovered and interpreted."
∀ Service contracts contain appropriate meta data for
discovery which also communicates purpose and
capabilities to humans
∀ Store meta data in a
service registry or profile
documents
Source: Thomas Erl
Statelessness
∀ "Services minimize resource consumption by
deferring the management of state information
when necessary."
∀ Incorporate state management deferral
extensions within a service design
∀ Goals
 Increase service scalability
 Support design of agnostic logic
and improve service reuse
Source: Thomas Erl
Services and Systems
 A service is a program you interact with via
message exchanges
 A system is a set of deployed services
cooperating in a given task
sd ActiveServ ice
User Journal Subscription System Publisher X
User
«service»
Customer
«service»
Proposals
«service»
Proposals
note that now we are getting all the dicount rates in
one call (less messages) to generate even less traffic
the contracts can be made to include only changes
from timestamp supplied in the request
loop Activ e Class polls external resources
1.0 getCustomerDiscounts
1.1
1.2 getDiscounts
1.3
2.0 ProduceProforma
2.1
thAnks
Sandesh Sharma
Questions
Can be send me at ersandeshsharma[at]gmail.com

Service oriented architecture

  • 1.
    Service OrientedService Oriented ArchitectureArchitecture AnIntroduction and PrinciplesAn Introduction and Principles Sandesh SharmaSandesh Sharma
  • 2.
    prof. Strassmann, 11/19/072 Problems Addressed by a SOA
  • 3.
    prof. Strassmann, 11/19/073 Purpose of Architecture: To Manage Interdependencies Suppliers Logistics Parts Financial Outsourcing Manufacturing Logistics Engineeering Financial Sourcing Management Engineeering Financing Warranties Marketing Dealers Parts Logistics Repair Maintenance Customer Financing Insurance Taxes Maintenance
  • 4.
    prof. Strassmann, 11/19/074 What is a “Service”? •A service is Autonomous unit of automated business logic • Accessible to other systems A service represents Business process Sub process Activity (process step) (or multiple)
  • 5.
    prof. Strassmann, 11/19/075 What is Service Architecture? • A collection of services • classified into types • arranged into layers • Governed by architectural patterns and policies services identification granularity dependency type typetype source:TietoEnator AB, Kurts Bilder
  • 6.
    Chapter 5 6Service-OrientedComputing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Key Concepts for an SOA Loose coupling Implementation neutrality Flexible configurability Persistence Granularity Teams
  • 7.
    ASB BLT HDL AFT TGIFRY DRW SWG QYD DLY BST WIU ASB ZISXOI CUI RMO DLY XPS KYF KFC WHR JIA GEX FQAVUH HCO WKD ECP SKD MFP WCP DKEAJT Big SOA: Analyze the business
  • 8.
    ASB BLT HDL AFT TGIFRY DRW SWG QYD DLY BST WIU ASB ZISXOI CUI RMO DLY XPS KYF KFC WHR JIA GEX FQAVUH HCO WKD ECP SKD MFP WCP DKEAJT Big SOA: Identify Business Areas COP Navigation Protectors Alerts
  • 9.
    Big SOA: Mapto software "Network" COPCOP Nav.Nav. AlertsAlerts Prot.Prot.
  • 10.
    Before SOA –After SOA: Example source:IBM
  • 11.
    Loose Coupling “Service contractsimpose low consumer coupling requirements and are themselves decoupled from their surrounding environment." Create specific types of relationships within and outside of service boundaries with a constant emphasis on reducing (“loosening”) dependencies between  Service contract  Service implementation  Service consumers Source: Thomas Erl
  • 12.
    Standardized Service Contracts ∀“Services within the same service inventory are in compliance with the same contract design standards." ∀ Services use service contract to  Express their purpose  Express their capabilities ∀ Use formal, standardized service contracts ∀ Focus on the areas of  Functional expression  Data representation  Policy Source: Thomas Erl
  • 13.
    Abstraction ∀ “Service contractsonly contain essential information and information about services is limited to what is published in service contracts” ∀ Avoid the proliferation of unnecessary service information, meta-data. ∀ Hide as much of the underlying details of a service as possible.  Enables and preserves the loosely coupled relationships  Plays a significant role in the positioning and design of service compositions Source: Thomas Erl
  • 14.
    Re-usability ∀ “Services containand express agnostic logic and can be positioned as reusable enterprise resources." ∀ Reusable services have the following characteristics:  Defined by an agnostic functional context  Logic is highly generic  Has a generic and extensible contract  Can be accessed concurrently Source: Thomas Erl
  • 15.
    Composability ∀ "Services areeffective composition participants, regardless of the size and complexity of the composition." ∀ Ensures services are able to participate in multiple compositions to solve multiple larger problems Source: Thomas Erl
  • 16.
    Autonomy ∀ "Services exercisea high level of control over their underlying runtime execution environment." ∀ Represents the ability of a service to carry out its logic independently of outside influences ∀ To achieve this, services must be more isolated ∀ Primary benefits  Increased reliability  Behavioral predictability Source: Thomas Erl
  • 17.
    Discoverability ∀ "Services aresupplemented with communicative meta data by which they can be effectively discovered and interpreted." ∀ Service contracts contain appropriate meta data for discovery which also communicates purpose and capabilities to humans ∀ Store meta data in a service registry or profile documents Source: Thomas Erl
  • 18.
    Statelessness ∀ "Services minimizeresource consumption by deferring the management of state information when necessary." ∀ Incorporate state management deferral extensions within a service design ∀ Goals  Increase service scalability  Support design of agnostic logic and improve service reuse Source: Thomas Erl
  • 19.
    Services and Systems A service is a program you interact with via message exchanges  A system is a set of deployed services cooperating in a given task
  • 20.
    sd ActiveServ ice UserJournal Subscription System Publisher X User «service» Customer «service» Proposals «service» Proposals note that now we are getting all the dicount rates in one call (less messages) to generate even less traffic the contracts can be made to include only changes from timestamp supplied in the request loop Activ e Class polls external resources 1.0 getCustomerDiscounts 1.1 1.2 getDiscounts 1.3 2.0 ProduceProforma 2.1
  • 21.
    thAnks Sandesh Sharma Questions Can besend me at ersandeshsharma[at]gmail.com