Trends in Middleware Systems - Selected Topics and Concepts: January - April 2007
ECE1770 - Graduate Course

With a few words

Instructor: Prof. Hans-Arno Jacobsen
[ Contact Information ]
Office hours: Catch me right after class, or by appointment.
Room: BA 4164 (Thursday) and TBA (Monday, at selected dates only)
Time: Thursday 3:00 PM - 5:00 PM
Textbook: Research papers et al.
Previous years: 2007, 2006, 2005, 2004, 2003, 2002, 2001.

Announcements and News



A "middleware system" (a.k.a. computing infrastructure) constitutes a set of services that aim at facilitating the development of distributed applications in heterogeneous environments. The primary objectives of middleware are to foster application portability, distributed application component interoperability, and facilitate software component integration. At least conceptually, the "middleware layer" comprises a layer below the application and above the operating system and network substrate. Common middleware platforms include CORBA, DCOM, Java RMI, J2EE, MQSeries, MSMQ, and Web Services.

Other than in previous years (see 2003, 2002, and 2001.), this course constitutes an introductory-level course aiming to discuss middleware trends around Service-oriented Architectures and Web services.

This course targets advanced undergraduate students and graduate students. The course is less research-oriented than in previous years and more oriented towards covering current middleware trends in industry.

Topic and Lecture Outline

The following constitutes a tentative outline of the course.

Agenda & Presenters

  1. Session - Jan 11th: SOW and Proposal
    Presenter: Gordon Lee
    Take away: Statement of Work and Proposal Writing
    Slides: [ Slides ]
  2. Additional Session - Jan 15th: Middleware Definition
    Presenter: Hans-Arno Jacobsen
    Take away: Middleware Definition and Course Overview
    Slides: [ Slides ]
  3. Session - Jan 18th: SOA Overview
    Presenter: Glen McDougall
    Take away: Definition of SOA
    Slides: Slides Part 1 Slides Part 2

    Reading material: SOA Foundation Paper
  4. Additional Session - Jan 22nd: The Role of Middleware Standards
    Presenter: Hans-Arno Jacobsen
    Take away: Why Standards?
    Slides: [ Slides ]
  5. Expert Topic - Jan 22nd: Web Services
    Presenter: Ivan Hernandez
    Take away: Web Services 101
    Slides: [ Slides ]
  6. Session - Jan 25th: Application Integration
    Presenter: Kelvin Yung
    Take away: Application Integration Patterns
    Slides: [ Slides ]
  7. Additional Session - Jan 29th:Middleware Architecture Evolution
    Presenter: Hans-Arno Jacobsen
    Take away: Critical Middleware Design Questions
    Slides: None.
  8. Expert Topic - Jan 29th: Web 2.0
    Presenter: Eunkyu Lee, Alireza Bigdeli, and Rita Chiu.
    Take away: Web 2.0: What's that?
    Slides: [ Slides ]
  9. Session - Feb 1st: Enterprise Services Bus
    Presenter: Glen McDougall
    Take away: ESB and ESB Patterns
    Slides: Slides Part 1 Slides Part 2
  10. Additional Session - Feb 5th:SOA
    Presenter: Hans-Arno Jacobsen
    Take away: SOA Euphoria
    Slides: None
  11. Expert Topic - Feb 5th: (1) Web Service Composition and (2) Grids
    Presenter: Robert Ma (WSC) and Shawn Malhotra (Grids)
    Take away: Key points about service composition. Key points about Grids.
    Slides: Web Service Composition and Grids
  12. Session - Feb 8th: XML Appliances
    Presenter: Ntin Thukral
    Take away: Appliance, XML processing and acceleration
    Slides: Slides
  13. Additional Session - Feb 12th:EDA
    Presenter: Hans-Arno Jacobsen
    Take away: Events and Event-based Applications
    Slides: None.

  14. Expert Topic - Feb 12th: (1) Sensor Networks and (2) Middleware for RFID
    Presenter: Tony Lee, Li Mi (Sensor Networks) and Yu Eric (MW 4 RFID)
    Take away: Supporting application development for sensor-based and RFID-based environments
    Slides: Sensor networks RFID
  15. Session - Feb 15th: Business Process Management
    Presenter: Soudabeh Javadi and Dale Sue Ping
    Take away: BPM Big Picture
    Slides: Slides
  16. Additional Session - Feb 26th:Publish/Subscribe
    Presenter: Hans-Arno Jacobsen
    Take away: Publish/Subscribe Paradigm: Use and Design
    Slides: Slides

  17. Expert Topic - Feb 26th: (1) QoS-aware Middleware and (2) Middleware for Ad Hoc Networks.
    Presenter: (1) Reza Eftekhari and (2) Yan Han.
    Take away: (1) Middleware with QoS guarantees and (2) middleware abstractions for ad hoc networking environments
    Slides: QoS-aware middleware Middleware for ad hoc networks
  18. Session - March 1st: Service Registries and Service Component Architecture
    Presenter: Soudabeh Javadi
    Take away: Service regisry applications and SCA overview
    Slides: Slides , Slides
  19. Expert Topic - March 5th: Peer-to-peer networking abstractions
    Presenter: (1) Reza Sherafat and (2) Kuhan Paramsothy
    Take away: Chord DHT and CAN
    Slides: Chord CAN
  20. Session - March 8th: Business Process Modeling
    Presenter: Soudabeh Javadi
    Take away: Business Processes: From Concept to Practice
    Slides: Slides Lab Errata
  21. Session - March 15th: WebSphere Integration Developer
    Presenter: Soudabeh Javadi
    Take away: Business Processes and How They are Developed
    Slides: Lab Instructions I
    Lab Instructions II
  22. Session - March 22nd: SOA in a Canadian Bank
    Presenter: Awel Dico
    Take away: SOA in the real-world
    Slides: Not available. Reading material: Production Topologies
  23. Session March 29th: Rational Unified Process
    Presenter: Vivienne Suen
    Take away: RUP
    Slides: Slides
  24. Expert Topic - March 29th: Middleware for Multi-player Online Games
    Presenter: Tim Brecht
    Take away: Problems and architectures of MPOG
    Slides: Slides
  25. Session March 5th: Trends
    Presenter: Peter Beggs
    Take away: Current Trends and Wrap-up
    Slides: Slides
  26. Expert Topic - March 29th: Middleware for Overlay Networking
    Presenter: (1) Nadeem Abji (2) Hassan Shojani
    Take away: Overlay Network: (1) Practice adn (2) Research
    Slides: Slides (1)
    Slides (2)
