SOA PRINCIPLES : 1. Standarized Service Contract

30
Principles OF SOA From knowledge To practice SUBMITTED BY : MOHAMED ZAKARY

Transcript of SOA PRINCIPLES : 1. Standarized Service Contract

Page 1: SOA PRINCIPLES : 1. Standarized Service Contract

Principles OF

SOA From knowledge To practice

SUBMITTED BY : MOHAMED ZAKARYA

Page 2: SOA PRINCIPLES : 1. Standarized Service Contract

AGENDA

Service orientation principles

Standardized Service Contract Service Reusability Service Discoverability Service Composability Service Loose Coupling Service Abstraction Service Autonomy Service Statelessness Thanks

Page 3: SOA PRINCIPLES : 1. Standarized Service Contract

PART 1

SERVICE ORIENTATION

PRINCIPLES

Page 4: SOA PRINCIPLES : 1. Standarized Service Contract

DAY1 TERMS REVIEW

Page 5: SOA PRINCIPLES : 1. Standarized Service Contract

SERVICE ORIENTATION PRINCIPLES

Standardized Service

Contract

ServiceReusability

ServiceComposability

ServiceAutonomy

Service Loose

Coupling

Service Statelessness

ServiceAbstraction

ServiceDiscoverability

Page 6: SOA PRINCIPLES : 1. Standarized Service Contract

SERVICE ORIENTATION PRINCIPLES

Service ReusabilityService contain agnostic logic that can be position as reusable enterprise resource.

Standardized Service ContractService in same inventory are in compliance of same design service contract standards.

Service CompositionServices are effective composition participants.

Service DiscoverabilityService meta data available for discoverability and interpreted.

Service Loose CouplingContract decoupled from surrounding environment.

Service AutonomyServices exercise a high level of control over their underlying runtime execution environment.

Service StatelessnessServices minimize resource consumption , reduce state information.

Service AbstractionContract contains only essential information , that is published to consumers.

Page 7: SOA PRINCIPLES : 1. Standarized Service Contract

PART 1

STANDARDIZED

SERVICE

CONTRACT

Page 8: SOA PRINCIPLES : 1. Standarized 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 ContractService in same inventory are in compliance of same design service contract standards.

Page 9: SOA PRINCIPLES : 1. Standarized Service Contract

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

Page 10: SOA PRINCIPLES : 1. Standarized Service Contract

ABOUT THE PRINCIPLE

TitleServices share standardized contract

DescriptionService in same inventory are in compliance of same design service contract standards.

Goals

Natural interoperability

Reduce datatransformation

increases interpretability

Implementation requirementsAchieving standardized web service contract , requires “contract first” approach

Page 11: SOA PRINCIPLES : 1. Standarized Service Contract

EXAMPLE : REDUCE DATA TRANSFORMATION GOAL

Page 12: SOA PRINCIPLES : 1. Standarized Service Contract

EXAMPLE : REDUCE DATA TRANSFORMATION GOAL

Page 13: SOA PRINCIPLES : 1. Standarized Service Contract

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

Page 14: SOA PRINCIPLES : 1. Standarized Service Contract

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

Page 15: SOA PRINCIPLES : 1. Standarized Service Contract

FUNCTION EXPRESSION / DATA REPRESENTATION STANDARD

Page 16: SOA PRINCIPLES : 1. Standarized Service Contract

FUNCTIONAL EXPRESSION / SERVICE DATA REPRESENTATION DEMO

Team work Absher demo

Page 17: SOA PRINCIPLES : 1. Standarized Service Contract

CONTRACT FIRST APPROACH DEMO

Using contract first tool

Page 18: SOA PRINCIPLES : 1. Standarized Service Contract

UNIFORM CONTRACT

Uniform Contract is the name of a candidate design pattern (REST-inspired pattern)How can services share a common and standardized contract?

Page 19: SOA PRINCIPLES : 1. Standarized Service 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?

Page 20: SOA PRINCIPLES : 1. Standarized Service Contract

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

Page 21: SOA PRINCIPLES : 1. Standarized Service Contract

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

Page 22: SOA PRINCIPLES : 1. Standarized Service Contract

2. METHODS EXAMPLE

Page 23: SOA PRINCIPLES : 1. Standarized Service Contract

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?

Page 24: SOA PRINCIPLES : 1. Standarized Service Contract

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

Page 25: SOA PRINCIPLES : 1. Standarized 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

Page 26: SOA PRINCIPLES : 1. Standarized Service Contract

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

Page 27: SOA PRINCIPLES : 1. Standarized Service Contract

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

Page 28: SOA PRINCIPLES : 1. Standarized Service Contract

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/

Page 29: SOA PRINCIPLES : 1. Standarized Service Contract

ANY QUESTIONS

Page 30: SOA PRINCIPLES : 1. Standarized Service Contract

THANKSENJOY SOA .. WAIT FOR NEXT

MAIL: [email protected]