SubjectsSubjects(version: 850)
Course, academic year 2019/2020
   Login via CAS
Middleware - NSWI080
Title in English: Middleware
Guaranteed by: Department of Distributed and Dependable Systems (32-KDSS)
Faculty: Faculty of Mathematics and Physics
Actual: from 2019 to 2019
Semester: summer
E-Credits: 5
Hours per week, examination: summer s.:2/1 MC [hours/week]
Capacity: unlimited
Min. number of students: unlimited
State of the course: taught
Language: English, Czech
Teaching methods: full-time
Additional information:
Guarantor: prof. Ing. Petr Tůma, Dr.
Class: Informatika Mgr. - Softwarové systémy
Classification: Informatics > Software Engineering
Annotation -
Last update: Tajemník Katedry (04.05.2017)
Middleware refers to technologies used to build modern distributed applications. This is a middleware course for advanced students. It introduces the role of middleware in modern software architectures, and then focuses on individual features typically offered by middleware technologies such as remote procedure call, messaging, deployment and others. For each feature, the course discusses the general issues involved and introduces the specific technologies used to address the issues.
Course completion requirements -
Last update: prof. Ing. Petr Tůma, Dr. (16.02.2018)

Course credit requires solving approximately 80% of course assignments handed out during labs, determined by a point system.

Given that an essential course credit requirement is systematic work during the semester, retakes are not possible.

Literature -
Last update: Tajemník Katedry (04.05.2017)

Specifikace jednotlivých technologií, například:

RMI, JMS, JPA, JTA Specifications, Oracle Technology Network,

EJB Home, Oracle,

CORBA, CCM, DDS Specifications, OMG,


OSGi Specification,

MPI Specification, MPI Forum,

Hazelcast Home,

JGroups Home,

0MQ Home,

Requirements to the exam -
Last update: prof. Ing. Petr Tůma, Dr. (16.02.2018)

There is a written exam, graded using a point system.

Syllabus -
Last update: Tajemník Katedry (04.05.2017)

1. Distributed application architectures (client-server, multi-tier, SOA, ESB, P2P, IoT ...), purpose of middleware

2. Common design patterns and mechanisms (remote procedure call, messaging, distributed shared memory, agents ...)

3. Communication protocols (PGM, AMQP, IIOP, MQTT ...)

4. Messaging technologies (MPI, JMS, ActiveMQ, 0MQ, DDS ...)

5. Remote procedure call technologies (SOAP, CORBA ...)

6. Shared memory technologies (Hazelcast, memcached ...)

7. Technologies for software agents (ProActive, Akka ...)

8. Technologies for software components (OSGi, Fractal ...)

9. Technologies for data storage (JPA, JTA, Fink, Couchbase ...)

10. Other selected examples

The list of specific technologies changes to accommodate the current technological development and practical lecture constraints.

Charles University | Information system of Charles University |