DM848: Microservice Programming (10 ECTS)

STADS: 15018201

Level
Bachelor course

Teaching period
The course is offered in the spring semester.

Teacher responsible
Email: fmontesi@imada.sdu.dk

Timetable
Group Type Day Time Classroom Weeks Comment
Common I Monday 10-12 IMADA semi 14-15,18
Common I Monday 10-12 U11 17
Common I Tuesday 13-15 U57 6
Common I Tuesday 13-15 U103 16,21-22
Common I Tuesday 13-15 U69A 18-19
Common I Tuesday 13-15 U143 20
Common I Wednesday 10-12 IMADA semi 9
Common I Thursday 13-15 U103 6-7,9,14-15,17,19-21
Common I Thursday 10-12 IMADA semi 10,16
Common I Thursday 13-15 U69A 11
Common I Thursday 09-11 U69A 13
Common I Thursday 14-16 U45 22
Common I Friday 12-14 IMADA semi 7
Common I Friday 13-15 IMADA semi 10-11,13
Show entire timetable
Show personal time table for this course.

Comment:
Ubegrænset deltagerantal.

Prerequisites:
None

Academic preconditions:
The content of DM519 Concurrent Programming and DM505 Database Design and Programming should be known

Course introduction
The course is an introduction to microservice programming, a paradigm in which software is built by composing distributed services that can be independently developed and deployed. Adopting microservices can offer benefits, among others, in terms of composability, resilience, and scalability of software projects. Application domains include therefore Web applications, system integration, mobile systems, and Business to Business (B2B) interactions.
The course will cover recent research and technologies for the programming of microservices, with an emphasis on the link between research and practice.

Qualifications
The participants will acquire detailed insight into the design and implementation of service-oriented systems, and will be able to independently analyse, present, and apply new technologies for the development of microservices.

Expected learning outcome
After the course the students are expected to:
  • Identify the key advantages and complexities of microservice architectures
  • Illustrate and combine the patterns presented in the course for the design of microservice architectures
  • Analyse and compare different approaches to the coordination of services
  • Implement microservice systems using the techniques and technologies within the scope of the course
  • Reason about the correctness of coordination strategies and their implementation
Subject overview
Microservice architectures, service choreography and orchestration, actor and process languages, workflow languages, behavioural specifications of communication protocols, service monitoring, scalability of services, continuous delivery.

Literature
There isn't any litterature for the course at the moment.

Website
This course uses e-learn (blackboard).

Prerequisites for participating in the exam
Oral presentation. Pass/fail, internal evaluation by teacher.

Assessment and marking:
Written project. Evaluated by Danish 7-mark scale. External censorship.

The final project can be either a software project (including code and a written report) or a paper covering theoretical aspects of microservice programming.



Expected working hours
The teaching method is based on three phase model.
Intro phase: 30 hours
Skills training phase: 30 hours, hereof:
 - Tutorials: 30 hours

Educational activities
This is an advanced course in which research and practice are combined.
Lectures will include live demonstrations and collaborative exercises in software development.

Part of the course is organised as a reading group. Each participant will independently study some material, either research or current practices, and give a presentation on a topic selected in accordance with the teacher. Participants can propose their own topics. The teacher will give lectures on how to prepare for this task.



Language
This course is taught in Danish or English, depending on the lecturer. However, if international students participate, the teaching language will always be English.

Course enrollment
See deadline of enrolment.

Tuition fees for single courses
See fees for single courses.