SAE

Software Application Engineering

Description: The application architecture of a system defines its software components and the exchanges between them, as well as their implementation on the hardware architecture. It naturally stands at the crossroads of development and operations missions. This course provides a typology of the main application architectures and presents the concepts of “devops”, a set of practices that facilitate the automation of software delivery. Some concepts will be implemented on an illustrative architecture.

Content: Introduction to devops (software life cycle, agility, CI CD pipeline, build, versioning, tests, containers, infrastructure as code): principles and overview of some tools Typology of application architectures and associated technologies, middleware (focus on MOM)

Prerequisites: Students are expected to review their 1rt year SIP course before taking this one. They must also be comfortable in Java (self studies are provided), and with Git and Linux.

Learning outcomes: At the end of this course, students will be able to choose the application architecture best suited to their project and will be able to implement a software solution based on message queuing. They will be able to quickly integrate into an application development and deployment chain and will be familiar with the use of a few tools.

Teaching methods: General concepts will be presented in class. Practical, guided tutorials will then enable students to familiarize themselves with the associated approaches and tools. Finally, they will apply their new knowledge and skills to a project that will be enriched over the course of the sessions, and which will serve as an example for the evaluation project carried out independently.

Means: The lab works use free software that can be installed directly on students’ personal computers. A prepackaged container is also provided. Students take advantage of the clusters of the campus for some deployments.

Evaluation methods: Knowledge and skills will be assessed on the basis of a few individual written tests taking place during the lab sessions and a project

Evaluated skills:

  • Be operational, responsible, and innovative in the digital world

Course supervisor: Virginie Galtier

Geode ID: 3MD1510