SlideShare a Scribd company logo
1 of 34
Principles OF
SOAFrom knowledge
To practice
SUBMITTED BY : MOHAMED ZAKARYA
AGENDA
 Service orientation principles
 Standardized Service Contract
 Service Reusability
 Service Discoverability
 Service Composability
 Service Loose Coupling
 Service Abstraction
 Service Autonomy
 Service Statelessness
 Thanks 
PART 1
SERVICE ORIENTATION
PRINCIPLES
DAY1 TERMS REVIEW
SERVICE ORIENTATION PRINCIPLES
Standardized
Service
Contract
Service
Reusability
Service
Composability
Service
Autonomy
Service
Loose
Coupling
Service
Statelessness
Service
Abstraction
Service
Discoverability
SERVICE ORIENTATION PRINCIPLES
Service Reusability
Service contain agnostic logic that can be position as reusable enterprise resource.
Standardized Service Contract
Service in same inventory are in compliance of same design service contract standards.
Service Composition
Services are effective composition participants.
Service Discoverability
Service meta data available for discoverability and interpreted.
Service Loose Coupling
Contract decoupled from surrounding environment.
Service Autonomy
Services exercise a high level of control over their underlying runtime execution environment.
Service Statelessness
Services minimize resource consumption , reduce state information.
Service Abstraction
Contract contains only essential information , that is published to consumers.
PART 1
STANDARDIZED
SERVICE
CONTRACT
INTRODUCTION
Fundamental role of this principle is
To ensure the consistent expression of service capabilities and the overall purpose of
the service as defined by the parent service context
Standardized Service Contract
Service in same inventory are in compliance of same design service contract standards.
TECHNICAL WEB SERVICE CONTRACT
Group of service description documents, each of which describes a part of the service.
For example A Web service contract can be comprised of the following service description
documents:
 WSDL definition
 XML schema definition
 WS-Policy description
SOA MUST SATISFY SLA
A service-level agreement (SLA) is a formal contract between a service provider
and a consumer that focus on :
 Service availability
 Performance
 Traffic levels
 Messages / queries per hour / minute / second
 Response time
 Rejected transactions
 Errors
ORIGIN OF SERVICE CONTRACT
Interactions between two standalone software programs are based on exchange information
between the programs that predefined by a formal , technical specification.
This is what is expressed in a technical contract
ABOUT THE PRINCIPLE
Title
Services share standardized contract
Description
Service in same inventory are in compliance of same design service contract standards.
Goals
Natural
interoperability
Reduce data
transformation
increases
interpretability
Implementation requirements
Design standards need to take place before delivery of any service ( ensure standardization)
Achieving standardized web service contract , requires “contract first” approach
EXAMPLE : REDUCE DATA TRANSFORMATION GOAL
EXAMPLE : REDUCE DATA TRANSFORMATION GOAL
TYPES OF SERVICE CONTRACT STANDARDIZATION
Functional
Expression
Data
Representation
Service
Policy
1. STANDARDIZATION OF FUNCTIONAL SERVICE EXPRESSION
Listing #1
Listing #2
seem very specific to this operation.
More generic naming conventions
and generic data type references.
Apply functional expression standards
2. STANDARDIZATION OF SERVICE DATA REPRESENTATION
3. STANDARDIZATION OF SERVICE POLICIES
FUNCTION EXPRESSION / DATA REPRESENTATION STANDARD
FUNCTIONAL EXPRESSION / SERVICE DATA REPRESENTATION DEMO
Team work Absher demo
CONTRACT FIRST APPROACH DEMO
Using contract first tool
UNIFORM CONTRACT
Uniform Contract is the name of a candidate design pattern (REST-inspired pattern)
How can services share a common and standardized contract?
UNIFORM CONTRACT ELEMENTS
1. Resource identifier syntax : How can we express where is the data being transferred to or from?
2. Methods : What are the protocol mechanisms used to transfer the data?
3. Media types : What type of data is being transferred?
1. RESOURCE IDENTIFIER SYNTAX
How can we express where is the data being transferred to or from?
• standardizes the syntax used to express resource identifiers
• Resource identifiers are generally specific to a REST service
• The generic syntax for URIs is as follows:
{scheme}://{authority}{path}?{query}
http://invoices.example.com/invoices?total-less-than=100USD#page2
2. METHODS
What are the protocol mechanisms used to transfer the data?
Methods are usually not
specific to one rest service
Ex:
GET /customer?ID=C081 HTTP/1.1
2. METHODS EXAMPLE
3. MEDIA TYPE
 specify the types of data a given method can process
 A media type can therefore be generic and based on a pre-defined industry
media type (such as XML and JPG)
 Ex : application/vnd.com.example.invoice+xml
