soa principles : 4.service loose coupling

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

Upload: mohamed-zakarya

Post on 13-Apr-2017

7 views

Category:

Technology


1 download

TRANSCRIPT

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

INTRODUCTION

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

SERVICE

LOOSE COUPLING

INTRODUCTION

Service Loose CouplingContract decoupled from surrounding environment.

Anything that connects has coupling

Levels of coupling from loose to tightly coupled

Loose coupling is advocated between a service contract and its consumers a service contract and its underlying implementation

A measure of coupling between two things is equivalent to level of dependency that exists between them

LOOSE COUPLING PURPOSE

Position the service as a continually useful and accessible resource

Protecting Service and its consumers from forming any relationships that may constrain or inhibit them in the future

ABOUT THE PRINCIPLE

TitleServices are loosely coupled

DescriptionService contracts impose low consumer coupling requirements and are themselves decoupled from their surrounding environment.

Goals

Minimize dependency impact

Environment in which services and their consumers can be adaptively

evolved over time with minimal impact on each other

Implementation requirementsRequire more runtime processing , consume more runtime resources especially on concurrent access and high usage scenarios

SERVICE CONTRACT COUPLING TYPES

SERVICE CONTRACT COUPLING TYPES

Logic-to-Contract Coupling

Contract-to-Logic Coupling

Contract-to-Technology Coupling

Contract-to-Implementation Coupling

Contract-to-Functional Coupling

1. LOGIC-TO-CONTRACT COUPLING

A recommended approach to building a service is to design its physical contract prior toits underlying solution logic. [positive type of coupling]

Tune the underlying logic in support of the service contract

This [contract first] process

2. CONTRACT-TO-LOGIC COUPLING

Many contracts for Web services in particular have been derived from existing solution logic

service contract is hardwired to the characteristics of its implementation environment.

that shortens lifespan of service contract and inhibits long-term evolution of the service

Examples of this coupling :

Auto-generation of WSDL definitions usingcomponent interfaces

Auto-generation of XML schemas from database tables and other parts of physical data models

3. CONTRACT-TO-TECHNOLOGY COUPLING

Impose technology-specific characteristics on the contract as proprietary as the developmenttechnology used to build the service itself.

limits the potential consumers to those who are capable of supporting the technology.

service contract is not required to express proprietary details of the underlying solution logic

Avoid this coupling type : gives service owner ability to swap service implementation technologies without affecting service’s existing consumer base.

Examples of this coupling :

Limit interaction with serviceusing NET Remoting only(overtime become deprecated)

4. CONTRACT-TO-IMPLEMENTATION COUPLING

physically deployed service will be comprised of or will require access to a collection of implementation technologies and products beyond the core service logic.

Example :

Auto-generation of schema from database tables or views will end up placing physical data model details into the service contract.

5. CONTRACT-TO-FUNCTIONAL COUPLING

Logic encapsulated by a service is specifically designed in support of a body of functionality that exists outside of the service boundary

Result in : Corresponding service contract can become functionally coupled, resulting in contract-to-functional coupling

Examples Parent Process Coupling

SERVICE CONSUMER COUPLING TYPES

Consumer-to-Implementation Coupling

Consumer-to-Contract Coupling

1. CONSUMER-TO-IMPLEMENTATION COUPLING

A service consumer is technically not forced to access a service via its contract

There are often other entry points that may seem more attractivefor reasons such as improved performance and design simplicity

inhibit both service and consumer in the future.

2. CONSUMER-TO-CONTRACT COUPLING

any time a consumer bindsto its contract,

This is a recommended and desirable form of coupling because it achieves the greatestamount of independence between the consumer and the service.

2. CONSUMER-TO-CONTRACT COUPLING

When the service contract is technology coupled, its service consumers will be forced to become coupled

to the service’s underlying technology.

2. CONSUMER-TO-CONTRACT COUPLING

When the service contract is functionally coupled, its service consumers are required to couple to the service’s

underlying functional dependencies

2. CONSUMER-TO-CONTRACT COUPLING

When the service contract is derived from parts of the service’s implementation resources, its consumers will also

become coupled to those parts of the implementation environment. This is especially undesirable when the

resources do not belong exclusively to the service but are instead shared parts of the overall architecture

SERVICE CONTRACT COUPLING TYPES

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: [email protected]