SOA PRINCIPLES : 1. Standarized Service Contract

Post on 13-Apr-2017

7 views 2 download

Transcript of SOA PRINCIPLES : 1. Standarized Service Contract

Principles OF

SOA From 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

ServiceReusability

ServiceComposability

ServiceAutonomy

Service Loose

Coupling

Service Statelessness

ServiceAbstraction

ServiceDiscoverability

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.

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 ContractService in same inventory are in compliance of same design service contract standards.

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

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

EXAMPLE : REDUCE DATA TRANSFORMATION GOAL

EXAMPLE : REDUCE DATA TRANSFORMATION GOAL

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

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

THANKSENJOY SOA .. WAIT FOR NEXT

MAIL: ENG.MOHAMEDZAKARYA@GMAIL.COM