What type of data is being transferred?
REST SERVICE CONTRACT / REST SERVICE CAPABILITY
REST service capability
Can be considered a combination of a uniform contact method and resource identifier
REST service contract
Establishes a functional context that encapsulates one or more REST service capabilities associated
with the functional context
Non Rest service contract VS rest service contract
SAMPLE EXAM QUESTIONS
Q1 : The design principle most associated with an approach whereby the technical
interface or contract of a service is designed prior to its underlying logic is: Select
the correct answer.
A. Service Autonomy
B. Service Reusability
C. Service Composability
D. Standardized Service Contract
Answer : D
SAMPLE EXAM QUESTIONS
Q2: Fill in the blank for the following definition for the Standardized Service
Contract design principle:
"Services within the same ___________are in compliance with the same contract
design standards." Select the correct answer.
A. service activity
B. service inventory
C. state
D. message path
Answer : B
SAMPLE EXAM QUESTIONS
Q3 : Which of the following statements does not make sense? Select the correct answer.
A. By applying the Standardized Service Contract principle, the amount of data model
transformation logic required by my solution has been reduced.
B. By applying the Standardized Service Contract principle, the amount of data model
transformation logic required by my solution has been increased.
C. It is thanks to the Standardized Service Contract principle that we have been able to
better isolate our services so as to reduce their dependency on shared databases.
D. Since the design standards created in support of the Standardized Service Contract
principle have been more widely enforced, I've noticed the same data models being
shared by more services.
Answer : B,C
REFERENCES
http://www.soaschool.com/
http://serviceorientation.com/index.php/soaglossary/index
http://soapatterns.org/
http://www.servicetechmag.com/
http://www.soaschool.com/certifications
http://www.servicetechbooks.com/
ANY QUESTIONS
THANKS
ENJOY SOA .. WAIT FOR NEXT
MAIL: ENG.MOHAMEDZAKARYA@GMAIL.COM

More Related Content

More from Mohamed Zakarya Abdelgawad

ITIL 4 Strategist Direct, Plan and Improve (DPI)
ITIL 4 Strategist Direct, Plan and Improve (DPI)ITIL 4 Strategist Direct, Plan and Improve (DPI)
ITIL 4 Strategist Direct, Plan and Improve (DPI)Mohamed Zakarya Abdelgawad
 
Architecture thinking w002 - Business Strategy Intro
Architecture thinking w002 - Business Strategy IntroArchitecture thinking w002 - Business Strategy Intro
Architecture thinking w002 - Business Strategy IntroMohamed Zakarya Abdelgawad
 
IT4IT - The Full Story for Digital Transformation - Part 2
IT4IT - The Full Story for Digital Transformation - Part 2IT4IT - The Full Story for Digital Transformation - Part 2
IT4IT - The Full Story for Digital Transformation - Part 2Mohamed Zakarya Abdelgawad
 
IT4IT - The Full Story for Digital Transformation - Part 1
IT4IT - The Full Story for Digital Transformation - Part 1IT4IT - The Full Story for Digital Transformation - Part 1
IT4IT - The Full Story for Digital Transformation - Part 1Mohamed Zakarya Abdelgawad
 

More from Mohamed Zakarya Abdelgawad (20)

Digital Practitioner Capability Context
Digital Practitioner Capability ContextDigital Practitioner Capability Context
Digital Practitioner Capability Context
 
DPBOK Foundation
DPBOK FoundationDPBOK Foundation
DPBOK Foundation
 
Certified Microservice Archtiect
Certified Microservice ArchtiectCertified Microservice Archtiect
Certified Microservice Archtiect
 
Certified Business Architect
Certified Business ArchitectCertified Business Architect
Certified Business Architect
 
ITIL 4 Strategist Direct, Plan and Improve (DPI)
ITIL 4 Strategist Direct, Plan and Improve (DPI)ITIL 4 Strategist Direct, Plan and Improve (DPI)
ITIL 4 Strategist Direct, Plan and Improve (DPI)
 
Architecture thinking w002 - Business Strategy Intro
Architecture thinking w002 - Business Strategy IntroArchitecture thinking w002 - Business Strategy Intro
Architecture thinking w002 - Business Strategy Intro
 
Architecture thinking w001
Architecture thinking w001Architecture thinking w001
Architecture thinking w001
 
Business Architecture Foundations
Business Architecture FoundationsBusiness Architecture Foundations
Business Architecture Foundations
 
Togaf 9.2 Introduction
Togaf 9.2 IntroductionTogaf 9.2 Introduction
Togaf 9.2 Introduction
 
Discover Your IT Career Path
Discover Your IT Career PathDiscover Your IT Career Path
Discover Your IT Career Path
 
ITIL V4 Foundation
ITIL V4 FoundationITIL V4 Foundation
ITIL V4 Foundation
 
