Advanced Distributed Systems Design - R U Ready?
My good friends Eyal Vardi and Ohad Israeli, the guys behind Experts 4D are putting together one heck of a conference this July in Israel: R U Ready 2008.
Although the timetable isn’t set in stone yet, I’m going to be doing a full day course on July 2nd, so mark your calendars. The official link is here, but I’ve got the full information below. Here’s the registration page.
By the way, if you’re interested in having me give this course to your team, give me a shout.
Course Description:
Designing large-scale distributed systems is hard. New technologies make it easier to comply with today’s communications and security standards, but don’t auto-magically give you a robust and scalable system. Join Udi for a day packed with the wisdom of companies like SUN, Amazon, and EBay. Tried-and-true theories and fallacies will be shown, keeping you from making those same costly mistakes today. Communications patterns like publish/subscribe and correlated one-way request/response will be used in conjunction with advanced object-oriented state management practices for long-running workflows. If you enjoy deep architectural discussion, if you are in charge of building a large-scale distributed system, if you want to know more about how the big guys run their systems, this day is for you.
Course Content:
Module 1: Distributed Systems Theory
Decades of distributed systems development have taught us many lessons. In this module we’ll cover many historical mistakes as well as proven best practices for scalable and robust design. Topics include:
- 8 fallacies of distributed systems
- Transactions
Module 2: Identifying Coupling in Distributed Systems
Loose coupling has become the watchword of complex systems development, yet few understand its multiple dimensions. In the module we’ll be covering the three different dimensions of coupling as well as patterns for dealing with them.
- Platform Coupling – XML/SOAP
- Temporal Coupling – Synchronous/Asynchronous
- Spatial Coupling – Endpoints/Topics
Module 3: Asynchronous Messaging Patterns
Although scalability is achieved through the use of asynchronous message passing, more advanced message exchange patterns are required to handle today’s complex integration scenarios. This module will cover the most commonly used patterns:
- One way
- Correlated Request/Response
- Publish/Subscribe
Module 4: Bus and Broker Architectural Styles
Enterprise Service Buses are all the rage these days. In this module we’ll be covering what’s the difference between the Bus architectural style, and the more well-known Broker, found commonly in many EAI projects. Topics will include:
- Architectural advantages and disadvantages
- Technological advantages and disadvantages
Module 5: Long running work flows
The distributed communications patterns wouldn’t be complete without a discussion on orchestration. In this module we’ll see how to manage the state of long-running distributed communication flows as well as:
- How to encapsulate work flow logic
- Advantages and disadvantages of orchestration
If you’re interested in the full 2-day course which includes SOA topics, check it out. Advanced Distributed Systems Design with SOA - learn from the mistakes of others, succeed in your SOA project.