Middleware

The middleware lecture is a grand tour of networked system architectures focussing on middleware systems. It is designed for Master students who should gain an understanding of how large real-life systems work. The course will cover communication and interaction modes as well as consistency and scalability issues, components and application servers, Event-based Systems (EBS) and Cloud Computing. The lecture is complemented by weekly exercises with hands-on system-oriented tasks and research paper-oriented discussions.

News

The exam correction review will be on Wednesday, May, 13th in E302 at 15h-16h. Please note that you will get a chance to look at your corrected exam and take notes. You may then hand in a written application (on paper or by email) of any correction items you would like to have reviewed. The strictly enforced deadline for this application is Sunday, May, 17th at 23:59.

Project milestone 1 attestation has been shifted by one week.

The exam has been rescheduled to Friday, 27.03.2015 (same day), 16-18h to avoid conflicts

If our exam dates conflict with any of your other exams, we ask you to report this by email until Tuesday, 25th November 2014. Please make sure to include the conflicting lecture's full name (the other lecture, not our lecture of course), its date and time and if possible the lecturer's name.

The first lecture will be on Wednesday, Oct, 15th. There will be no exercise session on Tuesday, Oct, 14th.

Exam

The exam correction review will be on Wednesday, May, 13th in E302 at 15h-16h. Please note that you will get a chance to look at your corrected exam and take notes. You may then hand in a written application (on paper or by email) of any correction items you would like to have reviewed. The strictly enforced deadline for this application is Sunday, May, 17th at 23:59.

Schedule

Please check the schedule regularly, as we might change things on demand.

Date Tuesday Wednesday
14.10. / 15.10. - Lecture
21.10. / 22.10. Exercise Lecture
28.10. / 29.10. - Lecture
4.11. / 5.11. Exercise no(!) lecture
11.11. / 12.11. - Lecture
18.11. / 19.11. Lecture no(!) lecture
25.11. / 26.11. Exercise Lecture
02.12. / 03.12. - Lecture
09.12. / 10.12. - Lecture
16.12. / 17.12. Open office hours (project) Lecture
23.12. / 24.12. Christmas Break  
30.12. / 31.12. Christmas Break  
6.1. / 7.1. Christmas Break  
13.1. / 14.1. - Lecture
20.1. / 21.1. Project Milestone 1 attestation Lecture
27.1. / 28.1. Exercise Lecture
3.2. / 4.2. - Lecture
10.2. / 11.2. Exercise Lecture

Slides

  Lecture Topic Slides
1 Overview Slides (pdf)
2 Communication: Principles, Classification, Techniques Slides (pdf)
3 Queues: Systems and Message-Oriented Communication Slides (pdf) (2012/13)
4 Distributed Objects Slides (pdf) (2012/13)
5 System Federation: EAI, FDBMS, Wrappers and Mediators Slides (pdf) (2012/13)
6 Middleware and Distributed Transaction Processing Slides (pdf) (2012/13)
7 Consistency and Replication Slides (pdf) (2011/12)
8 Time and Synchronization Slides (pdf) (2012/13)
9 Events and Event-based Systems Slides (pdf) (2011/12)
10 Fault Tolerance, summary Slides (pdf) (2011/12)
11 Aspects of Cloud Computing Slides (pdf) (2012/13)

Exercises

  Exercise Assignments Slides
  Project Project Description Intro and modalities
  Paper Discussion 1 Questions | Paper Slides
  Paper Discussion 2 Questions | Paper Slides
  Paper Discussion 3 Questions | Paper Slides
  Paper Discussion 4 Questions | Paper -

Course Content

  1. Motivation and goals of the course
  2. Introduction
    Definitions and Major Problems: Abstraction/Transparency, Communication, Reliability, Scalability, Synchronisation, Consistency, High Availability, Fault Tolerance. The role of middleware. Models of Distributed Systems. Rules of thumb.
  3. Communication:
    Interaction modes: Request/Reply, One-to-One Message, Anonymous Request/Reply, Event-based dissemination Client Server Communication Group Communication: Multicast, uni-cast, broadcast, Gossip based dissemination Message-oriented communication: Point-to-Point, Queues, Queueing Systems, Async RPC Reliable Communication: Client Server, Group Communication Naming and Directory Services
  4. Heterogeneity and System Federation
  5. Distributed Transactions: models and systems
    Transactional RPC Transaction models: Nested Transactions, Chained Transactions; ACID, BASE. Distributed Concurrency Control, Commit Protocols: 2PC, 3PC Recovery TP Monitors
  6. Distributed Objects, Components and Application Servers
    Distributed object model Object Communication Component Orientation Application Servers Object Relational Mappers
  7. Event-Based Systems and Publish/Subscribe
  8. Time, Synchronization and Coordination
    Clock synchronization and Logical Clocks Ordering (Distributed) Mutual Exclusion Election Algorithms Consensus Algorithms (Problems: Consensus, Byzantine Generals, Interactive Consistency) PAXOS Quorum Consensus
  9. Consistency and replication
    Replica Management Replica-Server Placement Content Replication and Placement Content Distribution Consistency Models Continuos Consistency Ordering of Operations Eventual Consistency Consistency Protocols [Tanenbaum] Continuous Consistency Primary-Based Protocols Replicated-Write Protocols Cache-Coherence Transactions and Replicated Data Quorum Algorithms, PAXOS
  10. High Availability and Scalability
    Architectures: Shared Nothing, Shared-Disc, Shared Memory Conceptual Problems: Fragmentation (vetical, horizontal, Hybrid) Allocation (distribution of replicas on cluster nodes) Failover clustering Database mirroring Log shipping Buffer shipping Replication
  11. Cloud Computing

