SubjectsSubjects(version: 953)
Course, academic year 2023/2024
   Login via CAS
Middleware - NSWI080
Title: Middleware
Guaranteed by: Department of Distributed and Dependable Systems (32-KDSS)
Faculty: Faculty of Mathematics and Physics
Actual: from 2022
Semester: summer
E-Credits: 4
Hours per week, examination: summer s.:2/1, MC [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: English, Czech
Teaching methods: full-time
Teaching methods: full-time
Additional information:
Guarantor: prof. Ing. Petr Tůma, Dr.
Class: Informatika Mgr. - Softwarové systémy
Classification: Informatics > Software Engineering
Is incompatible with: NSWX080
Is interchangeable with: NSWX080, NSWI163
Annotation -
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.
Last update: Katedry Tajemník (04.05.2017)
Course completion requirements -

The course focuses on solving and discussing assignments, each solution is graded on a scale of 0-10 points based on correctness and additional evaluation criteria (presentation, documentation, design, style). The overall grade is determined from the point average (minimum 5 for "good", 7 for "very good", 9 for "excellent"). Given that an essential course credit requirement is systematic work during the semester, retakes are not possible.

Last update: Tůma Petr, prof. Ing., Dr. (14.02.2020)
Literature -

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,

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

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.

Last update: Katedry Tajemník (04.05.2017)
Charles University | Information system of Charles University |