ACS2017

From air
Revision as of 15:30, 15 January 2018 by Donsez (talk | contribs) (→‎Annex 2: Exam preparation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 .
  • 24/10 : Homework (DD)
  • 31/10 : Holidays
  • 07/11 : DD : Introduction to REST and and Micro Services
  • 14/11 : JBS :
  • 21/11 : JBS : Reported
  • 28/11 : DD : Introduction to Generative Programming Media:generativeprogrammingtools.pdf + JHipster code review
    • Bonus: Inspect the MBeans your JHispter applications with the MBean plugin of the JVisualVM.
  • 05/12 JBS Formal component foundations (1H30)
  • 12/12 DD (1H30) Generative Programming in practice with JHipster
  • 19/12 JBS : Formal component foundations (1H30)
  • 9/01 JBS : Formal component foundations (1H30)
  • ??/01 JBS & DD : Homework defense + Satisfaction survey

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

  • New datatypes : color, geocode, geolocation, media document (stored in CDNs), qrcode (with url shortener external services)
  • New data presentations : charts, heatmap, carpet, punch card for time-series.
  • New containers : HAProxy with SSL Termination and Let's Encrypt, PostGres with PostGIS extensions.
  • New services : Hyperledger

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

Annex 2: Exam preparation

The blockchain is considered as the most disruptive innovation since the Web.

Read the sections 1 and 2 in this article : Christidis and M. Devetsikiotis, ‘‘Blockchains and smart contracts for the Internet of Things,’’ IEEE Access , vol. 4, pp. 2292–2303, 2016. https://mycourses.aalto.fi/pluginfile.php/378344/mod_resource/content/1/Christidis%20and%20Devetsikiotis.pdf


One part of the exam will be a dissertation with regard to the impact of the Blockchain (especially permissioned blockchains) and Smart Contracts on the service ecosystem (OpenAPI, microservices, SLA ...).

References

Links