You are on page 1of 1

Standardized Service Contract Service Loose Coupling Service Abstraction Service Reusability Service Autonomy Service Statelessness Service

Service Loose Coupling Service Abstraction Service Reusability Service Autonomy Service Statelessness Service Discoverability Service Composability

"Services within the same service inventory are in "Service contracts impose low consumer coupling "Service contracts only contain essential "Services contain and express agnostic logic and "Services are supplemented with communicative meta data
requirements and are themselves decoupled information and information about services is "Services exercise a high level of control over "Services minimize resource consumption by deferring "Services are effective composition participants, regardless
compliance with the same contract design standards." can be positioned as reusable enterprise resources." their underlying runtime execution environment." the management of state information when necessary." by which they can be effectively discovered and interpreted." of the size and complexity of the composition."
from their surrounding environment." limited to what is published in service contracts."

When a service is implemented as a Web service, the service A service contract that is derived from its underlying environ- When determining what Within service-orientation Commercial
Product Traditional The more control a service has over its underlying runtime Depending on the nature of its logic and its role within a Of the four service meta Service-orientation is a design paradigm with a distinct
contract can be comprised of a WSDL definition and multiple ment can end up forming negative types of coupling upon information about a service reusability represents Vendor Enterprise implementation, the more predictable its runtime behavior composition, a service may need to transition through information types functional approach to carrying out a separation of concerns.
XML schema and policy definitions, as well as supplementary parts of that environment. should be abstracted, it is Functional Technology
a core target design custom will be. Reducing shared access to service resources and different states and may need to manage different types and quality of service data Functional Technology
documents, such as an SLA. the service contract
and any underlying helpful to categorize service characteristic that commercial
product
Step 1
Step 2
development
project
Step 1
Step 2 increasing physical isolation can raise a service's ability to and amounts of state data. are most relevant when Services capable
logic can be meta data into distinct categories. is tied to the goal delivery
lifecycle
Step 3
...
delivery
lifecycle
Step 3
... function autonomously. focusing on a services of addressing Big Problem A
coupled to a parent
business process if the service contract Service of achieving communications quality Service agnostic or
is coupled to the service logic,
it can assume logic-related
The application of this principle repeated ROI for context
data
for discoverability and cross-cutting
service
contract coupling characteristics can affect the abstraction of agnostic services. context
context interpretability purposes. concerns
each of these meta information Quality Quality
can be
Service A
Service A Service B Service C
Programmatic of Programmatic of
context
types differently. Service This principle combines session rules
Service repurposed Small Small Small Small
techniques from tradi- The application of this to solve
commercial products for mass custom applications for specific
markets and with enterprise users and with stateful
stateful Problem Problem Problem Problem small problems
collectively
tional commercial principle supports a multiple
WSDL XML WS high reuse potential little-to-no reuse potential
Service Level the service the service the service business represent the
schema Policy Agreement logic can be contract can big problem
(SLA) coupled to be coupled
logic will be
implemented (and product design with active stateless
stateless standardized process of problems. Small
Problem
Small
Problem
Small
Problem
Small
Problem

technical Web service contract


parent the service
contract
to the service
logic
therefore coupled traditional enterprise service discovery and inerpretation within an organization
business
process
to) proprietary
vendor
optimized
service contract
service implementation
and design details
This principle advocates project delivery. passive
passive through the use of a service registry as the central
technology the deliberate hiding of repository of service meta data.
service contract service service meta data so that Small Small Small Small Small Small Small Small
a minimal amount of infor- Positioning services as
primary primary types of state types of Problem Problem Problem Problem Problem Problem Problem Problem

This principle preaches a contract first approach to service mation about a service
state state conditions information context data
1
delivery, whereby contracts are custom-developed (prior to
service
reusable enterprise contains meta information
logic
is accessible to the resources relates to
Service-Oriented
State data management consumes system resources and about each service in the
the development of the service logic) according to design outside world.
Enterprise Service A Service B Service C Service A Service B Service C
The human
the Logic Centralization can result in a significant resource burden when multiple service inventory as well as A B C D E F G H
standards that apply to all services within a given service service WS searches the a pointer to each service
inventory.
composition
members
.NET
J2EE design pattern that dictates service
delivery
Step 1
Step 2 instances of services are service registry contract
units of solution logic
designer of potential
service consumer program that each reusable service lifecycle Step 3
... concurrently invoked, to locate a service
with the desired
service
registry
service that each address (solve)
vendor be the sole access point for especially with agnostic functionality.
inventory a small problem

