SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Lecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange PatternsLecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange Patternsphanleson
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)WSO2
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureSyed Mustafa
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principlesSanjoy Kumar Roy
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Biniam Asnake
 
Cloud Computing: Hadoop
Cloud Computing: HadoopCloud Computing: Hadoop
Cloud Computing: Hadoopdarugar
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureSandeep Ganji
 
Using Sentinel Policies Across Multiple Terraform Cloud Organizations
Using Sentinel Policies Across Multiple Terraform Cloud OrganizationsUsing Sentinel Policies Across Multiple Terraform Cloud Organizations
Using Sentinel Policies Across Multiple Terraform Cloud OrganizationsMitchell Pronschinske
 
Cloud Security Standards: What to Expect and What to Negotiate V2.0
Cloud Security Standards: What to Expect and What to Negotiate V2.0Cloud Security Standards: What to Expect and What to Negotiate V2.0
Cloud Security Standards: What to Expect and What to Negotiate V2.0Cloud Standards Customer Council
 
Introduction to Microservices Patterns
Introduction to Microservices PatternsIntroduction to Microservices Patterns
Introduction to Microservices PatternsDimosthenis Botsaris
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure callsAshish Kumar
 
Intro to High Performance Computing in the AWS Cloud
Intro to High Performance Computing in the AWS CloudIntro to High Performance Computing in the AWS Cloud
Intro to High Performance Computing in the AWS CloudAmazon Web Services
 

La actualidad más candente (20)

SOA
SOASOA
SOA
 
Lecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange PatternsLecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange Patterns
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
 
SOA Principles : 3.service discoverability
SOA Principles : 3.service discoverabilitySOA Principles : 3.service discoverability
SOA Principles : 3.service discoverability
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
Building Service Oriented Architecture based applications
Building Service Oriented Architecture based applicationsBuilding Service Oriented Architecture based applications
Building Service Oriented Architecture based applications
 
Cloud Computing: Hadoop
Cloud Computing: HadoopCloud Computing: Hadoop
Cloud Computing: Hadoop
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Comet Cloud
Comet CloudComet Cloud
Comet Cloud
 
Aneka platform
Aneka platformAneka platform
Aneka platform
 
SOA Principles : 4.service loose coupling
SOA Principles : 4.service loose couplingSOA Principles : 4.service loose coupling
SOA Principles : 4.service loose coupling
 
Using Sentinel Policies Across Multiple Terraform Cloud Organizations
Using Sentinel Policies Across Multiple Terraform Cloud OrganizationsUsing Sentinel Policies Across Multiple Terraform Cloud Organizations
Using Sentinel Policies Across Multiple Terraform Cloud Organizations
 
SOA Unit I
SOA Unit ISOA Unit I
SOA Unit I
 
Cloud Security Mechanisms
Cloud Security MechanismsCloud Security Mechanisms
Cloud Security Mechanisms
 
Cloud Security Standards: What to Expect and What to Negotiate V2.0
Cloud Security Standards: What to Expect and What to Negotiate V2.0Cloud Security Standards: What to Expect and What to Negotiate V2.0
Cloud Security Standards: What to Expect and What to Negotiate V2.0
 
Introduction to Microservices Patterns
Introduction to Microservices PatternsIntroduction to Microservices Patterns
Introduction to Microservices Patterns
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
 
Intro to High Performance Computing in the AWS Cloud
Intro to High Performance Computing in the AWS CloudIntro to High Performance Computing in the AWS Cloud
Intro to High Performance Computing in the AWS Cloud
 

Destacado (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 a Principles of Service Orientation

Three layer API Design Architecture
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design ArchitectureHarish Kumar
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureKim Clark
 
Service Oriented Computing
Service Oriented ComputingService Oriented Computing
Service Oriented ComputingAie Sa
 
unit 5 cloud.pptx
unit 5 cloud.pptxunit 5 cloud.pptx
unit 5 cloud.pptxMrPrathapG
 
Service Design Principles and Patterns
Service Design Principles and PatternsService Design Principles and Patterns
Service Design Principles and PatternsReturn on Intelligence
 
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 ArchitectureHarish Kumar
 
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 orientedeSAT Publishing House
 
Soa design pattern
Soa design patternSoa design pattern
Soa design patternLap Doan
 
Unit 5- Cloud Applications.pdf
Unit 5- Cloud Applications.pdfUnit 5- Cloud Applications.pdf
Unit 5- Cloud Applications.pdfMaryJacob24
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Judy Breedlove
 
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 StrategiesOpen Data Center Alliance
 
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
 
CLOUD_COMPUTING_UNIT_2.pdf
CLOUD_COMPUTING_UNIT_2.pdfCLOUD_COMPUTING_UNIT_2.pdf
CLOUD_COMPUTING_UNIT_2.pdfganeshkarthy
 

Similar a 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
 
SOA Principles : 6. service composibility
SOA Principles : 6. service composibilitySOA Principles : 6. service composibility
SOA Principles : 6. service composibility
 
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
 

Más de 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
 

Último

『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationMarko4394
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 

Último (20)

『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentation
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 

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

Notas del editor

  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).