: Monday : Programming Techniques : Monday Afternoon Tutorials (13:30 - 17:00)
Programming without a Call Stack - Event-Driven Architectures in Action
Monday, 13:30, half day
Gregor Hohpe, Google
Tutorial number: 28
Most applications today are based on the basic tenets of a call stack-based architecture: one method calls another one, and resumes execution when the called method completes. However, an increasing number of new, exciting technologies are based on asynchronous, event-driven processing models. For example, new libraries in Java J2SE5 introduce the notion of queues and futures, the .Net platform sports delegates, Microsoft's Indigo platform is based on message exchanges, and most industry experts now agree that successful service-oriented architectures are based on message exchange models.
These technologies are powerful and enable loosely coupled communication between processing nodes. But they also move us out our comfort zone of the synchronous, call-stack world. This talk looks behind the specific technologies and examines patterns and best practices to design successful event-driven architectures.
You will learn effective design, debugging and visualization strategies for event-driven architectures. Case studies are presented in both Java and C#, while maintaining the focus on architectural principles over language syntax.
Intermediate: This tutorial is targeted at architects and developers who have development experience in a major OO language, e.g. C++, Java, C# etc.
Gregor Hohpe, Google: Gregor Hohpe is a software archetect with Google. Gregor is a widely recognized thought leader on asynchronous messaging architectures and co-author of the seminal book "Enterprise Integration Patterns" (Addison-Wesley, 2004). Gregor speaks regularly at technical conferences around the world and maintains the Web site www.eaipatterns.com.