SlideShare a Scribd company logo
1 of 63
PRINCIPLES 
OF SERVICE 
ORIENTATION 
PROGRAMAÇÃO DE SISTEMAS 
DISTRIBUIDOS 
Paulo Gandra de Sousa 
pag@isep.ipp.pt
Principles of service design 
2 
ISEP/IPP 
 Thomas Erl 
 ISBN: 0132344823 
 http://www.soaprinciples.com/ 
 http://www.soapatterns.org/
3 Service Orientation
Service 
6 
ISEP/IPP 
 Services are : 
 Modules of business. 
 Functionality of application. 
 The service is successful implemented, when : 
 reused. 
 Takes part of compositions
Types of Service 
8 
 Entity Services 
 Utility Services 
 Task Services 
 Orchestrated Task Services
Entity Services 
9 
ISEP/IPP 
 Responsible for processing business logic. 
 Always take part in automation of business 
processes. 
 May need to compose other services to carry 
out its capabilities. 
 Conventions need to extend to data 
representation of business and context 
information delivered by messages to ensure 
steady interoperability.
Utility Services 
10 
ISEP/IPP 
 Cross-cutting functionality 
 Typicaly not business logic related 
 Sometimes intentionally designed to violate 
Service principles
Task Services 
11 
ISEP/IPP 
 Task-centric services have a functional scope 
centered around a business process. 
 Positioned as composition controllers, and for 
significantly sized compositions. 
 Can be needed to defer context data in order 
to alternate between stateful and stateless 
conditions.
Orchestrated Task Services 
12 
ISEP/IPP 
 Manage an activity during its entire lifespan. 
 Fully expected to remain stateful. 
 If the duration of process inactivity exceeds a 
certain timeout period, state data is stored in a 
database until it is needed to be revived.
13 Granularity
Service Granularity 
14 
ISEP/IPP 
 the overall quantity of functionality 
encapsulated by a service.
Capability Granularity 
15 
ISEP/IPP 
 The quantity of functionality encapsulated by a 
specific service capability
Data Granularity 
16 
ISEP/IPP 
 the quantity of data exchanged by a specific 
service capability
Constraint Granularity 
17 
ISEP/IPP
18 The 4 tenets of SOA
The four tennets of SOA 
19 
ISEP/IPP 
 Boundaries are explicit 
 Share schema and contract not types 
 Policy define service compatibility 
 Services are autonomous
Boundaries are explicit 
20 
ISEP/IPP 
 Service boundaries are explicit and the cost of 
crossing a boundary is “known” 
 A boundary is the border between the service 
public interface and its internal implementation 
 Services interact intentionaly and explicitly by 
exchanging messages
Share schema and contract not 
types 
21 
ISEP/IPP 
 Services expose schemas defining data 
structures and contracts defining available 
operations 
 Contracts and schema may be independently 
versioned over time
Policy define service 
compatibility 22 
ISEP/IPP 
 Policy is the statement of communication 
requirements necessary for service interaction 
 Service capabilities and requirements are 
expressed in terms of a policy expression 
 A policy can contain multiple assertions
Services are autonomous 
23 
ISEP/IPP 
 Services are independently deployed, 
versioned and managed 
 Topology of a system evolves over time 
 Unlike OO, services do not share behavior 
 Services gracefully handle failure
Principles of Service Orientation 
24 
 Standardized Contracts 
 Abstraction 
 Reusability 
 Autonomy 
 Autonomy 
 Coupling 
 Statelessness
25 Standardized Contracts
Standardized Contracts 
26 
ISEP/IPP 
 Services within the same service inventory are 
in compliance with the same contract design 
standards 
 Contract-first design 
 Transfromation avoidance
Contract-First Design 
27 
ISEP/IPP
Avoid Transformation 
 A fundamental goal 
of this design 
principle is 
transformation 
avoidance through 
the standardization 
of data 
representation 
across service 
contracts. 
28 
ISEP/IPP
29 Service Loose Coupling
Loose Coupling 
30 
ISEP/IPP 
 Service contracts impose low consumer 
coupling requirements and are themselves 
decoupled from their surrounding environment
Service contract coupling 
31 
ISEP/IPP
Service contract coupling 
 Logic-to-Contract 
Coupling 
 Contract-to-Logic 
Coupling 
 Contract-to-Technology 
Coupling 
 Contract-to- 
Implementation Coupling 
 Contract-to-Functional 
