Winter
2005

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

Instructor(s): Prof. Jens-Peter Redlich, Dipl-Inf. Zubow, Dipl-Inf. Kurth
VL Tuesday , 09:30 - 11:00, RUD 25, Room 3.113
PR Tuesday , 11:15 - 12:45, RUD 25, Room 3.113
VL Thursday, 09:30 - 11:00, RUD 25, Room 3.113


Computer Science Department
Systems Architecture Group

Prüfungskomplexe: hier

Nächster Prüfungstermin: 24. April 2005 (Montag).
Anmeldung und Terminvergabe, bitte frühestmöglich, über Frau Albrecht (Sekretärin)

 
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.
  • 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:

  • Grades for this half-course will be determined during a half-hour oral examination.
  • 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:
    • attend lectures regularly (at least 90%).
    • complete lab assignments to the satisfaction of the teaching assistant.

Lab (Praktikum):

  • There are 7 lab assignments.
  • 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:  [lab0]   [lab1]   [lab2]   [lab3]   [lab4]   [lab5]   [lab6]
     
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
    lecture slides [draft pdf]
    W. R. Stevens. UNIX Network Programming, The Sockets Networking. 2004. ISBN 013490012X
  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]
  • CCM - CORBA Component Model
    lecture slides [pdf]
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
Bertram Neubauer, Tom Ritter, Frank Stoinski. CORBA Komponenten. ISBN 3540009221
 
  D. Enterprise Java Beans (EJB)
 
  • EJB Introduction
    lecture slides [pdf]
  • Component Models
    lecture slides [pdf]
  • Architectural Overview
    lecture slides [pdf]
  • Resource Management & Primary Services
    lecture slides [pdf]
  • Development
    lecture slides [pdf]
  • Client View
    lecture slides [pdf]
  • Persistence
    lecture slides [pdf]
  • Query Language
    lecture slides [pdf]
  • Asynchronous Messaging
    lecture slides [pdf]
  • Bean Life Cycle
    lecture slides [pdf]
  • Transactions
    lecture slides [pdf]
  • Security
    lecture slides [pdf]
  • Timer Service
    lecture slides [pdf]
  • Web Services
    lecture slides [pdf]
  • What's New in EJB 3.0
    lecture slides [draft_pdf]
Enterprise JavaBeans Specification, 2.1, http://java.sun.com/products/ejb/docs.html, Sun Microsystems, 2002
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
Enterprise JavaBeans 2.1 by Martin Kompf, Galileo Computing, 2004, ISBN 3-898-42420-0
Java Enterprise in a Nutshell by J. Farley, W. Crawford, D. Flanagan, Covers EJB 2.0, O'Reilly, 2002, ISBN 0-596-00152-5
EJB Design Patterns by Floyd Marinescu, John Wiley & Sons, 2002, ISBN 0-471-20831-0
Developing Java Enterprise Applications by S. Asbury, S.R. Weiner, Covers EJB 2.0, John Wiley & Sons, 2001, ISBN 0-471-40593-0
Java RMI by W. Grosso, O'Reilly, 2002, ISBN 1-565-92452-5
Professional EJB by Ardatia, Arni, Gabhart, ..., Wrox Press, Covers EJB 2.0, 2001, ISBN 1-861-00508-3

Readings (Books):

  • Java in a Nutshell by David Flanagan, 3rd Edition, O'Reilly, 1999, ISBN 1-56592-487-8
  • Component Software - Beyond Object-Oriented Programming by Clemens Szyperski, Addison-Wesley, 1999,  ISBN 0-201-17888-5
  • Design Patterns - Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,Addison-Wesley, 1995, ISBN 0-201-63361-2
  • Objektorientierte Softwareentwicklung - Analyse und Design mit der Unified Modeling Language by Bernd Oesterreich, 5-te Auflage, Oldenbourg Verlag, 2001, ISBN 3-486-25573-8
 Links
HPI
Komponentenprogr. und Middleware (VL)
Univ. of Toronto
Course ECE1770 (spring 2001
)
Douglas C. Schmidt
CORBA home page

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