SOA foundation - Generation 2
SOA foundation - Generation 2SOA foundation - Generation 2
SOA foundation - Generation 2
 
SOA Architect - Generation 2
SOA Architect - Generation 2SOA Architect - Generation 2
SOA Architect - Generation 2
 
IT4IT - The Full Story for Digital Transformation - Part 2
IT4IT - The Full Story for Digital Transformation - Part 2IT4IT - The Full Story for Digital Transformation - Part 2
IT4IT - The Full Story for Digital Transformation - Part 2
 
IT4IT - The Full Story for Digital Transformation - Part 1
IT4IT - The Full Story for Digital Transformation - Part 1IT4IT - The Full Story for Digital Transformation - Part 1
IT4IT - The Full Story for Digital Transformation - Part 1
 
IT4IT Foundation Certified
IT4IT Foundation CertifiedIT4IT Foundation Certified
IT4IT Foundation Certified
 
BPMN on One Page
BPMN on One PageBPMN on One Page
BPMN on One Page
 
SOA Next Generation V1.1
SOA Next Generation V1.1SOA Next Generation V1.1
SOA Next Generation V1.1
 
Ea games (chess lego) bundle edition
Ea games (chess   lego) bundle editionEa games (chess   lego) bundle edition
Ea games (chess lego) bundle edition
 
Archimate 3.0 Practitioner Certified
Archimate 3.0 Practitioner CertifiedArchimate 3.0 Practitioner Certified
Archimate 3.0 Practitioner Certified
 

Recently uploaded

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseWSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxFIDO Alliance
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxFIDO Alliance
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Paige Cruz
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctBrainSell Technologies
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 

