Winter
2009/10

Middleware Platforms
(half-course, 4VL + 2 PR)

Instructor(s): Prof. Redlich, Dr. Zubow
Lecture: Tuesday and Thursday, 09:30-11:00, RUD 26, Room 1'303
Lab/PR: Tuesday or Thursday, 11:15-12:45, RUD 26, Room 1'303
 


Computer Science Department
Systems Architecture Group

Note. Most of the course material for this lecture is in English.
However, lecture, labs and examinations are in German. Oral examinations can optionally be in English.
 

Oral Examination:

  • Date:  February 23, 2010 (a Tuesday)

  • Place:  Room 3.328   (Rud 25)

  • Prior registration required (Mrs Albrecht's office, 3.302)
     

  • Prüfungskomplexe for 2009/10 can be found >>>here<<<
     

 
Abstract: Middleware provides a standardized infrastructure for distributed computing. It comprises standardized programming APIs, augmented by a set of core services that make it possible to develop and execute distributed applications in heterogeneous environments. The primary objectives of middleware are to foster application portability and application interoperability. Middleware is, roughly speaking, the software below the application and above the operating system / network. Common middleware platforms include, Java-RMI, CORBA, CORBA Components, and Java Beans.
 
Synopsis:
  • Half-Course, Praktische Informatik, Hauptstudium/Masterstudium.
  • Offered regularly, usually in fall, at least once every two years.
  • 2 lectures per week, over one semester (4SWS VL + 2SWS PR).
  • Prerequisites: PI 1,2,3; basic knowledge in computer networks (TCP/IP), Java, XML.

Credits and grading:

  • Oral examinations are offered by the instructor at the end of the semester, and at the beginning of the following semester.
  • To qualify for the examination, students have to complete lab assignments to the satisfaction of the teaching assistant.

Lab (Praktikum):

  • Labs are scheduled every 2 weeks at the time and place specified above. A teaching assistant will be present at each lab to assist students with questions and problems.
  • Participation (physical presence) at the lab is mandatory in order to obtain credits for the assignment.
  • A lab worksheet will be published on this web site a few days before the corresponding lab is scheduled (usually Friday). Students should use this time to adequately prepare for the lab.
  • Results have to be submitted via GOYA for grading. Submission deadlines are specified on the worksheets (usually 14 days after the assignment was published).
  • Worksheets: [lab1], [lab2], [lab3], [lab4], [lab5]
  • Slides: [lab1], [lab2], [lab3], [lab4], [lab5]
  • Deadlines:
     Vorbesprechung (preliminary talk)Abgabe (delivery)Nachbesprechung (review)
    Lab 127/29.10.200916.11.200924/26.11.2009
    Lab 217/19.11.200930.11.200908/10.12.2009
    Lab 308/10.12.200904.01.201012/14.01.2010
    Lab 405/07.01.201018.01.201026/28.01.2010
    Lab 519/21.01.201001.02.201009/11.02.2010

Syllabus:


  A. Introduction
 
  • Admin Info
    lecture slides [pdf]
  • Motivation
    lecture slides [pdf]
  • Client Server Model, Variations, Objects
    lecture slides [pdf]
  • Design Patterns
    lecture slides [pdf]
    Erich Gamma. Design Patterns. 1997. ISBN 0201633612
    Patterns Library: http://hillside.net/patterns/
  • Inter Process Communication / Network Communication  (optional)
    informational slides - not presented in class [pdf]
    W. R. Stevens. UNIX Network Programming, The Sockets Networking. 2004. ISBN 013490012X
Ulrike Hammerschall. Verteilte Systeme und Anwendungen. Pearson, 2005.
 
  B. Java Remote Method Invocation (RMI)
 
  • Programming model
  • Remote Interfaces and Remote Objects
  • Architecture
  • Parameter passing
  • Failure handling
  • Naming
  • Development Process
lecture slides [pdf]
SUN's RMI tutorial  [http://java.sun.com/developer/onlineTraining/rmi/RMI.html] [cached pdf]
 
  C. CORBA (Common Object Request Broker Architecture)
 
  • CORBA Architecture Overview
    lecture slides [pdf]
  • Hello World in CORBA
    lecture slides [pdf]
  • ORB Architecture
    lecture slides [pdf]
  • CORBA IDL
    lecture slides [pdf]
  • Interoperability
    lecture slides [pdf]
  • Common Object Services
    lecture slides [pdf]
  • CORBA Component Model  (optional)
    informational slides - not presented in class
Jens-Peter Redlich. Corba 2.0. Praktische Einführung für C++ und Java. ISBN 3827310601
Jon Siegel. CORBA 3 - Fundamentals and Programming. ISBN 0471295183
The Rise and Fall of CORBA
ORB interoperability (IONA/Orbix handbook chapter)
 
  F. WebServices
 
  • WebServices Overview
    lecture slides [pdf]
The Java WebServices Tutorial
 
  D. Enterprise Java Beans (EJB)
 
  • Introduction
    lecture slides [pdf]
  • Component Models
    lecture slides [pdf]
  • Architectural Overview
    lecture slides [pdf] (dynamic proxy [zip])
  • Primary Services
    lecture slides [pdf]
  • Development
    lecture slides [pdf]
  • Persistence
    Basic Persistence [pdf]
    O/R Mapping [pdf]
    Entity Relationships [pdf]
    Entity Inheritance [pdf]
    Query Language [pdf]
    Entity Callbacks [pdf]
  • Session Beans
    lecture slides [pdf]
  • Interceptors
    lecture slides [pdf]
  • Message-Driven Beans
    lecture slides [pdf]
  • Transactions
    lecture slides [pdf]
  • Web Services
    lecture slides [pdf]
  • Quiz
    tricky [pdf]
EJB Specification, 3.0, http://java.sun.com/javaee/5/docs/api/index.html
EJB Specification, 2.1, http://java.sun.com/products/ejb/docs.html
Enterprise JavaBeans 3.0 by B. Burke, R. M.-Haefel, Covers EJB 3.0, ISBN 0-596-00978-X
Enterprise JavaBeans by Richard Monson-Haefel, Covers EJB 2.1, O'Reilly, 2004, ISBN 0-596-00530-X
Java Message Service by R. Monson-Haefel, D. Chappell, O'Reilly, ISBN 0-596-00068-5
Java RMI by W. Grosso, O'Reilly, 2002, ISBN 1-565-92452-5
  E. Microsoft .NET
 
  • .NET Framework (Overview)
    lecture slides [pdf]
  • CRL
    lecture slides [pdf]
  • Assemblies
    lecture slides [pdf]
  • .NET Remoting
    lecture slides [pdf]
§Howard Gilbert – .NET Framework
http://pclt.cis.yale.edu/tp/framework.htm
§Microsoft .NET: Implement a Custom Common Language Runtime Host for Your Managed App
http://msdn.microsoft.com/msdnmag/issues/01/03/clr/default.aspx
§Narayana Rao Surapaneni – Programming Basics in Intermediate Language
http://www.awprofessional.com/articles/article.asp?p=25917
.NET Remoting – Design and Develop Seamless Distributed Applications for the Common Language Runtime [cached pdf] http://msdn.microsoft.com/msdnmag/issues/02/10/netremoting/default.aspx
Microsoft .NET Remoting: A Technical Overview [cached pdf] http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/hawkremoting.asp
Jeffrey M. Richter. Microsoft .NET Framework-Programmierung in C#. Expertenwissen zur CLR und dem .NET Framework 2.0. 2006. ISBN: 3860639846.
McLean, Naftel, Williams - Microsoft .NET Remoting http://www.amazon.de/exec/obidos/ASIN/0735617783
 Links
HPI
Komponentenprogr. und Middleware (VL)
Univ. of Toronto
Course ECE1770 (spring 2001
)
Douglas C. Schmidt
CORBA home page

Legal disclaimer. .  © 2024 Humboldt-Universität zu Berlin, Computer Science Department, Systems Architecture Group.Contact: sar@informatik.hu-berlin.de .