SlideShare a Scribd company logo
INVERSION OF CONTROL
IN SOA
PATRICE KERREMANS
“NORMAL” WAY
I’LL GET THE STUFF AND I’LL HANDLE THINGS
CLIENT
ESB
TASK
SERVICE
ENTITY
SERVICE
ACCOUNT
ENTITY
SERVICE
BALANCE
1,12
2,11
3,6
7,10
4,5 8,9
1. retrieveBalance(IBAN)
2. retrieveBalance(IBAN)
3. retrieveBalance(IBAN)
4. retrieveBalance(IBAN)
5. return balance
6. return balance
7. retrieveAccounts(userId)
8. retrieveAccounts(userId)
9. return List<Account>
10. return List<Account>
11. do magic and return balance
12. return balance
THREEANDAHALFROSES.COM - PATRICE
INVERSION OF CONTROL (IOC) WAY
YOU GET THE STUFF AND I’LL HANDLE THINGS
CLIENT
ESB
ENTITY
SERVICE
ACCOUNT
ENTITY
SERVICE
BALANCE
TASK
SERVICE
1,8
2,3 4,5 6,7
1. retrieveBalance(IBAN)
2. retrieveAccounts(userId)
3. return accounts
4. retrieveBalance(IBAN)
5. return balance
6. doMagic(accounts, balance)
7. return balance
8. return balance
THREEANDAHALFROSES.COM - PATRICE
ABOUT IOC
WHAT PROBLEMS DOES IT TRY TO SOLVE
▸ Decoupling components and layers in the system
▸ Alleviates a component from being responsible for managing
it's dependencies
▸ Swap dependency implementations in different environments.
▸ Allows a component be tested through mocking of
dependencies.
▸ Provides a mechanism for sharing resources throughout an
application.
Stolen from here: http://www.dofactory.com/topic/1097/what-are-the-benefits-and-dangers-of-ioc-inversion-of-control.aspx
THREEANDAHALFROSES.COM - PATRICE
ABOUT IOC
BENEFITS
▸ Makes it easier to test your code. Without it, the code you
are testing is hard to isolate as it will be highly coupled to
the rest of the system and to the ESB.
▸ Useful when developing modular systems. You can replace
components without requiring recompilation.
▸ If done well, independent from runtime container (ESB in
our case)
▸ Due to less requests to the bus, less network overhead
Partially stolen from here: http://www.dofactory.com/topic/1097/what-are-the-benefits-and-dangers-of-ioc-inversion-of-control.aspx
THREEANDAHALFROSES.COM - PATRICE
ABOUT IOC
DISADVANTAGES
▸ Dependency on runtime container to wire everything
together (set-up, maintenance, may be challenging to
debug E2E)
▸ you get the input objects even if they were not needed in
the task service logic for some reason.
THREEANDAHALFROSES.COM - PATRICE

More Related Content

PDF
Waterfall and Agile: a comparison
DOCX
Ricardo soo trabalho 8ºa
PPTX
1 interpretación (el poder y sus conflictos)
PDF
ankita main latest cv 2016.pdf final (1)
PPTX
Brain Science and VR Meetup #1: Az Balabanian
PPTX
Evolucion del computador
PDF
Enhancing Enterprise Architecture with Artificial Intelligence
Waterfall and Agile: a comparison
Ricardo soo trabalho 8ºa
1 interpretación (el poder y sus conflictos)
ankita main latest cv 2016.pdf final (1)
Brain Science and VR Meetup #1: Az Balabanian
Evolucion del computador
Enhancing Enterprise Architecture with Artificial Intelligence

More from Patrice Kerremans (9)

PPTX
Cloud Spotting 2017: An overview of cloud computing
PDF
Blockchain for Notaries
PDF
Internet of Things (2015)
PDF
Internet of things
PDF
Routeyou mobile presentation
PDF
Call for Gunslingers to tame Mobzilla
PDF
Momads explained @ Brave New Radio
PPT
12 Topics Of A Good Community
PPT
Trends in mobiel internet
Cloud Spotting 2017: An overview of cloud computing
Blockchain for Notaries
Internet of Things (2015)
Internet of things
Routeyou mobile presentation
Call for Gunslingers to tame Mobzilla
Momads explained @ Brave New Radio
12 Topics Of A Good Community
Trends in mobiel internet
Ad

