INF 4375



SYLLABUS



Familiariser l'étudiant avec les concepts et paradigmes de structuration des données et des échanges des applications de l'Internet. Concepts de structuration des données et mécanismes d'échange permettant l'interopérabilité des applications de l'Internet. Concepts de structuration des échanges, langages de description des échanges, principes de nommage des espaces: XML, RDF, Schéma, XSL, etc. Concepts d'échanges entre applications: SOAP, RPC, BEEP, WSDL, LDAP. Applications de ces concepts aux Services web.

OBJECTIFS



  • Initier les étudiants aux principales normes du domaine: World Wide web Consortium (W3C) et Organization for the Advancement of Structured Information Standards (OASIS).
  • Rendre les étudiants aptes à modéliser des structures XML, incluant les espaces de nommage.
  • Rendre les étudiants aptes à définir des structures de validation de type DTD, XML Schema, Relax NG, JSON Schema
  • Familiariser les étudiants avec les outils disponibles pour traiter des documents XML en JAVA et en Groovy.
  • Rendre les étudiants aptes à développer des services web et les exécuter sur un serveur (REST, SOAP, RPC, WSDL).
  • Sensibiliser les étudiants à la problématique de la gestion des transactions et de la gestion de la sécurité dans le contexte de services web.
  • Familiariser les étudiants à l'utilisation d'un annuaire LDAP (Apache DS).
  • Initier les étudiants au paradigme Ajax et push
  • Donner aux étudiants un aperçu de l'impact des services web sur l'architecture des systèmes (SOA) et sur le design, en particulier au niveau de la granularité des services.
  • Familiariser les étudiants à un environnement de développement intégré (IDE) incluant les outils nécessaires au développement de services web.
  • Initier les étudiants à la problématique de la persistance des documents JSON et des bases de données non relationnelles.
  • Sensibiliser les étudiants aux concepts de chorégraphie et d'orchestration des services web.
  • Initier les étudiants aux nouvelles approches dans le domaine.
  • Initier les étudiants au paradigme des services web REST
  • Initier les étudiants aux paradigmes d'échanges Acteurs, CSP, Coroutines

ÉVALUATION



Un travail remis en retard reçoit la note zéro à moins d'avoir fait l'objet d'une entente préalable avec le professeur. Le détail des conditions de réalisation de chaque travail est précisé avec la description du travail. La qualité du français fait partie intégrante des critères d'évaluation des travaux et des examens jusqu'à un maximum de 25%. La politique de tolérance zéro du département d'informatique sera appliquée à l'égard des infractions de nature académique.

L'évaluation est composée de 2 examens de 30% chacun et d'un projet de session de 40%. La note de passage du cours est de 60% pour l'ensemble de la note et de 50% pour les deux examens combinés.

CALENDRIER


Notes et lectures



Le contenu de chaque période dépendra des besoins des étudiants au fur et à mesure de la réalisation de leur projet. Les lectures doivent avoir été faites avant le cours pour lequel elles sont indiquées.

Le logiciel utilisé pour les notes de cours est Freeplane.

Période Date Notes et Lectures
1 05-03 HTTP, MVC, HTML
Schémas présentés
[1] Introduction à HTTP
[2] sections 2.1 à 2.6
2 05-10 XML, JSON, JSON-Schema
[1] sections 2.1 à 2.10
[2] sections 4.1 et 4.2
[3] sections 9.1 à 9.7
3 05-17 REST, Ajax
[1] Introduction à Ajax
[2] Programmation Ajax
[3] Architecture REST
[4] HATEOAS
[5] REST, Expliqué
[6] Richardson Maturity Model
[7] Meilleures pratiques
[8] Présentation Ajax
4 05-24 REST, Ajax, (bis)
5 05-31 Encodage, révision
[1] Unicode
[2] UTF
[3] À savoir
6 06-07 RPC
[1] XML-RPC
[2] Sophismes
7 06-14 Examen intra
8 06-21 SOAP, WSDL, UDDI, BPEL, WS-*
[1] The S stands for Simple
9 06-28 Microservices, CAP
[1] The CAP Theorem
[2] A solution to CAP
[3] Microservices
[4] Architecture hexagonale
10 07-05 Messagerie, Event-sourcing
[1] SOA without ESB
[2] Event-sourcing
[3] Domain events
[4] CQRS
11 07-12 Sécurité
[1] sections 1.1 à 1.3.5
12 07-19 révision
13 07-26 Examen final.

PROJET DE SESSION


 






François-Xavier Guillemette, M.Sc.

     

François-Xavier est consultant et formateur en design logiciel et en développement web. Actuellement, il a le privilège de diriger CODE3 coopérative de solidarité et il enseigne à l'UQÀM au baccalauréat et à la maîtrise en informatique et génie logiciel.




Template created by BlackTie.co — Copyright 2014