11. Good parts
- Integration of applications with different protocols & technologies
- Every integration use same concepts
- Abstraction of implementation details
- Easy to define retry & transaction policies
12. Pain points
- Very large integration projects (go with microservices & APIs)
- Writing unit tests is not intuitive