SubjectsSubjects(version: 945)
Course, academic year 2023/2024
   Login via CAS
Introduction to Middleware - NSWI163
Title: Úvod do middleware
Guaranteed by: Department of Distributed and Dependable Systems (32-KDSS)
Faculty: Faculty of Mathematics and Physics
Actual: from 2023
Semester: winter
E-Credits: 1
Hours per week, examination: winter s.:0/1, MC [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech
Teaching methods: full-time
Teaching methods: full-time
Additional information: http://d3s.mff.cuni.cz/teaching/introduction_to_middleware
Guarantor: prof. Ing. Petr Tůma, Dr.
Class: Informatika Bc.
Classification: Informatics > Software Engineering
Incompatibility : NSWE002
Interchangeability : NSWE002, NSWI080
Annotation -
Last update: doc. RNDr. Petr Hnětynka, Ph.D. (09.05.2018)
Do you know what your bank, your favorite news site, and your last visit to the Student Information System have in common? Middleware! Google and Twitter, but also mobile banking and online shops, use middleware - that is, technologies that facilitate communication over the internet. This course introduces middleware technologies for communication with remote servers, data exchange and some more, in practical labs. Note: The labs use code in C++, Java or Python, basic skills with code (reading and small scale modifications) are expected.
Course completion requirements -
Last update: prof. Ing. Petr Tůma, Dr. (30.09.2019)

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.

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

Individual technology documentation, specifically:

protobuf Home, http://developers.google.com/protocol-buffers

Google RPC Home, http://www.grpc.io

JGroups Home, http://www.jgroups.org.

OpenAPI Initiative Home, https://www.openapis.org

OpenAPI Generator Home, https://openapi-generator.tech

Syllabus -
Last update: prof. Ing. Petr Tůma, Dr. (04.10.2022)

1. Client-server architecture - motivation, technical challenges.

2. Serialization - technical challenges, solution alternatives. Example with protobuf.

3. RPC - application, technical architecture. Example with gRPC.

4. Messaging - application, technical architecture. Example with jGroups.

5. Security - secure communication basics, TLS, OAuth. Example with gRPC.

6. API - specification. Example with OpenAPI.

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

 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html