SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

SOA Service Oriented Architecture
SOA Service Oriented ArchitectureSOA Service Oriented Architecture
SOA Service Oriented ArchitectureVinay Rajadhyaksha
 
SLA Agreement, types and Life Cycle
SLA Agreement, types and Life Cycle SLA Agreement, types and Life Cycle
SLA Agreement, types and Life Cycle Dr Neelesh Jain
 
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 ArchitectureSandeep Ganji
 
Distributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationDistributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationMNM Jain Engineering College
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systemsSHATHAN
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Biniam Asnake
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed applicationRishikese MR
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureLuqman Shareef
 
Network Virtualization
Network VirtualizationNetwork Virtualization
Network VirtualizationADVA
 
Service level agreement in cloud computing an overview
Service level agreement in cloud computing  an overviewService level agreement in cloud computing  an overview
Service level agreement in cloud computing an overviewDr Neelesh Jain
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Mazhar Ishaq Khokhar
 
IT6801-Service Oriented Architecture
IT6801-Service Oriented ArchitectureIT6801-Service Oriented Architecture
IT6801-Service Oriented ArchitectureMadhu Amarnath
 
Unit 5 testing -software quality assurance
Unit 5  testing -software quality assuranceUnit 5  testing -software quality assurance
Unit 5 testing -software quality assurancegopal10scs185
 

Tendances (20)

SOA Service Oriented Architecture
SOA Service Oriented ArchitectureSOA Service Oriented Architecture
SOA Service Oriented Architecture
 
SLA Agreement, types and Life Cycle
SLA Agreement, types and Life Cycle SLA Agreement, types and Life Cycle
SLA Agreement, types and Life Cycle
 
Introduction to SOA
Introduction to SOAIntroduction to SOA
Introduction to SOA
 
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
 
Distributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationDistributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communication
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systems
 
Distributed System - Security
Distributed System - SecurityDistributed System - Security
Distributed System - Security
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
 
Message oriented middleware
Message oriented middlewareMessage oriented middleware
Message oriented middleware
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Network Virtualization
Network VirtualizationNetwork Virtualization
Network Virtualization
 
Middleware
MiddlewareMiddleware
Middleware
 
Service level agreement in cloud computing an overview
Service level agreement in cloud computing  an overviewService level agreement in cloud computing  an overview
Service level agreement in cloud computing an overview
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
Aneka platform
Aneka platformAneka platform
Aneka platform
 
IT6801-Service Oriented Architecture
IT6801-Service Oriented ArchitectureIT6801-Service Oriented Architecture
IT6801-Service Oriented Architecture
 
Unit 5 testing -software quality assurance
Unit 5  testing -software quality assuranceUnit 5  testing -software quality assurance
Unit 5 testing -software quality assurance
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
 

En vedette (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)
 

Similaire à 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
 

Similaire à 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
 
SOA Principles : 5. service abstraction
SOA Principles : 5. service abstractionSOA Principles : 5. service abstraction
SOA Principles : 5. service abstraction
 
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)
 

Plus 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
 

Dernier

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
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationMarko4394
 
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
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
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
 
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
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
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
 
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
 

Dernier (17)

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
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentation
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
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
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
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
 
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
 
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文凭证书
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
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
 
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
 

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

Notes de l'éditeur

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