Agenda & Presenters 

This is a tentative agenda, subject to change without notice. For
updates please watch the course web site.

Session 10 - March 22	Case studies
	Peter Beggs

Session 11 - March 29	Rational Unified Process

Session 12  April 5	Trends and Directions and Wrap-up
	Peter Beggs & presenters team

Additional Lecture ECE 1770 (April 9th)
 			Course project presentations

Course Objectives

This year the course is co-taught with IBM Experts who will outline the latest industry trends, especially as pertaining to Web services and Service-orientation. There are two parts to the course. The first part is comprised of the weekly lectures by IBM Experts and the second part is comprised of the additional weekly lectures by Professor Jacobsen.

This course constitutes an introductory-level graduate course that aims at discussing industry trends in the middleware space (invited lectures held by IBM Experts.)

This course also aims at introducing invariant middleware systems concepts and introducing the student to middleware systems research questions.

Class Project

This course is project-based, i.e., you have to propose and carry out a project that investigates an issue within the scope of middleware systems. A list of suggested topics will be discussed in class.

The guidelines for research projects are as follows:

The course project may be conducted in groups of two students. In the course project you should demonstrate the ability to do research by solving a small research problem. The emphasis of the project is to apply a solid research methodology from beginning to end. You will learn about what a solid research methodology is in reading and analysis various research papers throughout the course (i.e., for the expert topics and the additional lectures of the course.)

For your final project write-up you must use the proposed format (cf. ACM proceedings format.) Do not write more than 8 pages in the given format. Note, you may write less, if you are able to express your project results in fewer pages.

Your project report must be of "publishable quality". This means, the presentation should not include typos, not contain too many grammatical errors, etc. It DOES NOT mean that your paper must be ready for publication in a major conference. (Even though this would be a desirable future result, but is not necessary in order to achieve a good result in the course !)

Project marking break-down (tentative, may change)

Final project timeline etc.: Progress Report:
- submit a progress report by e-mail in ASCII (plain e-mail) anytime before

- it should contain:
  - brief and concise description of the problem you are working on
  - describe your approach
  - summary of accomplishments so far
  - next steps 
  - problems encountered and how you anticipate to solve them
Project Proposals:
- just send me a ***plain e-mail*** with a description
- NO!!! Attachement (will be returned on simply trashed.)
- the proposal should follow the Statement of Work (SOW) Pattern
introduced by Gordon Lee in his lecture (first lecture)
- the proposal should include the following points:

    - problem statement: identify the problem
    - relevance: state why this is an important problem
    - related approaches: briefly review what others have done to solve this  problem
    - approach: say what you intend to do to solve the problem
    - describe anticipated difficulties

Project idea suggestions

A list of suggested project topics will be distributed in class a few weeks after the beginning of the semester.


The course mark is broken down as follows:

Expert topic presentation

The expert topics are topics that you select among a set of topics outlined in the first additional lecture on Monday, January 15th. An expert topic requires you to read a few papers on a specific topic. You will then have to conduct a focused 20 minute presentation on the topic and lead a subsequent discussion of about 40 minutes. Leading a discussion can best be done by preparing a few controversial questions about the reading material and bluntly asking them. Often, it is a challenge to get other students in the class to respond and engage them in the discussion, so prepare for that.

Final exam

Date, time, and modus operandi to be determined. Often we opt for a 48 hour take-home exam towards the end of the course. The exam poses a little research problem that is to be solved (see past years.) To accommodate part-time students we select a Friday Monday period (i.e., actually longer than 48 hours.) The exam tests whether you can apply the concepts covered in class on a specific and well-defined research question.