Import
technology
the body of logic Logic Centralization services that are involved
Access control design specifications, source code, etc. it represents. ensures that service
consumers only have one
in the automation of
procedures can access point for any multiple business This requires an effective C

Step 1: Step 2: Step 3:


the service
logic can be
the service logic may be
coupled to various resources therefore
given body of logic
processes. means of decomposing to solve the big problem,
coupled to that are part of the overall
become a
1 solution logic and the units are assembled
into a specific configuration
Therefore, the temporary repeatedly
service inventory for
multiple services implementation environment service with
Custom design Import the Web Build the underlying
it may need to requirement redundant
a specific enterprise with
The autonomy of individual services is especially important
A F that allows them to carry
the Web service service contract into solution logic in compose that may invoice ProcInv
high reuse potential
delegation and deferral recomposing it out their solution logic
in a coordinated
contract. a development support of the
implementation need to be
processing
capabilities to the effectiveness of service compositions. Because a of state management to solve new manner
environment. pre-defined Web
service contract. addressed on an service composing another automatically loses autonomy, can increase service the human discovered problems. B E D G H
Logic-to-contract coupling is considered a positive form of organizational When combined, the level of autonomy a composition controller can attain scalability and support owner of service

Standardized policies and schemas can be centralized so coupling because it represents the independent creation of a level via the
service owners
Logic and Contract is often limited to the collective autonomy levels of its a wider range of reuse
a planned
service consumer This principle is
that one definition represents an official set of policy contract that is decoupled from the service environment. introduction service consumer official Invoice service Centralization result composition members. and recomposition over program primarily concerned
assertions or complex types that can be referenced by of new or
program designers entity service Invoice consumer in a highly standardized time. 2 Based on the registry with a services ability
solves Big Problem A

multiple WSDL definitions. Service consumer modified and normalized service typical
autonomy
task records level of to act as an effective composition member so that it can
programs are required Service consumer processes.
2 inventory in full support of level
service A
State data is commonly discoverability and
support the realization of new business requirements that
The centralization of service to couple themselves to designers may not Contract Centralization maximizing reusability low state data
deferred at runtime allowing interpretability, the
human is able to can be fulfilled by the assembly of service compositions.
potential and loose
in memory
contract documents is itself a services contract. As a service
be aware of the fact open controlled no underlying
ensures that service
consumers only access a service to remain active discover and identify
a contract-related design result, they inherit whatever
consumers
that the contract their
access access access service logic a service via its
published service
consumer coupling. and stateless while other 3 The human can then retrieve
a service potentially
capable of fulfilling
Claim Security standard. forms of negative or program is forming a contract move in-memory
state data
processing occurs. the corresponding service its requirements. The composability
Policy.xml Policy.xml positive coupling that dependency on is The application of this principle can effectively turn a service to database contract. Based on its level
of interpretability, the human
potential of a Development
G

reside within the service negatively coupled. into a black box where the only information made available
Run
Lab Project
Formulas can choose or rule out this service service increases Project # 20 L P Z A B C D E

contract. about the service is what is published in its contract (which service. If the service does not contract
and becomes
Project delivery processes typically need
F G H I J
increasingly
Start have the necessary capabilities,
This can lead to various may encompass what is also published in a service registry).
AddBase A
entity entity Development
but still provides a suitable
to be changed as a result of the
Get

forms of indirect or service A service B Simulate functional context, it can be important as Project # 21
D Q R K L M N O

unintentional coupling. Therefore, the content of consistent incorporation of this Our project team is
required to automate
state
database A key goal of this
identified as the location to which to more services P Q R S T

the service contract itself principle so as to We will not build new


invoice processing a new business
dependent
active and stateless add the required functionality (as an
extension to the service).principle is to enable become available Development W

Process Validate
service Proliferation of negative is a primary focal point for ensure that Logic logic because we are
required to use the
process that involves
invoicing functionality autonomy
a wide range of project within a given Project # 22 K R S
U V W X Y

