ACS2017: Difference between revisions
Jump to navigation
Jump to search
| Line 11: | Line 11: | ||
*** OSGi, WS, UPnP |
*** OSGi, WS, UPnP |
||
* 24/10 : Homework |
* 24/10 : Homework |
||
** [[Docker]] and [[JHipster]] installation party and code review : Bring your ladtop. |
** [[Docker]] and [[JHipster]] installation party and [https://air.imag.fr/index.php/JHipster#Update_the_generated_application code review] : Bring your ladtop. |
||
* 31/10 : Holidays |
* 31/10 : Holidays |
||
* ??/11 : DD : Introduction to REST and and Micro Services |
* ??/11 : DD : Introduction to REST and and Micro Services |
||
Revision as of 12:27, 24 October 2017
This page is the entry point of the ACS (Architectures, Components and Services) course of the MOSIG AISSE curriculum.
Schedule
DD : Didier DONSEZ JBS : Jean-Bernard STEFANI
- 03/10 : JBS : Introduction
- 10/10 : DD : Introduction to JHipster and presentation of the homework.
- 17/10 : DD : Introduction to Services .
- Service-Oriented Architecture
- OSGi, WS, UPnP
- Service-Oriented Architecture
- 24/10 : Homework
- Docker and JHipster installation party and code review : Bring your ladtop.
- 31/10 : Holidays
- ??/11 : DD : Introduction to REST and and Micro Services
- REST Principles (Richardson Maturity Model, HATEOS)
- OpenAPI 2.0 (3.0 en fonction de l’avancé des outils Swagger)
- Micro-services Patterns (API Gateway, …)
- REST Principles (Richardson Maturity Model, HATEOS)
TBD
Homework
Homework introduction slides https://docs.google.com/presentation/d/14xH8_LrpsI95kIs3CjgMnKzNrHji38kthC5Lvxpjys4/edit?usp=sharing
Have a glance on the JDL examples https://github.com/jhipster/jdl-samples/
JHipster key technologies
- Getting started with JHipster
- Docker
- Angular 2
- Spring Projects https://spring.io/projects
- Swagger and OpenAPI
Possible extensions for the homework : https://air.imag.fr/index.php/Contributions_open-source_au_projet_JHipster
Annex 1 : Extended Bugtracker JDL
DEFAULT_MIN = 1
DEFAULT_MAX = 3
/**
* This is a project to track
* @author Didier
*/
entity Project {
name String required minlength(6) pattern("^[-_ a-zA-Z0-9]*$")
}
/**
* This is a label for tagging the projects
* @author Didier
*/
entity Label {
/**
* The name of the label
*/
label String required minlength(3)
}
entity Ticket {
/**
* The title of the ticket
*/
title String required,
description String,
priority Integer min(DEFAULT_MIN) max(DEFAULT_MAX)
dueDate LocalDate,
done Boolean
}
relationship ManyToMany {
Ticket{label(label)} to Label{ticket}
}
relationship ManyToOne {
Ticket{project(name)} to Project
}
relationship ManyToOne {
Ticket{assignedTo(login)} to User{ticket}
}
dto * with mapstruct
angularSuffix * with bt
paginate Ticket with pagination
Links
- Crnkovic et al. A Classification Framework for Software Component Models, TSE 2011, http://www.idt.mdh.se/kurser/cd5490/2014/lectures/tse_classificationFramework.pdf
- Microservice Design Patterns http://microservices.io/patterns/microservices.html