Papers and (online) Resources

General

Database Federation

Client/Server and Transaction Processing

  • P.A. Bernstein, E. Newcomer; Principles of Transaction Processing for the Systems Professional, Morgan Kaufmann, 1997.
  • Orfali, Harkey and Edwards, Client/Server Survival Guide, 3rd Edition, J. Wiley, 1999.
  • J. Gray, A. Reuter; Transaction Processing: Concepts and Techniques, Morgan Kaufmann, 1993.
  • The Server Side (http://www.TheServerSide.com)

Messaging

  • G. Hohpe, B. Woolf, Enterprise Integration Patterns: Designing, Building and Deploying Messaging Solutions, Addision Wesley, 2004.
  • Q. Mahmoud (editor), Middleware for Comminications, Wiley, 2004.
  • E. Curry, Message-Oriented Middleware, from Middleware for Communications, Wiley, 2004.
  • C. Leng, W. Terpstra, M. Lehn, R. Rehner, and A. Buchmann All-Weather Transport Essentials, from IEEE Internet Computing.

JEE

ORM

  • Patrick Linskey, Marc Prud'hommeaux. An in-depth look at the architecture of an object/relational mapper. SIGMOD '07 (PDF)
  • Pablo Castro, Sergey Melnik, and Atul Adya. ADO.NET entity framework: raising the level of abstraction in data programming. SIGMOD 2007.
  • Scott Ambler Mapping Objects to Relational Databases
  • Christian Bauer, Gavin King. Hibernate in Action. Manning Publications. 2004
  • Craig Russell. Bridging the Object-Relational Divide. ACM Queue, Vol. 6, No. 3, 2008
  • Michael Keith and Randy Stafford. Exposing the ORM Cache. ACM Queue, Vol. 6, No. 3, 2008
  • Van Zyl, P., Kourie, D. G., and Boake, A. Comparing the performance of object databases and ORM tools. In SAICSIT 2006.

Books

  • Coulouris, Jean Dollimore, and Tim Kindberg. 2005.
    Distributed Systems: Concepts and Design (4th Edition)
    Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
  • Andrew S. Tanenbaum and Maarten Van Steen. 2001.
    Distributed Systems: Principles and Paradigms (1st ed.).
    Prentice Hall PTR, Upper Saddle River, NJ, USA.
  • M. Tamer Özsu and Patrick Valduriez. 2011.
    Principles of Distributed Database Systems (3nd Ed.).
    Prentice-Hall, Inc., Upper Saddle River, NJ, USA.
  • Jim Gray and Andreas Reuter. 1992.
    Transaction Processing: Concepts and Techniques (1st ed.).
    Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
  • Shahram Dustdar Harald Gall Manfred Hauswirth
    Software-Architekturen für Verteilte Systeme.
    Springer Verlag 2003
  • Len Bass, Paul Clements, Rick Kazman
    Software Architecture in Practice (2nd Edition).
    Addison Wesley. 2005
  • Gregor Hohpe and Bobby Woolf.
    Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions.
    Addison-Wesley 2003
  • Qusay Mahmoud
    Middleware for communications.
    John Wiley and Sons, 2004

Course Information

TUCaN-Link 20-00-0153-iv
Lecture Wed. 16:15-17:55
in S2-02 | C110
Exercise Tue 17:10-18:50
in S2-02 | C110
CP (SWS) 6 (2+2)
Language English
Exam Written exam
27.03.2015 16-18h
Office hours Mon., 16:30-18:00; please register with Maria Tiedemann
Forum Link

Organizer

Prof. Alejandro Buchmann
A A A | Print | Contact | Legal note | Search