Coupling 
32 
ISEP/IPP
Consumer coupling 
33 
ISEP/IPP 
 Consumer-to-Contract Coupling 
 Consumer-to-Implementation Coupling
Consumer coupling 
 Ultimately, undesirable 
forms of coupling can 
proliferated to the 
consumer. 
34 
ISEP/IPP
35 Service Abstraction
Service Abstraction 
36 
ISEP/IPP 
 Service contracts only contain essential 
information and information about services is 
limited to what is published in service 
contracts
Hiding details 
 Hide as much as 
possible 
 “hidden 
composition” issue 
 service consumer 
are unaware that the 
service they are 
invoking 
encapsulates an 
entire composition. 
37 
ISEP/IPP
38 Service Reusability
Service Reusability 
39 
ISEP/IPP 
 Services contain and express agnostic logic 
and can be positioned as reusable enterprise 
resources.
40 Service Autonomy
Service Autonomy 
41 
 Services exercise a high level of control over 
their underlying runtime execution 
environment 
 Services are independent to dominate there 
own code executions. 
 Take decisions independently of the external 
influences or involvement. 
 The objective is to: 
 increase reliability and behavioural predictability 
 increase reuse and composition of the service
Runtime Autonomy 
42 
ISEP/IPP 
 the degree of control that a service has over is 
own processes invocations and executions. 
 It affects: 
 Service execution performance; 
 Service degree of isolation, reliability and 
security; 
 The prediction of how a service will act;
Design-Time Autonomy 
43 
ISEP/IPP 
 the degree of freedom that a service owner 
has to change the design or architecture, of his 
service, over the time. 
 It helps on: 
 The scalability of the service; 
 The update of the “service´s hosting 
environment”; 
 The update or replace the technology used by the 
service; 
 The performance of the Runtime Autonomy;
Service Contract Autonomy 
 represents 
independency of the 
service contract from 
the code. 
 The code behavior 
can change but it´s 
signature on the 
contract can not. 
 To help create this, 
the service contract 
and code need to be 
normalized. 
45 
ISEP/IPP
Shared Autonomy 
 the way in which the 
other components 
access and compete 
for resources of a 
service with low or 
non-existing 
autonomy. 
46 
ISEP/IPP
Service Logic Autonomy 
 A.k.a. partially isolated 
services 
 Represents how 
isolated and 
independents services 
that use the same 
resources (databases, 
directories, etc) work 
with each other. 
 Issues associated: 
 Difficult to implement 
scalability; 
 Increases slow Runtime 
and unpredictable 
behavior 
47 
ISEP/IPP
Pure Autonomy (full isolation) 
48 
ISEP/IPP 
 represents the full isolation of the entire 
service that has the control of is own “internal” 
Runtime. 
 It has 3 types of isolation: 
 Functional Isolation – The services are separated, 
but are hosted in the same server with the same 
Runtime; 
 Absolute Isolation – The services are separated 
physically. Each has its server and Runtime; 
 Isolated Services at Design-Time – Pure 
Autonomy gives complete control on the service 
design, hosting environments and scalability.
Pure Autonomy 
 Functional isolation  Absolute Isolation 
49 
ISEP/IPP
50 Service Statelessness
Statelessness 
51 
 Services minimize resource consumption by 
deferring the management of state information 
when necessary
Non-Deferred State 
Management 52 
ISEP/IPP 
 Low-to-no statelessness. 
 Remain active and stateful for continuous 
periods. 
 Does not require an external state deferral 
extension
Partially Deferred Memory 
53 
ISEP/IPP 
 Reduced statefulness. 
 Generic model of a Web Server. 
 The service continues active while retaining 
some state data.
Partial Deferral State 
Management 54 
ISEP/IPP 
 Moderate statelessness. 
 Takes advantage of stateless at certain times. 
 Not designed to take advantage of every 
possible opportunity to become stateless.
Internally Deferred State 
Management 
55 
ISEP/IPP 
 High statelessness 
 Maximizes its opportunities to exist in a 
stateless condition. 
 Even when stateful, it defers state data when 
possible.
56 Service Discoverability
Service Discoverability 
 Services are 
supplemented with 
communicative meta 
data by which they 
can be effectively 
discovered and 
interpreted 
57 
ISEP/IPP
58 Service Composibility
Service Composibility 
59 
ISEP/IPP 
 Services are effective composition 
participants, regardless of the size and 
complexity of the composition. 
 the ability to create and provision complex 
