Difference between revisions of "ACS2017"

From air
Jump to navigation Jump to search
Line 13: Line 13:
 
** [[Docker]] and [[JHipster]] installation party and [https://air.imag.fr/index.php/JHipster#Update_the_generated_application 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
+
* 07/11 : DD : Introduction to REST and and Micro Services
 
**REST Principles (Richardson Maturity Model, HATEOS)
 
**REST Principles (Richardson Maturity Model, HATEOS)
***OpenAPI 2.0 (3.0 en fonction de l’avancé des outils Swagger)
+
***OpenAPI 2.0 & 3.0 : try http://editor.swagger.io/ and generate clients and servers
 
** Micro-services Patterns (API Gateway, …)
 
** Micro-services Patterns (API Gateway, …)
  +
* 14/11 : JBS :
  +
* 21/11 : JBS : Reported
 
* 28/11 : DD : Introduction to Generative Programming [[Media:generativeprogrammingtools.pdf]]
 
* 28/11 : DD : Introduction to Generative Programming [[Media:generativeprogrammingtools.pdf]]
 
** Bonus: Inspect the [https://docs.oracle.com/javase/8/docs/technotes/guides/jmx/tutorial/essential.html MBeans] your JHispter applications with the MBean plugin of the [https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/intro.html JVisualVM].
 
** Bonus: Inspect the [https://docs.oracle.com/javase/8/docs/technotes/guides/jmx/tutorial/essential.html MBeans] your JHispter applications with the MBean plugin of the [https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/intro.html JVisualVM].

Revision as of 13:25, 28 November 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
  • 24/10 : Homework
  • 31/10 : Holidays
  • 07/11 : DD : Introduction to REST and and Micro Services
    • REST Principles (Richardson Maturity Model, HATEOS)
    • Micro-services Patterns (API Gateway, …)
  • 14/11 : JBS :
  • 21/11 : JBS : Reported
  • 28/11 : DD : Introduction to Generative Programming Media:generativeprogrammingtools.pdf
    • Bonus: Inspect the MBeans your JHispter applications with the MBean plugin of the JVisualVM.


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

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