SubjectsSubjects(version: 879)
Course, academic year 2020/2021
  
Middleware - NSWI080
Title: Middleware
Guaranteed by: Department of Distributed and Dependable Systems (32-KDSS)
Faculty: Faculty of Mathematics and Physics
Actual: from 2020
Semester: summer
E-Credits: 4
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: http://d3s.mff.cuni.cz/mwy
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. (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