Winter
2006/07

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

Instructor(s): Prof. Jens-Peter Redlich, Dipl-Inf. Zubow, Dipl-Inf. Kurth
 


Computer Science Department
Systems Architecture Group

Prüfungskomplexe: hier

Prüfungstermine: 27-28. Februar und 26-27. März.
Anmeldung 14 Tage im voraus ü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:

  • 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).
  • Information about the lab in our Wiki
  • Worksheets:  [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  (optional)
    informational slides - not presented in class [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 [draft]
  • Interoperability
    lecture slides [draft]
  • Common Object Services
    lecture slides [draft]
  • CORBA Component Model  (optional)
    informational slides - not presented in class [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
The Rise and Fall of CORBA
ORB interoperability (IONA/Orbix handbook chapter)
 
  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]
  • Client View
    lecture slides from last year (covers EJB 2.1) [pdf]
  • Persistence
    Basic Persistence [pdf]
    O/R Mapping [pdf]
    Entity Relationships [pdf]
    Entity Inheritance [pdf]
    Query Language [pdf]
    In EJB 2.1 (last year slides [pdf], [pdf])
  • Session Beans
    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.   © 2017 Humboldt University Berlin, Computer Science Department, Systems Architecture Group.Contact: sar@informatik.hu-berlin.de .