Recently uploaded (20)

PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
PPTX
assetexplorer- product-overview - presentation
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
AutoCAD Professional Crack 2025 With License Key
PPTX
Monitoring Stack: Grafana, Loki & Promtail
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
Download FL Studio Crack Latest version 2025 ?
PDF
Salesforce Agentforce AI Implementation.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Digital Systems & Binary Numbers (comprehensive )
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
Design an Analysis of Algorithms II-SECS-1021-03
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
assetexplorer- product-overview - presentation
Patient Appointment Booking in Odoo with online payment
AutoCAD Professional Crack 2025 With License Key
Monitoring Stack: Grafana, Loki & Promtail
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Why Generative AI is the Future of Content, Code & Creativity?
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Oracle Fusion HCM Cloud Demo for Beginners
Download FL Studio Crack Latest version 2025 ?
Salesforce Agentforce AI Implementation.pdf
Operating system designcfffgfgggggggvggggggggg
Complete Guide to Website Development in Malaysia for SMEs
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
CHAPTER 2 - PM Management and IT Context
Digital Systems & Binary Numbers (comprehensive )
Ad

Inversion of Control for SOA

  • 1. INVERSION OF CONTROL IN SOA PATRICE KERREMANS
  • 2. “NORMAL” WAY I’LL GET THE STUFF AND I’LL HANDLE THINGS CLIENT ESB TASK SERVICE ENTITY SERVICE ACCOUNT ENTITY SERVICE BALANCE 1,12 2,11 3,6 7,10 4,5 8,9 1. retrieveBalance(IBAN) 2. retrieveBalance(IBAN) 3. retrieveBalance(IBAN) 4. retrieveBalance(IBAN) 5. return balance 6. return balance 7. retrieveAccounts(userId) 8. retrieveAccounts(userId) 9. return List<Account> 10. return List<Account> 11. do magic and return balance 12. return balance THREEANDAHALFROSES.COM - PATRICE
  • 3. INVERSION OF CONTROL (IOC) WAY YOU GET THE STUFF AND I’LL HANDLE THINGS CLIENT ESB ENTITY SERVICE ACCOUNT ENTITY SERVICE BALANCE TASK SERVICE 1,8 2,3 4,5 6,7 1. retrieveBalance(IBAN) 2. retrieveAccounts(userId) 3. return accounts 4. retrieveBalance(IBAN) 5. return balance 6. doMagic(accounts, balance) 7. return balance 8. return balance THREEANDAHALFROSES.COM - PATRICE
  • 4. ABOUT IOC WHAT PROBLEMS DOES IT TRY TO SOLVE ▸ Decoupling components and layers in the system ▸ Alleviates a component from being responsible for managing it's dependencies ▸ Swap dependency implementations in different environments. ▸ Allows a component be tested through mocking of dependencies. ▸ Provides a mechanism for sharing resources throughout an application. Stolen from here: http://www.dofactory.com/topic/1097/what-are-the-benefits-and-dangers-of-ioc-inversion-of-control.aspx THREEANDAHALFROSES.COM - PATRICE
  • 5. ABOUT IOC BENEFITS ▸ Makes it easier to test your code. Without it, the code you are testing is hard to isolate as it will be highly coupled to the rest of the system and to the ESB. ▸ Useful when developing modular systems. You can replace components without requiring recompilation. ▸ If done well, independent from runtime container (ESB in our case) ▸ Due to less requests to the bus, less network overhead Partially stolen from here: http://www.dofactory.com/topic/1097/what-are-the-benefits-and-dangers-of-ioc-inversion-of-control.aspx THREEANDAHALFROSES.COM - PATRICE
  • 6. ABOUT IOC DISADVANTAGES ▸ Dependency on runtime container to wire everything together (set-up, maintenance, may be challenging to debug E2E) ▸ you get the input objects even if they were not needed in the task service logic for some reason. THREEANDAHALFROSES.COM - PATRICE