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
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
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
central to just about everything services do.
contracts are also core architectural components of service-oriented solutions
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
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.
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
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
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
Functional expression / service data representation standards
Functional expression / service data representation standards
service data representation standards
Service policies standards
Schema centralization
Tracking-Trace schemas
Functional expression / service data representation demo
خدمات ابشرللمواطنين والمقيمين
خاصة خدمات الجوازات المرور
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
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.