Episode 10: Remoting Pt. 2

Topics covered
Popular Clips
Episode Highlights
Performance & Errors
The introduction of communication middleware significantly impacts system performance, particularly in terms of latency and error handling. highlights that remote communication is inherently slower and introduces a new class of potential errors that must be managed within the application logic. He explains that these errors arise from scenarios like server crashes or network unavailability, which were not concerns in single-host applications 1.
Remote communication introduces a whole set, a whole class of potential errors that need to be dealt with in the application logic because you have now many new situations where errors could occur.
---
This necessitates careful planning when selecting interfaces for remote communication to ensure scalability and reliability.
Remoting Boundaries
Recent trends in middleware development emphasize making remoting boundaries more explicit. notes that earlier approaches, like CORBA, aimed to make remote objects appear as local ones, which often led to hidden complexities. In contrast, modern implementations, such as Windows Communication Foundation, clearly define component boundaries, making the remoting aspect more transparent 1.
If you look at more recent middleware implementations, like for example Windows Communication foundation called Indigo a while ago, or like the service oriented approach to software development, then you know in the application logic that you call a remote component, you have this remoting or this component boundary made much more explicit.
---
This shift aims to simplify the development process by acknowledging and addressing the complexities of remote communication.
Balancing Act
The balance between performance and explicit remoting boundaries is crucial in middleware design. suggests that while making remoting explicit can simplify error management, it may also introduce performance trade-offs. He predicts that future trends might swing back towards hiding remoting complexities to optimize performance 1.
Yeah, probably in a couple of years the opposite trend is going to show up again.
---
This ongoing evolution reflects the dynamic nature of software development, where solutions must adapt to changing technological landscapes.
Related Episodes


Episode 55: Refactoring Pt. 2
Answers 383 questions

Episode 2: Dependencies
Answers 383 questions
Episode 103: 10 years of Agile Experiences
Answers 383 questions

Episode 32: Service Oriented Architecture, Pt.2a
Answers 383 questions

Episode 20: Interview Michael Stal
Answers 383 questions

Episode 46: Refactoring Pt. 1
Answers 383 questions

Episode 27: Service Oriented Architecture Pt.1
Answers 383 questions

Episode 112: Roles in Software Engineering II
Answers 383 questions

Episode 5: Model-Driven Software Development Pt. 1
Answers 383 questions

Episode 43: eXtreme Programming Pt.2
Answers 383 questions

Episode 22: Feedback
Answers 383 questionsEpisode 29: Concurrency Pt.3
Answers 383 questions

Episode 17: Feedback and Roadmap
Answers 383 questions

Episode 39: Interview Steve Vinoski
Answers 383 questions

Episode 21: Error Handling Pt. 2
Answers 383 questions