Recently uploaded (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 

SOA PRINCIPLES : 1. Standarized Service Contract

  • 1. Principles OF SOAFrom knowledge To practice SUBMITTED BY : MOHAMED ZAKARYA
  • 2. AGENDA  Service orientation principles  Standardized Service Contract  Service Reusability  Service Discoverability  Service Composability  Service Loose Coupling  Service Abstraction  Service Autonomy  Service Statelessness  Thanks 
  • 6. SERVICE ORIENTATION PRINCIPLES Service Reusability Service contain agnostic logic that can be position as reusable enterprise resource. Standardized Service Contract Service in same inventory are in compliance of same design service contract standards. Service Composition Services are effective composition participants. Service Discoverability Service meta data available for discoverability and interpreted. Service Loose Coupling Contract decoupled from surrounding environment. Service Autonomy Services exercise a high level of control over their underlying runtime execution environment. Service Statelessness Services minimize resource consumption , reduce state information. Service Abstraction Contract contains only essential information , that is published to consumers.
  • 8. INTRODUCTION Fundamental role of this principle is To ensure the consistent expression of service capabilities and the overall purpose of the service as defined by the parent service context Standardized Service Contract Service in same inventory are in compliance of same design service contract standards.
  • 9. TECHNICAL WEB SERVICE CONTRACT Group of service description documents, each of which describes a part of the service. For example A Web service contract can be comprised of the following service description documents:  WSDL definition  XML schema definition  WS-Policy description
  • 10. SOA MUST SATISFY SLA A service-level agreement (SLA) is a formal contract between a service provider and a consumer that focus on :  Service availability  Performance  Traffic levels  Messages / queries per hour / minute / second  Response time  Rejected transactions  Errors
  • 11. ORIGIN OF SERVICE CONTRACT Interactions between two standalone software programs are based on exchange information between the programs that predefined by a formal , technical specification. This is what is expressed in a technical contract
  • 12. ABOUT THE PRINCIPLE Title Services share standardized contract Description Service in same inventory are in compliance of same design service contract standards. Goals Natural interoperability Reduce data transformation increases interpretability Implementation requirements Design standards need to take place before delivery of any service ( ensure standardization) Achieving standardized web service contract , requires “contract first” approach
  • 13. EXAMPLE : REDUCE DATA TRANSFORMATION GOAL
  • 14. EXAMPLE : REDUCE DATA TRANSFORMATION GOAL
  • 15. TYPES OF SERVICE CONTRACT STANDARDIZATION Functional Expression Data Representation Service Policy
  • 16. 1. STANDARDIZATION OF FUNCTIONAL SERVICE EXPRESSION Listing #1 Listing #2 seem very specific to this operation. More generic naming conventions and generic data type references. Apply functional expression standards
  • 17. 2. STANDARDIZATION OF SERVICE DATA REPRESENTATION
  • 18. 3. STANDARDIZATION OF SERVICE POLICIES
  • 19. FUNCTION EXPRESSION / DATA REPRESENTATION STANDARD
  • 20. FUNCTIONAL EXPRESSION / SERVICE DATA REPRESENTATION DEMO Team work Absher demo
  • 21. CONTRACT FIRST APPROACH DEMO Using contract first tool
  • 22. UNIFORM CONTRACT Uniform Contract is the name of a candidate design pattern (REST-inspired pattern) How can services share a common and standardized contract?
  • 23. UNIFORM CONTRACT ELEMENTS 1. Resource identifier syntax : How can we express where is the data being transferred to or from? 2. Methods : What are the protocol mechanisms used to transfer the data? 3. Media types : What type of data is being transferred?
  • 24. 1. RESOURCE IDENTIFIER SYNTAX How can we express where is the data being transferred to or from? • standardizes the syntax used to express resource identifiers • Resource identifiers are generally specific to a REST service • The generic syntax for URIs is as follows: {scheme}://{authority}{path}?{query} http://invoices.example.com/invoices?total-less-than=100USD#page2
  • 25. 2. METHODS What are the protocol mechanisms used to transfer the data? Methods are usually not specific to one rest service Ex: GET /customer?ID=C081 HTTP/1.1
  • 27. 3. MEDIA TYPE  specify the types of data a given method can process  A media type can therefore be generic and based on a pre-defined industry media type (such as XML and JPG)  Ex : application/vnd.com.example.invoice+xml What type of data is being transferred?
  • 28. REST SERVICE CONTRACT / REST SERVICE CAPABILITY REST service capability Can be considered a combination of a uniform contact method and resource identifier REST service contract Establishes a functional context that encapsulates one or more REST service capabilities associated with the functional context Non Rest service contract VS rest service contract
  • 29. SAMPLE EXAM QUESTIONS Q1 : The design principle most associated with an approach whereby the technical interface or contract of a service is designed prior to its underlying logic is: Select the correct answer. A. Service Autonomy B. Service Reusability C. Service Composability D. Standardized Service Contract Answer : D
  • 30. SAMPLE EXAM QUESTIONS Q2: Fill in the blank for the following definition for the Standardized Service Contract design principle: "Services within the same ___________are in compliance with the same contract design standards." Select the correct answer. A. service activity B. service inventory C. state D. message path Answer : B
  • 31. SAMPLE EXAM QUESTIONS Q3 : Which of the following statements does not make sense? Select the correct answer. A. By applying the Standardized Service Contract principle, the amount of data model transformation logic required by my solution has been reduced. B. By applying the Standardized Service Contract principle, the amount of data model transformation logic required by my solution has been increased. C. It is thanks to the Standardized Service Contract principle that we have been able to better isolate our services so as to reduce their dependency on shared databases. D. Since the design standards created in support of the Standardized Service Contract principle have been more widely enforced, I've noticed the same data models being shared by more services. Answer : B,C
  • 34. THANKS ENJOY SOA .. WAIT FOR NEXT MAIL: ENG.MOHAMEDZAKARYA@GMAIL.COM

Editor's Notes

  1. 6 main parts of presentation !
  2. central to just about everything services do. contracts are also core architectural components of service-oriented solutions
  3. Terms of engagement, providing technical constraints and requirements as well as any semantic information the service owner wishes to make public. A service contract is always comprised of one or more technical service descriptions designed for runtime consumption + non technical documents like SLA What : operations How : binding Where : endpoints
  4. technical contract may be comprised of the database protocol and a predefined query syntax or language Each provides a technical interface that can be accessed by any compatible program (API) Consumer components require local representations of the contracts (called proxies) to interact with components located on different servers.
  5. Natural Interoperability Service designed to be naturally compatible, no effort need for integration Reduce data transformation because consistent data models are used for information exchange. purpose and capabilities of services to be more easily and intuitively understood
  6. Demo on contract fist approach using (WSCF tool) Create data schema of employee Create contract schema of employee Generate wsdl schema of employee Generate web service code of employee
  7. Demo on contract fist approach using (WSCF tool) Create data schema of employee Create contract schema of employee Generate wsdl schema of employee Generate web service code of employee
  8. Functional expression / service data representation standards
  9. Functional expression / service data representation standards
  10. service data representation standards
  11. Service policies standards
  12. Schema centralization Tracking-Trace schemas
  13. Functional expression / service data representation demo خدمات ابشر للمواطنين والمقيمين خاصة خدمات الجوازات المرور
  14. Demo on contract fist approach using (WSCF.blue V1.0.13) // xml schema , xml Create data schema of employee Create contract schema of employee Generate wsdl schema of employee Generate web service code of employee
  15. http://serviceorientation.com/soaglossary/uniform_contract
  16. Function provided by a uniform contract to process resource identifiers The uniform contract establishes a set of methods that are expected to be reused by services within a given collection or inventory.