Professional Documents
Culture Documents
Service Abstraction
Service Reusability
Service Autonomy
A service contract that is derived from its underlying environment can end up forming negative types of coupling upon
parts of that environment.
the service contract
and any underlying
logic can be
coupled to a parent
business process
service
contract
WSDL
XML
schema
WS
Policy
Service Level
Agreement
(SLA)
the service
logic can be
coupled to
the service
contract
parent
business
process
the service
contract can
be coupled
to the service
logic
the service
logic will be
implemented (and
therefore coupled
to) proprietary
vendor
technology
service contract
service
composition
members
.NET
Step 3:
Process
Claims.wsdl
Security
Policy.xml
Claims.wsdl
Validate
Reports.wsdl
implementation
service
consumers
service
contract
Reports.wsdl
Claims
Detail.xsd
Report
Header.xsd
<definitions>
<types>
...
</types>
Reports
Detail.xsd
<Policy>
<ExactlyOne>
<All>
assertions ...
</All>
<All>
assertions ...
</All>
</ExactlyOne>
...
</Policy>
<message>
<part/>
...
</message>
<portType>
...
</portType>
...
</definitions>
areas
affected
by standardization
service
logic
service
composition
members
<schema>
<element >
<complexType>
<sequence>
<element .../>
<element .../>
<element .../>
</sequence>
</complexType>
</element>
...
...
</schema>
Service consumer
designers may not
be aware of the fact
that the contract their
program is forming a
dependency on is
negatively coupled.
parent
business
process
Claim
Header.xsd
WS
J2EE
the service
logic can be
coupled to
multiple services
it may need to
compose
Proliferation of negative
coupling is undesirable
because it leads to a
fragile and inflexible
service inventory
reminiscent of
past integration
architectures.
vendor
technology
.NET
implementation
WS
J2EE
Proliferation of positive
coupling is desirable so
as to allow service
implementations
to evolve without
impacting service
consumers.
Quality
of
Service
Programmatic
service implementation
and design details
designer of potential
service consumer program
vendor
technology
Step 2:
Claim
Policy.xml
optimized
service contract
Technology
Service
service
logic
Import
Custom design
the Web service
contract.
Functional
service
Step 1:
Access control
procedures can
therefore
become a
requirement
that may
need to be
addressed on an
organizational
level via the
introduction
of new or
modified
processes.
Within service-orientation
reusability represents
a core target design
characteristic that
is tied to the goal
of achieving
repeated ROI for
agnostic services.
Commercial
Product
Vendor
commercial
product
delivery
lifecycle
Traditional
Enterprise
custom
development
project
delivery
lifecycle
Step 1
Step 2
Step 3
...
Step 1
Step 2
Step 3
...
Service A
Service B
stateful
stateful
passive
passive
primary
state
service
delivery
lifecycle
Service A
Service B
Service C
Service A
Service B
Service C
Step 1
Step 2
Step 3
...
open
access
controlled
access
official Invoice
entity service
underlying
service logic
no
access
ProcInv
service owners
Invoice
When combined,
Logic and Contract
Centralization result
service
consumer
in a highly standardized
and normalized service
2
inventory in full support of
maximizing reusability
Contract Centralization
ensures that service
potential and loose
consumers only access
a service via its
consumer coupling.
published service
task
service A
detailed
concise
optimized
it can be reused by
The greatest obstacle to
others in the future.
realizing this principle is usually
associated with overcoming cultural
resistance to these changes.
move in-memory
state data
to database
entity
service B
state
database
dependent
autonomy
dependent
autonomy
utility
service A
Run
Lab Project
Start
entity
service A
utility
service B
by Thomas Erl
www.soabooks.com
www.prenhall.com
www.soasystems.com
www.soaschool.com
www.soamag.com
www.whatissoa.com
www.soaprinciples.com
www.soapatterns.com
www.soaspecs.com
www.soaglossary.com
types of
context data
Functional
preinvocation
The human
searches the
service registry
to locate a service
with the desired
functionality.
begin
pause in
continue
pause in
end
participation
activity
activity
activity
participation
in activity participation participation participation
in activity
Quality
of
Service
service
registry
post
invocation
active
+
stateful
state data
repository
Big Problem A
Small
Problem
Small
Problem
Small
Problem
Small
Problem
Small
Problem
Small
Problem
Small
Problem
Small
Problem
Small
Problem
Small
Problem
Small
Problem
Small
Problem
Small
Problem
Small
Problem
Small
Problem
service
contract
This principle is
primarily concerned
solves Big Problem A
with a services ability
to act as an effective composition member so that it can
support the realization of new business requirements that
can be fulfilled by the assembly of service compositions.
The composability
potential of a
service increases
and becomes
increasingly
important as
more services
become available
within a given
service inventory.
Development
Project # 20
Development
Project # 21
Development
Project # 22
G
L
A
D
W
K
service inventory
contains services
with contracts
that are ideally
discoverable and
interpretable
independently
from the
Service
Consumer
Program
A
Capability A
(6)
(2)
(3)
service
registry
small problems
collectively
represent the
big problem
Small
Problem
service
inventory
discovered
service
Services capable
of addressing
agnostic or
cross-cutting
concerns
can be
repurposed
to solve
multiple
problems.
active
+
stateless
Prentice Hall
Service-Oriented
Computing Series
from Thomas Erl
Technology
Service
the human
owner of
a planned
service consumer
program
high
potential
autonomy
high
types of state
information
primary
state conditions
contract
stateless
stateless
business
Service-Oriented
Enterprise
Programmatic
context
rules
session
service consumer
program designers
context
data
Service Composability
Service C
active
Positioning services as
reusable enterprise
resources relates to
the Logic Centralization
design pattern that dictates
that each reusable service
be the sole access point for
the body of logic
Logic Centralization
ensures that service
it represents.
consumers only have one
service with
redundant
invoice
processing
capabilities
context
context
Service A
Service Discoverability
Service Statelessness
(4)
(5)
(7)
Successful service
composition design
relies on the collective
composability potential
of each composition
member.
service inventory
exists as an
extension of
infrastructure that
supports the
discovery and
interpretation of
services within a
Service B
Service C
Service D
Capability A
Capability B
Capability A
Capability B
Capability A
Capability B