value added services from other services 
resulting in composite services.
60 
ISEP/I 
PP
Service Composition 
61 
ISEP/IPP
Creating a composable 
inventory 62 
ISEP/IPP
63 Closings
Service Principles Poster 
64 
ISEP/IPP 
http://serviceorientation.com/static/pdf/SOA_Principles_Poster.pdf
Principles of service design 
65 
ISEP/IPP 
 Thomas Erl 
 ISBN: 0132344823 
 http://www.soaprinciples.com/ 
 http://www.soapatterns.org/
References 
66 
 SOA Principles of Service Design, Thomas Erl. 
 Principles of Service design: service patterns 
and anti-patterns. John Evdemon (2005) 
http://msdn.microsoft.com/en-us/ 
library/ms954638.aspx
PROGRAMAÇÃO DE 
SISTEMAS 
DISTRIBUIDOS 
Paulo Gandra de Sousa 
pag@isep.ipp.pt

More Related Content

What's hot

Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
Robert Sim
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
Sandeep Ganji
 

What's hot (20)

Service oriented architecture
Service oriented  architectureService oriented  architecture
Service oriented architecture
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
Introduction to SOA
Introduction to SOAIntroduction to SOA
Introduction to SOA
 
SOA Princples : 7. service autonomy
SOA Princples : 7. service autonomySOA Princples : 7. service autonomy
SOA Princples : 7. service autonomy
 
SOA Principles : 3.service discoverability
SOA Principles : 3.service discoverabilitySOA Principles : 3.service discoverability
SOA Principles : 3.service discoverability
 
SOA
SOASOA
SOA
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Cloud Computing paradigm
Cloud Computing paradigmCloud Computing paradigm
Cloud Computing paradigm
 
Service Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesService Oriented Architectures and Web Services
Service Oriented Architectures and Web Services
 
Service oriented architecture characteristics of soa
Service oriented architecture characteristics  of soaService oriented architecture characteristics  of soa
Service oriented architecture characteristics of soa
 
Introduction to Service Oriented Architecture
Introduction to Service Oriented ArchitectureIntroduction to Service Oriented Architecture
Introduction to Service Oriented Architecture
 
Publish Subscribe pattern - Design Patterns
Publish Subscribe pattern - Design PatternsPublish Subscribe pattern - Design Patterns
Publish Subscribe pattern - Design Patterns
 
SOA Unit I
SOA Unit ISOA Unit I
SOA Unit I
 
Eucalyptus, Nimbus & OpenNebula
Eucalyptus, Nimbus & OpenNebulaEucalyptus, Nimbus & OpenNebula
Eucalyptus, Nimbus & OpenNebula
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Client server
Client serverClient server
Client server
 
Federated Cloud Computing - The OpenNebula Experience v1.0s
Federated Cloud Computing  - The OpenNebula Experience v1.0sFederated Cloud Computing  - The OpenNebula Experience v1.0s
Federated Cloud Computing - The OpenNebula Experience v1.0s
 
Introduction to Aneka, Aneka Model is explained
Introduction to Aneka, Aneka Model is explainedIntroduction to Aneka, Aneka Model is explained
Introduction to Aneka, Aneka Model is explained
 
ITIL Service Design
ITIL Service DesignITIL Service Design
ITIL Service Design
 
SOA Principles : 6. service composibility
SOA Principles : 6. service composibilitySOA Principles : 6. service composibility
SOA Principles : 6. service composibility
 

Viewers also liked

Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)
Paulo Gandra de Sousa
 

Viewers also liked (15)

REST beyond CRUD
REST beyond CRUDREST beyond CRUD
REST beyond CRUD
 
Lição prova professor coordenador
Lição prova professor coordenadorLição prova professor coordenador
Lição prova professor coordenador
 
Patterns for distributed systems
Patterns for distributed systemsPatterns for distributed systems
Patterns for distributed systems
 
PoEAA by Example
PoEAA by ExamplePoEAA by Example
PoEAA by Example
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration Patterns
 
Design Patterns: From STUPID to SOLID code
Design Patterns: From STUPID to SOLID codeDesign Patterns: From STUPID to SOLID code
Design Patterns: From STUPID to SOLID code
 
Modern web architectural patterns
Modern web architectural patternsModern web architectural patterns
Modern web architectural patterns
 
Rest web services
Rest web servicesRest web services
Rest web services
 
RESTful services Design Lab
RESTful services Design LabRESTful services Design Lab
RESTful services Design Lab
 
