Module CSC5002—ASR6: Middleware and software architecture for distributed applications

Portail informatique
Course's prerequisites: Objectives of the teaching unit: After this teaching unit, you should be able to:
  1. Identify and utilise the main paradigms for interaction between distributed entities (synchronous call, callbacks, asynchronous calls, publish/subscribe) through the study and practical application of various middleware technologies (REST, Server-Sent Events, AMQP, MQTT, JavaEE).
  2. Design and implement a distributed application comprising several microservices. The application will be developed as part of a microproject spanning the entire teaching unit.
  3. Identify design patterns and architectural patterns that use middleware for distributed applications: for example, microservices patterns such as the Ports & Adapters design pattern.
  4. Define the concept of quality in distributed architecture and analyse the architecture choices that enable software architecture quality requirements to be met (for example, interoperability and scalability), and apply these elements when designing a distributed application: for example, decomposition into microservices using the Domain Driven Design Approach.

Sequencing