Claims.wsdl
Claims.wsdl
Reports.wsdl
Reports.wsdl contract
coupling is undesirable which different abstraction Centralization existing Invoice that already exists
within the team members to effectively carry out the discovery process service inventory. service inventory
because it leads to a levels exist. is always service.
Invoice service.
There are different levels of and not to limit it to those with technical expertise.
fragile and inflexible detailed concise optimized respected and dependent statelessness a service design
service inventory that reuse autonomy
can achieve, depending on the A key aspect of this principle and service compositions in
parent reminiscent of potential of We will search the frequency of state deferral and the quantity of state data Both service contracts and records general is that individual concerns are, in fact, solved by
business
past integration agnostic services existing inventory to
confirm that no one utility utility being deferred. These levels are usually specific to each within a service registry contain meta service capabilities because it is the capabilities that are
process
architectures.
A B is maximized. service already provides
Our project team is
required to automate
service A service B
service capability. information with discoverability and
contains services
with contracts
composed within a
Claim Claims Report Reports
this logic. We will then
build a PO service so that
a PO processing
task for which high interpretability characteristics. that are ideally Service A service composition.
The greatest obstacle to discoverable and (1)
Header.xsd Detail.xsd Header.xsd Detail.xsd it can be reused by solution logic potential
Service
vendor begin pause in continue pause in end interpretable
As a result of this principle, others in the future. Consumer
service Capability A
logic technology realizing this principle is usually does not yet exist. autonomy pre- participation activity activity activity participation post
Much of this information independently Program (6)
service consumer program invocation invocation A
in activity participation participation participation in activity
associated with overcoming cultural relates to and originates from the
Successful service
service designers may be unaware resistance to these changes. high from the service profile
composition .NET
WS
that a service is composing active composition design
Contract design standards members J2EE
+ document that may have (2)
relies on the collective
others. G K
<Policy>

can affect and shape


<ExactlyOne>
<All> Chapter 9: Service Reusability Chapter 10: Service Autonomy stateful
been created and composability potential
(Commercial and Agnostic Design) (Processing Boundaries and Control)
assertions ...

maintained since the


</All> (3) (4) (5) (7)
many element <All>

This principle relates This places a great deal of of each composition


service was first
assertions ...

definitions and the member.


</All>

emphasis on the reliability active


</ExactlyOne>

to the Contract Proliferation of positive


<definitions>

conceptualized during
<schema>
<types> ...
<element > service
overall structure of
SOA: Principles of Service Design
... </Policy>
<complexType> +
</types> <sequence>
Centralization pattern coupling is desirable so and the predictability of a stateless
the service modeling
registry service inventory
WSDL, XML schema,
<element .../>

service, regardless of what


<message> <element .../>

which dictates that as to allow service phase (see Chapter 15


<part/> <element .../>

and policy definition


... </sequence> Service B Service C Service D
exists as an
it may be encapsulting
</message> </complexType>

documents.
<portType>
</element>
... the service contract implementations by Thomas Erl and Appendix B). extension of
be the sole means of to evolve without (which also raises issues as X T state data infrastructure that Capability A Capability A Capability A
... ...
</portType>

www.soabooks.com www.whatissoa.com
</schema>
repository Capability B Capability B Capability B
...
supports the
</definitions>
areas accessing service impacting service to what should be published Prentice Hall discovery and
affected
within service SLAs). www.prenhall.com www.soaprinciples.com
by standardization logic and resources. implementation consumers. Copyright 2008 SOA Systems Inc. www.soasystems.com www.soapatterns.com Service-Oriented
interpretation of
services within a

ISBN: 0132344823, Prentice Hall www.soaschool.com www.soaspecs.com Computing Series


Chapter 6: Service Contracts Chapter 7: Service Coupling Chapter 8: Service Abstraction from Thomas Erl Chapter 11: Service Statelessness Chapter 12: Service Discoverability Chapter 13: Service Composability
(Standardization and Design) (Intra-Service and Consumer Dependencies) (Information Hiding and Meta Abstraction Types) (purchase this poster at www.soaposters.com) www.soamag.com www.soaglossary.com (State Management Deferral and Stateless Design) (Interpretability and Communication) (Composition Member Design and Complex Compositions)

You might also like