Module CSC5002—ASR6: Middleware and software architecture for distributed applications
Portail informatique
Home
Emploi du temps ASR
Help
Required software
EJB
REST
Docker
RabbitMQ
GitLab
Git
JAVA et Eclipse
Maven
Content
Software Installation
TODO before
TODO
Required software
Lecture 1
Tue. 17/09 PM
Introduction
Introduction
Presentation of the teaching unit
"Middleware for Internet distributed applications"
Middleware definitions and overview
For the curious: Fundational book on Middleware Architecture with Patterns and Frameworks
Introduction to design patterns for middleware
Discover the
Microproject subject
Middleware
, interaction styles, application servers, component-based architecture
Introduction to design patterns for distribution
Software architecture
Software architecture
Introduction to software architecture
Quality attributes: In the report, we ask you to analyse the architecture of the application with regard to two quality attributes chosen among 6, the following chapters may help you.
Availability/fault tolerance
Security
Interoperability
Modifiability
Scalability
Performance
Software architecture, views, attribute-driven design, quality attributes, tactics, architectural patterns
Lecture 2
Fri. 20/09 PM
Component middleware
Component middleware
Component Middleware
JavaEE Lab 1
— Stateless and Stateful Beans
Explanations on code samples
Notion of interface, component, container, application server
Functional vs extra-functional services
Enterprise JAVA Beans, RMI-IIOP, JAVA Naming and directory interface, Persistence
Stateless/Stateful Session bean, Annotations, Asynchronous Method Invocation (Future)
Lectures 3 and 4
Tue. 24/09 PM and Fri. 27/09 PM
Component middleware and Microservices
Component middleware and Introduction to microservices with Docker
Component Middleware
JavaEE Lab 2
— Entity Beans
Create a gitlabense project by a fork from the microproject skeleton
Getting started with the microproject
Introduction to microservices with Docker
Summary of main Docker commands
Lab 1: Discover Docker
Lab 2: Experiment with Docker containers
Entity bean, Multiplicities (one-to-one, one-to-many, many-to-one, many-to-many)
Persistence management mode, container-managed, bean-managed, persistence context
System container, Docker, Microservices
Fri. 27/09
10:00 to 12:00
Conference
Conference
Conference by Anne-Cécile Orgerie - CNRS - Green Computing - (visio)
Lectures 3 and 4
Fri. 27/09 PM
Microproject
Microproject
Work on microproject - TourManagement part
Lectures 6 & 7
Tue. 01/10
and Fri. 04/10 PM
REST Web Services
REST
Synchronous middleware
(slides)
RESTful WebServices in Java
(slides)
Install postman as a REST Client
Understand the skier example.
Use the emulated visit as a REST server and move the tourists on the map
Architectural style, WWW, RESTful, REST resource
CRUD (HTTP): Create (POST), Read (GET), Update (PUT), Delete (DELETE)
JAXB, Format (plain text, html, xml, json [JavaScript Object Notation], image, video),
JAXB (JAVA Architecture for XML Binding), serialisation, Un/Marshalling, Annotations
JAX-RS, RESTful WebServices, Annotations
Lecture 8
Tue. 8/10 PM
Conference
Conference
Conference by Charles Caporali (ASR 2018) - Red Hat
Lecture 9
Fri. 11/10 PM
Conference
Conference
Conference by Nenad Bogojevic - Senior Expert Technical Platform Solutions Amadeus SAS
Lecture 10
Tue. 15/10 PM
Publish-subscribe middleware (1/4)
Publish-subscribe middleware (1/4)
Lecture
DEBS — Basics (1/3)
Addendum
on the formal specification and distributed algorithms
DEBS with topic-based filtering —
Lab to discover AMQP–RabbitMQ
AMQP questions
after the Topic-Based DEBS lab on RabbitMQ
Event-based (a.k.a. publish-subscribe) (initiator = provider and adressee = indirect) versus request/reply, callback (a.k.a. observer/observable), anonymous request/reply
EBS service: notification, advertise, subscribe, publish, notify, producer, consumer
Notification filtering: channel-based, subject-based (a.k.a. topic-based), type-based, content-based
AMQP: message queue, exchange, binding, binding and routing keys, wildcards (
/
,
#
and
*
)
Lecture 11
Fri. 18/10 PM
Publish-subscribe middleware (2/4)
Publish-subscribe middleware (2/4)
Lecture
DEBS — Basics (2/3)
Addendum
on DEBS for IoT systems
DEBS with topic-based filtering —
Lab to discover MQTT–Mosquitto
DEBS Lab on the microproject —
group communication system
DEBS Lab on the microproject —
integration phase
MQTT: QoS0/"At most once", QoS1/"At least once", QoS2/"Exactly once", session and
CleanSessions
, and
RETAIN
flag, wildcards (
/
,
#
, and
+
)
Lectures 12 and 13
Tue. 22/10 PM and Fri. 25/10 PM
Publish-subscribe middleware (3—4/4)
Publish-subscribe middleware (3—4/4)
Lecture
DEBS — Basics (3/3)
Addendum
on RabbitMQ versus Kafka
DEBS Lab on the microproject —
adding authentication
DEBS Lab on the microproject —
lobby room
AMQP, virtual host, access control
Kafka: cluster, partitioned log, structured commit log, topic, consumers join groups, leader and followers, total order within a partition
Defense
Fri. 08/11
Defense
Microproject
Schedule of oral presentations
Sorry, the requested resource doesn't exist