Principles OF
SOAFrom knowledge
To practice
SUBMITTED BY : MOHAMED ZAKARYA
AGENDA
 Enterprise service bus
 Service broker
 Data model transformation
 Data format transformation
 Protocol bridging
 Intermediate routing
 Asynchronous queuing
SERVICE ORIENTATION PRINCIPLES
Standardized
Service
Contract
Service
Reusability
Service
Composability
Service
Autonomy
Service
Loose
Coupling
Service
Statelessness
Service
Abstraction
Service
Discoverability
PART 1
SOA
DESIGN PATTERN
INTRODUCTION
ENTERPRISE SERVICE BUS
Intermediate layer of processing
Environment designed to include any interconnectivity between services
Compound Pattern
ENTERPRISE SERVICE BUS
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
1. DATA MODEL TRANSFORMATION - PROFILE
Problem
Services may use incompatible schemas to represent same data, prevent service interaction
and composition
Solution
A data transformation technology can be used to convert data between various schema structures
impacts
Application
Mapping logic needs to be developed and deployed
Profile
How 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
1. DATA MODEL TRANSFORMATION - SAMPLE
2. DATA FORMAT TRANSFORMATION - PROFILE
Problem
Problem A service may be incompatible with resources it needs to access due to data
format disparity ( service consumer may use different format , incompatible )
Solution
Intermediary data format transformation logic needs to be introduced
impacts
Application
Add dedicated transformation service.
Profile
How can services interact with programs that communicate with different data formats?
Runtime performance overhead Development effort Design complexity
2. DATA FORMAT TRANSFORMATION - SAMPLE
3. PROTOCOL BRIDGING - PROFILE
Problem
Services using different communication protocols or different versions of the same protocol
cannot exchange data.
Solution
Bridging logic is introduced to enable communication between different communication protocols
By dynamic conversion between protocols at runtime
impacts
Application
consumer programs and services connect to a broker that provide bridging protocol
Profile
How can a service exchange data with consumers that use different communication protocols?
Performance overhead
3. PROTOCOL BRIDGING- SAMPLE
4. INTERMEDIATE ROUTING- PROFILE
Problem
The 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.
Solution
Message paths can be dynamically determined through the use of intermediary routing logic
impacts
Application
Intermediate routing logic used to create message paths based on message content or
runtime factors
Profile
How can dynamic runtime factors affect the path of a message?
Performance overhead overly complex service activities.
4. INTERMEDIATE ROUTING- SAMPLE
4. INTERMEDIATE ROUTING- SAMPLE
4. INTERMEDIATE ROUTING- SAMPLE
5. ASYNCHRONOUS QUEUING - PROFILE
Problem
When a service capability requires that consumers interact with it synchronously, it can
inhibit performance and reliability
Solution
A service can exchange messages with its consumers via an intermediary buffer
(remaining temporally decoupled)
impacts
Application
Queuing technology needs to be incorporated into the surrounding architecture
Profile
How can a service and its consumers accommodate isolated failures and avoid unnecessarily
locking resources?
There may be no acknowledgement of successful message delivery,
5. ASYNCHRONOUS QUEUING - SAMPLE
5. ASYNCHRONOUS QUEUING - SAMPLE
5. ASYNCHRONOUS QUEUING - SAMPLE
5. ASYNCHRONOUS QUEUING - SAMPLE
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
THANKS
ENJOY SOA .. WAIT FOR NEXT
MAIL: ENG.MOHAMEDZAKARYA@GMAIL.COM

1. soa design pattern introduction

Editor's Notes

  • #3 6 main parts of presentation !
  • #7 middleware-based messaging mechanism
  • #8 Multifaceted : متعدد الأوجه
  • #9 Multifaceted : متعدد الأوجه
  • #10 Multifaceted : متعدد الأوجه
  • #11 Three different services accustomed to processing XML formatted data need to access a legacy application API that only accepts CSV formatted data. A Format Conversion utility service is added to the architecture.
  • #12 Three different services accustomed to processing XML formatted data need to access a legacy application API that only accepts CSV formatted data. A Format Conversion utility service is added to the architecture.