1. soa design pattern introduction
TRANSCRIPT
![Page 1: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/1.jpg)
Principles OF
SOA From knowledge To practice
SUBMITTED BY : MOHAMED ZAKARYA
![Page 2: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/2.jpg)
AGENDA
Enterprise service bus
Service broker Data model transformation Data format transformation Protocol bridging
Intermediate routing
Asynchronous queuing
![Page 3: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/3.jpg)
SERVICE ORIENTATION PRINCIPLES
Standardized Service
Contract
ServiceReusability
ServiceComposability
ServiceAutonomy
Service Loose
Coupling
Service Statelessness
ServiceAbstraction
ServiceDiscoverability
![Page 4: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/4.jpg)
PART 1
SOADESIGN PATTERN
INTRODUCTION
![Page 5: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/5.jpg)
ENTERPRISE SERVICE BUS
Intermediate layer of processing Environment designed to include any interconnectivity between services
Compound Pattern
![Page 6: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/6.jpg)
ENTERPRISE SERVICE BUS
![Page 7: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/7.jpg)
SERVICE BROKER
Common part of middleware platforms, providing multifaceted runtime conversion features that enable integration between disparate systems.
Added bonus of being able to perform more than one transformation function at same time.
Broker-related features are a fundamental part of ESB platforms
![Page 8: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/8.jpg)
1. DATA MODEL TRANSFORMATION - PROFILE
ProblemServices may use incompatible schemas to represent same data, prevent service interaction and composition
SolutionA data transformation technology can be used to convert data between various schema structures
impacts
ApplicationMapping logic needs to be developed and deployed
ProfileHow can services interoperate when using different data models for the same type of data?
Runtime performance overhead Development effort Design complexity
Standardized service contract Reduce data transformation
![Page 9: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/9.jpg)
1. DATA MODEL TRANSFORMATION - SAMPLE
![Page 10: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/10.jpg)
2. DATA FORMAT TRANSFORMATION - PROFILE
ProblemProblem A service may be incompatible with resources it needs to access due to data format disparity ( service consumer may use different format , incompatible )
SolutionIntermediary data format transformation logic needs to be introduced
impacts
ApplicationAdd dedicated transformation service.
ProfileHow can services interact with programs that communicate with different data formats?
Runtime performance overhead Development effort Design complexity
![Page 11: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/11.jpg)
2. DATA FORMAT TRANSFORMATION - SAMPLE
![Page 12: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/12.jpg)
3. PROTOCOL BRIDGING - PROFILE
ProblemServices using different communication protocols or different versions of the same protocol cannot exchange data.
SolutionBridging logic is introduced to enable communication between different communication protocolsBy dynamic conversion between protocols at runtime
impacts
Applicationconsumer programs and services connect to a broker that provide bridging protocol
ProfileHow can a service exchange data with consumers that use different communication protocols?
Performance overhead
![Page 13: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/13.jpg)
3. PROTOCOL BRIDGING- SAMPLE
![Page 14: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/14.jpg)
4. INTERMEDIATE ROUTING- PROFILE
ProblemThe larger and more complex a service composition is, the more difficult it is to anticipate and design for all possible runtime scenarios especially in asynchronous , messages-based.
SolutionMessage paths can be dynamically determined through the use of intermediary routing logic
impacts
ApplicationIntermediate routing logic used to create message paths based on message content or runtime factors
ProfileHow can dynamic runtime factors affect the path of a message?
Performance overhead overly complex service activities.
![Page 15: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/15.jpg)
4. INTERMEDIATE ROUTING- SAMPLE
![Page 16: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/16.jpg)
4. INTERMEDIATE ROUTING- SAMPLE
![Page 17: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/17.jpg)
4. INTERMEDIATE ROUTING- SAMPLE
![Page 18: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/18.jpg)
5. ASYNCHRONOUS QUEUING - PROFILE
ProblemWhen a service capability requires that consumers interact with it synchronously, it can inhibit performance and reliability
SolutionA service can exchange messages with its consumers via an intermediary buffer(remaining temporally decoupled)
impacts
ApplicationQueuing technology needs to be incorporated into the surrounding architecture
ProfileHow can a service and its consumers accommodate isolated failures and avoid unnecessarily locking resources?
There may be no acknowledgement of successful message delivery,
![Page 19: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/19.jpg)
5. ASYNCHRONOUS QUEUING - SAMPLE
![Page 20: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/20.jpg)
5. ASYNCHRONOUS QUEUING - SAMPLE
![Page 21: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/21.jpg)
5. ASYNCHRONOUS QUEUING - SAMPLE
![Page 22: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/22.jpg)
5. ASYNCHRONOUS QUEUING - SAMPLE
![Page 23: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/23.jpg)
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 24: 1. soa design pattern introduction](https://reader036.vdocument.in/reader036/viewer/2022081515/58eecab31a28ab4f0d8b46cf/html5/thumbnails/24.jpg)
ANY QUESTIONS