Basic information (2017/2018)

Times and locations: Lectures:
     Wed 12:20 S7 (in English)
     Tue 17:20 SU1 (see the schedule)
Lecturer: Petr Tůma <tuma<at-sign>>
Lab instructor: Vlastimil Dort <dort<at-sign>>
Information in SIS: NSWI080

Lab Assignment Schedule

The schedule will be refined in the first week of the semester. In the first week of the semester, labs will not be held.

The following table contains due dates of lab assignments and dates when labs are held. You can find more information about lab assignments and due dates below.

Assignment Tuesday (even week)
Labs Assignment deadline
1. Java RMI: Principles of RPC – Assignment, agenda, source files
  — Java 8 RMI API
  — Java RMI Home
6th March19th March
2. CORBA: C++ language mapping – Assignment, agenda, source files, IOR
  — Maping of CORBA IDL to C++ (Mapping to C++11)
  — omniORB: 4.2.2-bin [BZ2], source
  — TAOX11 (CORBA IDL pro C++11)
20th March2nd April
3. JMS: ActiveMQ – Assignment, agenda, source files
  — ActiveMQ current
3rd April16th April
4. Chord: DHT in Python – Assignment, agenda, source files
  — Chord XZ
17th April30th April
5. EJB: OpenEJB – Assignment, agenda, source files
  — OpenEJB GZ
15th May28th May


There is a dedicated mailing list intended for exchange of information between students and the teachers. Please use this list as the primary medium to send questions and remarks regarding the course. If you have a question or remark that you do not want to share in the mailing list, you can also use the e-mail address given above.


The topics of the lecures loosely alternate between general principles and specific technologies in five thematic units – middleware for communication based on remote procedure calls, middleware for communication based on sending messages, middleware for other forms of communication, middleware for components, middleware for persistence. The topics of the labs also follow these thematic units. The arrangement may change according to the current situation.

  • Architectures And Middleware
  • Remote Procedure Call
    • Introduction And Principles. Technologies: RMI, Sun RPC, .NET Remoting
    • Advanced Features. Technologies: CORBA (IDL, Language Mappings, POA, Protocols), DCE, DCOM, Web Services (SOAP, WSDL, UDDI, Composition)
  • Messaging
    • Communication Protocols Rehearsal. Multicast Communication Protocols. Technologies: MQSeries, JMS, DDS.
    • Protocols With Message Ordering. Technologies: GM, MPI.
  • Other
    • Distributed Hashing. Technologies: CAN, Chord, Pastry.
    • Shared Memory. Technologies: JavaSpaces.
  • Components
    • Introduction And Principles. Technologies: EJB, OSGi.
  • Persistence
    • Introduction And Principles. Technologies: Java Persistence.


To get credit from the course, you have to obtain at least 7 points over the semester. You can get points from either completing an individual semestral assignment or by completing assignments given in the labs.

For each semestral assignment, you can obtain 2 to 6 points depending on the complexity of the task. The due date for this task is typically the end of the summer term exam period. The specific task and the due date must be agreed on with the lecturer in advance.

For each lab assignment, you can obtain 2 points. In every two successive labs, a substantial portion of the first lab is spent by explanation of the assignment, and the beginning of the next lab is used to recapitulate and discuss the correct solutions. Each assignment is focused on using one specific middleware technology.

You can find the number of points obtained from the lab assignments in a table of results.

The conditions that apply to obtaining the points from the lab assignments are:

  • You must be present in person in the lab where the assignment is explained. (Without attending the lab in person, you cannot submit the assignment.)
  • To obtain two points you have to submit the assignment by the due date given in the lab assignment schedule. Submit the soulition to the e-mail address of the lab instructor. The solution must satisfy all requirements given in the assignment (mentioned in the labs) and it must be easy to run.
  • If the submitted solution contains small deficiencies, you can (after fixing them) present the solution to the lab instructor on the closest following lab date and obtain one point. In this case, the presentation in the lab is mandatory.
  • For a solution submitted after the due date, but before the closest following lab, you can also obtain one point. In this case, the presentation in the lab is mandatory.
  • Presentation of the last assignment (in case of fixing deficiencies / missing the due date) will be dealt with individually.

Teaching Materials

The available materials are working notes in HTML and PDF and slides shown in the lectures in HTML and PDF.

Here are slides from a substitute lecture, which took place on 14th May 2012.

Here are slides from a substitute lecture, which took place on 19th March 2012 (CORBA).

Logo of Faculty of Mathematics and Physics
  • Phone: +420 951 554 267, +420 951 554 236
  • Email: info<at-sign>
  • How to find us?
Modified on 2018-05-15