Decoupled Communication
Decoupled CommunicationDecoupled Communication
Decoupled Communication
 
Communication
CommunicationCommunication
Communication
 
Benefits of Hypermedia API
Benefits of Hypermedia APIBenefits of Hypermedia API
Benefits of Hypermedia API
 
OO design principles and patterns
OO design principles and patternsOO design principles and patterns
OO design principles and patterns
 
Software Product Lines
Software Product LinesSoftware Product Lines
Software Product Lines
 
Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)
 

Similar to Principles of Service Orientation

Service Oriented Computing
Service Oriented ComputingService Oriented Computing
Service Oriented Computing
Aie Sa
 
Soa design pattern
Soa design patternSoa design pattern
Soa design pattern
Lap Doan
 
Svcc services presentation (Silicon Valley code camp 2011)
Svcc services presentation (Silicon Valley code camp 2011)Svcc services presentation (Silicon Valley code camp 2011)
Svcc services presentation (Silicon Valley code camp 2011)
Jen Wong
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
suks_87
 

Similar to Principles of Service Orientation (20)

Three layer API Design Architecture
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design Architecture
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture
 
Service Oriented Computing
Service Oriented ComputingService Oriented Computing
Service Oriented Computing
 
unit 5 cloud.pptx
unit 5 cloud.pptxunit 5 cloud.pptx
unit 5 cloud.pptx
 
Performance in soa context
Performance in soa contextPerformance in soa context
Performance in soa context
 
Service Design Principles and Patterns
Service Design Principles and PatternsService Design Principles and Patterns
Service Design Principles and Patterns
 
Service oriented architecture 27 May 2014
Service oriented architecture 27 May 2014Service oriented architecture 27 May 2014
Service oriented architecture 27 May 2014
 
2011-ESB-WP-Draft
2011-ESB-WP-Draft2011-ESB-WP-Draft
2011-ESB-WP-Draft
 
MuleSoft Anypoint Platform and Three Tier Architecture
MuleSoft Anypoint  Platform and Three Tier ArchitectureMuleSoft Anypoint  Platform and Three Tier Architecture
MuleSoft Anypoint Platform and Three Tier Architecture
 
Review on “service granularity in service oriented
Review on “service granularity in service orientedReview on “service granularity in service oriented
Review on “service granularity in service oriented
 
Value Proposition for IBM PureFlex System
Value Proposition for IBM PureFlex SystemValue Proposition for IBM PureFlex System
Value Proposition for IBM PureFlex System
 
Soa design pattern
Soa design patternSoa design pattern
Soa design pattern
 
Unit 5- Cloud Applications.pdf
Unit 5- Cloud Applications.pdfUnit 5- Cloud Applications.pdf
Unit 5- Cloud Applications.pdf
 
Ogsi standards
Ogsi standardsOgsi standards
Ogsi standards
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
 
Api enablement-mainframe
Api enablement-mainframeApi enablement-mainframe
Api enablement-mainframe
 
Cloud & Enterprise IT. Hybrid IT, Coexistence Strategies
Cloud & Enterprise IT. Hybrid IT, Coexistence StrategiesCloud & Enterprise IT. Hybrid IT, Coexistence Strategies
Cloud & Enterprise IT. Hybrid IT, Coexistence Strategies
 
Svcc services presentation (Silicon Valley code camp 2011)
Svcc services presentation (Silicon Valley code camp 2011)Svcc services presentation (Silicon Valley code camp 2011)
Svcc services presentation (Silicon Valley code camp 2011)
 
CLOUD_COMPUTING_UNIT_2.pdf
CLOUD_COMPUTING_UNIT_2.pdfCLOUD_COMPUTING_UNIT_2.pdf
CLOUD_COMPUTING_UNIT_2.pdf
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
 

More from Paulo Gandra de Sousa (9)

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Minds-on DDD
Minds-on DDDMinds-on DDD
Minds-on DDD
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Design Patterns: Back to Basics
Design Patterns: Back to BasicsDesign Patterns: Back to Basics
Design Patterns: Back to Basics
 
Hypermedia APIs
Hypermedia APIsHypermedia APIs
Hypermedia APIs
 
Revision control with Mercurial
Revision control with MercurialRevision control with Mercurial
Revision control with Mercurial
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
 
models of distributed computing
models of distributed computingmodels of distributed computing
models of distributed computing
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 

Recently uploaded

Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
imonikaupta
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
sexy call girls service in goa
 

Recently uploaded (20)

