SubjectsSubjects(version: 945)
Course, academic year 2023/2024
   Login via CAS
Middleware - NSWX080
Title: Middleware
Guaranteed by: Student Affairs Department (32-STUD)
Faculty: Faculty of Mathematics and Physics
Actual: from 2019
Semester: summer
E-Credits: 5
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
Teaching methods: full-time
Teaching methods: full-time
Is provided by: NSWI080
Additional information: http://d3s.mff.cuni.cz/teaching/middleware
Guarantor: prof. Ing. Petr Tůma, Dr.
Class: Informatika Mgr. - Softwarové systémy
Classification: Informatics > Software Engineering
Pre-requisite : {NXXX010, NXXX026, NXXX027, NXXX028, NXXX029, NXXX032, NXXX034, NXXX035, NXXX068}
Incompatibility : NSWI080
Interchangeability : NSWI080
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. (14.02.2020)

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: Tajemník Katedry (04.05.2017)

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

RMI, JMS, JPA, JTA Specifications, Oracle Technology Network, http://www.oracle.com/technetwork/java/index.html.

EJB Home, Oracle, http://www.oracle.com/technetwork/java/javaee/ejb/index.html.

CORBA, CCM, DDS Specifications, OMG, http://www.omg.org.

WebServices SOAP/WSDL/UDDI, OASIS, http://www.oasis-open.org.

OSGi Specification, http://www.osgi.org/developer/specifications.

MPI Specification, MPI Forum, http://www.mpi-forum.org.

Hazelcast Home, http://www.hazelcast.org.

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

0MQ Home, http://www.zeromq.org.

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 | http://www.cuni.cz/UKEN-329.html