HOME JAVA & JEE OPEN SOURCE .NET WEB & RIA CLOUD & GRID ARCHITECTURE & DDD AGILE PM & SCRUM AGILE TESTING & BDD OS, MOBILE & SERVER  
Advanced Distributed Systems Design with SOA (DISTRIBUTED-SOA-01-05)
CODE: DISTRIBUTED-SOA-01-05          DURATION: 5 DAY/S
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 course 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 is for you.

LEARN HOW TO:
  • Avoid common pitfalls in distributed systems
  • Use loosely coupled messaging communication
  • Identify and allocated business logic to services
  • Decompose services into layers, tiers, assemblies, and processes
  • Design for service management and monitoring in production environments
PROGRAMME
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: Coupling: Platform, Temporal, & Spatial
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 & 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: SOA Building Blocks
One of the goals of SOA is to develop systems which are more closely aligned with Business. In this module we’ll be covering an analysis methodology from moving from the business domain to executable systems that comply with all the principles of loose- coupling.
  • Business Services
  • Business Components
  • Autonomous components & Queues
Module 6: Scalability and Flexibility
In order to enable agility, services must be able to scale up, out, and down quickly. In this module we’ll see how autonomous components can be configured including transactional and durable aspects of message handling.
  • Configuring autonomous components
  • Scaling up and out
Module 7: Long running processes
The distributed communications patterns would not 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:
  • Encapsulating process logic
  • Advantages & disadvantages of orchestration
Module 8: Service / Autonomous Component Solution Structure
As developers go to implement autonomous components, guidance is required as to which concepts need to implemented in which project, what dependencies are there between projects, and how to bridge the worlds of messaging, business logic and reporting. Topics include:
  • Messages + Handlers
  • Databases
Module 9: Service Layer – Domain Model Interaction
Logic-rich services require the use of advanced techniques for logic componentization. The Domain Model Pattern enforces a high level of Separation of Concerns, yet it must eventually be connected with Service Layer code that supports many concurrent users. In this module, the topics covered will include:
  • Domain Model introduction
  • Testing Domain Models
  • Optimistic, Pessimistic, and Realistic Concurrency Models
Module 10: Creating High-Performance Domain Models
The strong separation between the Domain Model and the database which stores and retrieves its data may enable a high level of testability, yet often causes performance problems. In this module, we’ll see the various aspects impacting the performance of persistence:
  • Transactions and Isolation Levels
  • Lazy Loading, Eager Fetching
  • Databases Tips & Tricks
Module 11: Web Services and User Interfaces
The ease of interacting with users over the web drives the need for service to UI interactions. Also, many integrations require exposing synchronous web services to customers. In this module, we’ll see what is required in both cases:
  • ASP.NET 2.0 Asynchronous Tasks
  • Rich Internet Applications and Services
  • Web Services for integration
Module 12: Case Study
This course will wrap up with an enterprise case study that draws upon all lessons showing students how all the patterns and principles work together in a solution.

Each day will end with a general discussion, review and wrap up.
NEXT SESSION
The next course will be delivered at The Skills Matter eXchange - London, on 24 May 2010 by Udi Dahan. Udi is also the author of this course.
COURSE DATES & REGISTRATION
Date City Cost Offer
24-05-10 London £2500.00 £2250.00 if booked by 24-04-10 Book Online Now
31-05-10 Paris €3100.00 €2790.00 if booked by 01-05-10 Call Sales
26-07-10 Paris €3100.00 €2790.00 if booked by 26-06-10 Call Sales
16-08-10 London £2500.00 £2250.00 if booked by 17-07-10 Book Online Now
08-11-10 London £2500.00 £2250.00 if booked by 09-10-10 Book Online Now
Book Online or Call Sales on +44 (0)207 1839040
ABOUT THE AUTHOR
Udi Dahan is the lead of the NServiceBus project – the most popular open-source .NET Enterprise Service Bus and an internationally renowned expert on software architecture and design. Recommended by Dr. Dobb's as well as the International .NET Associ
More about Udi Dahan
IS THIS COURSE FOR YOU?
If you are a developer or architect involved in enterprise development, then this course is for you!

COURSE PREREQUISITES
To best benefit from this workshop, prior to attending you should have some experience with projects developing complex software systems and a basic understanding of object-oriented design and rudimentary UML.

You'll enjoy this workshop even more if you have prior experience with large scale application development involving object modeling and web services, but this is not essential.

COURSE LABS & EXERCISES
This Domain Driven Design workshop combines lectures, simulation exercises, and discussion, some of which will delve into the participants own cases, so you will gain an insight into the main issues of model-based development as well as a few new techniques and principles to apply to their own work.

COURSE DATES & REGISTRATION
Date City Cost Offer
24-05-10 London £2500.00 £2250.00 if booked by 24-04-10 Book Online Now
31-05-10 Paris €3100.00 €2790.00 if booked by 01-05-10 Call Sales
26-07-10 Paris €3100.00 €2790.00 if booked by 26-06-10 Call Sales
16-08-10 London £2500.00 £2250.00 if booked by 17-07-10 Book Online Now
08-11-10 London £2500.00 £2250.00 if booked by 09-10-10 Book Online Now
15-11-10 Paris €3100.00 €2790.00 if booked by 16-10-10 Call Sales
Book Online or Call Sales on +44 (0)207 1839040
© Copyright 2003-2010, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Community  Community-FR  Apress  1st Teach  Jobs: Sales Executive  Jobs: Student Podcaster  jobs - marketing assistant  Spring Certification