(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 

Principles of Service Orientation

  • 1. PRINCIPLES OF SERVICE ORIENTATION PROGRAMAÇÃO DE SISTEMAS DISTRIBUIDOS Paulo Gandra de Sousa pag@isep.ipp.pt
  • 2. Principles of service design 2 ISEP/IPP  Thomas Erl  ISBN: 0132344823  http://www.soaprinciples.com/  http://www.soapatterns.org/
  • 4. Service 6 ISEP/IPP  Services are :  Modules of business.  Functionality of application.  The service is successful implemented, when :  reused.  Takes part of compositions
  • 5. Types of Service 8  Entity Services  Utility Services  Task Services  Orchestrated Task Services
  • 6. Entity Services 9 ISEP/IPP  Responsible for processing business logic.  Always take part in automation of business processes.  May need to compose other services to carry out its capabilities.  Conventions need to extend to data representation of business and context information delivered by messages to ensure steady interoperability.
  • 7. Utility Services 10 ISEP/IPP  Cross-cutting functionality  Typicaly not business logic related  Sometimes intentionally designed to violate Service principles
  • 8. Task Services 11 ISEP/IPP  Task-centric services have a functional scope centered around a business process.  Positioned as composition controllers, and for significantly sized compositions.  Can be needed to defer context data in order to alternate between stateful and stateless conditions.
  • 9. Orchestrated Task Services 12 ISEP/IPP  Manage an activity during its entire lifespan.  Fully expected to remain stateful.  If the duration of process inactivity exceeds a certain timeout period, state data is stored in a database until it is needed to be revived.
  • 11. Service Granularity 14 ISEP/IPP  the overall quantity of functionality encapsulated by a service.
  • 12. Capability Granularity 15 ISEP/IPP  The quantity of functionality encapsulated by a specific service capability
  • 13. Data Granularity 16 ISEP/IPP  the quantity of data exchanged by a specific service capability
  • 15. 18 The 4 tenets of SOA
  • 16. The four tennets of SOA 19 ISEP/IPP  Boundaries are explicit  Share schema and contract not types  Policy define service compatibility  Services are autonomous
  • 17. Boundaries are explicit 20 ISEP/IPP  Service boundaries are explicit and the cost of crossing a boundary is “known”  A boundary is the border between the service public interface and its internal implementation  Services interact intentionaly and explicitly by exchanging messages
  • 18. Share schema and contract not types 21 ISEP/IPP  Services expose schemas defining data structures and contracts defining available operations  Contracts and schema may be independently versioned over time
  • 19. Policy define service compatibility 22 ISEP/IPP  Policy is the statement of communication requirements necessary for service interaction  Service capabilities and requirements are expressed in terms of a policy expression  A policy can contain multiple assertions
  • 20. Services are autonomous 23 ISEP/IPP  Services are independently deployed, versioned and managed  Topology of a system evolves over time  Unlike OO, services do not share behavior  Services gracefully handle failure
  • 21. Principles of Service Orientation 24  Standardized Contracts  Abstraction  Reusability  Autonomy  Autonomy  Coupling  Statelessness
  • 23. Standardized Contracts 26 ISEP/IPP  Services within the same service inventory are in compliance with the same contract design standards  Contract-first design  Transfromation avoidance
  • 25. Avoid Transformation  A fundamental goal of this design principle is transformation avoidance through the standardization of data representation across service contracts. 28 ISEP/IPP
  • 26. 29 Service Loose Coupling
  • 27. Loose Coupling 30 ISEP/IPP  Service contracts impose low consumer coupling requirements and are themselves decoupled from their surrounding environment
  • 29. Service contract coupling  Logic-to-Contract Coupling  Contract-to-Logic Coupling  Contract-to-Technology Coupling  Contract-to- Implementation Coupling  Contract-to-Functional Coupling 32 ISEP/IPP
  • 30. Consumer coupling 33 ISEP/IPP  Consumer-to-Contract Coupling  Consumer-to-Implementation Coupling
  • 31. Consumer coupling  Ultimately, undesirable forms of coupling can proliferated to the consumer. 34 ISEP/IPP
  • 33. Service Abstraction 36 ISEP/IPP  Service contracts only contain essential information and information about services is limited to what is published in service contracts
  • 34. Hiding details  Hide as much as possible  “hidden composition” issue  service consumer are unaware that the service they are invoking encapsulates an entire composition. 37 ISEP/IPP
  • 36. Service Reusability 39 ISEP/IPP  Services contain and express agnostic logic and can be positioned as reusable enterprise resources.
  • 38. Service Autonomy 41  Services exercise a high level of control over their underlying runtime execution environment  Services are independent to dominate there own code executions.  Take decisions independently of the external influences or involvement.  The objective is to:  increase reliability and behavioural predictability  increase reuse and composition of the service
  • 39. Runtime Autonomy 42 ISEP/IPP  the degree of control that a service has over is own processes invocations and executions.  It affects:  Service execution performance;  Service degree of isolation, reliability and security;  The prediction of how a service will act;
  • 40. Design-Time Autonomy 43 ISEP/IPP  the degree of freedom that a service owner has to change the design or architecture, of his service, over the time.  It helps on:  The scalability of the service;  The update of the “service´s hosting environment”;  The update or replace the technology used by the service;  The performance of the Runtime Autonomy;
  • 41. Service Contract Autonomy  represents independency of the service contract from the code.  The code behavior can change but it´s signature on the contract can not.  To help create this, the service contract and code need to be normalized. 45 ISEP/IPP
  • 42. Shared Autonomy  the way in which the other components access and compete for resources of a service with low or non-existing autonomy. 46 ISEP/IPP
  • 43. Service Logic Autonomy  A.k.a. partially isolated services  Represents how isolated and independents services that use the same resources (databases, directories, etc) work with each other.  Issues associated:  Difficult to implement scalability;  Increases slow Runtime and unpredictable behavior 47 ISEP/IPP
  • 44. Pure Autonomy (full isolation) 48 ISEP/IPP  represents the full isolation of the entire service that has the control of is own “internal” Runtime.  It has 3 types of isolation:  Functional Isolation – The services are separated, but are hosted in the same server with the same Runtime;  Absolute Isolation – The services are separated physically. Each has its server and Runtime;  Isolated Services at Design-Time – Pure Autonomy gives complete control on the service design, hosting environments and scalability.
  • 45. Pure Autonomy  Functional isolation  Absolute Isolation 49 ISEP/IPP
  • 47. Statelessness 51  Services minimize resource consumption by deferring the management of state information when necessary
  • 48. Non-Deferred State Management 52 ISEP/IPP  Low-to-no statelessness.  Remain active and stateful for continuous periods.  Does not require an external state deferral extension
  • 49. Partially Deferred Memory 53 ISEP/IPP  Reduced statefulness.  Generic model of a Web Server.  The service continues active while retaining some state data.
  • 50. Partial Deferral State Management 54 ISEP/IPP  Moderate statelessness.  Takes advantage of stateless at certain times.  Not designed to take advantage of every possible opportunity to become stateless.
  • 51. Internally Deferred State Management 55 ISEP/IPP  High statelessness  Maximizes its opportunities to exist in a stateless condition.  Even when stateful, it defers state data when possible.
  • 53. Service Discoverability  Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted 57 ISEP/IPP
  • 55. Service Composibility 59 ISEP/IPP  Services are effective composition participants, regardless of the size and complexity of the composition.  the ability to create and provision complex value added services from other services resulting in composite services.
  • 58. Creating a composable inventory 62 ISEP/IPP
  • 60. Service Principles Poster 64 ISEP/IPP http://serviceorientation.com/static/pdf/SOA_Principles_Poster.pdf
  • 61. Principles of service design 65 ISEP/IPP  Thomas Erl  ISBN: 0132344823  http://www.soaprinciples.com/  http://www.soapatterns.org/
  • 62. References 66  SOA Principles of Service Design, Thomas Erl.  Principles of Service design: service patterns and anti-patterns. John Evdemon (2005) http://msdn.microsoft.com/en-us/ library/ms954638.aspx
  • 63. PROGRAMAÇÃO DE SISTEMAS DISTRIBUIDOS Paulo Gandra de Sousa pag@isep.ipp.pt

Editor's Notes

  1. Autonomy ≠ Independence
  2. Contract first design Centralized policies
  3. Contract first design Centralized policies
  4. Anything that connects has coupling and coupled things can form dependencies on each other.
  5. The primary focus of this principle is on the relationship between the service contract and whatever the service encapsulates.
  6. Ultimately, any undesirable forms of coupling allowed into the service contract design end up being imposed on and proliferated through all consumers of the service.
  7. A service can be active but may not be engaged in the processing of state data. In this idle condition, the service is considered to be Stateless.
  8. (no direct dependency on its surrounding architecture).