22
RICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez Thomas Ropars Université Grenoble Alpes Polytech Grenoble & UFR IM2AG

Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

RICM5, eCOM, 2017 1

Projet eCOMRICM52017

version provisoire 17/09/2017

Sybille Caffiau

Didier Donsez

Thomas RoparsUniversité Grenoble Alpes

Polytech Grenoble & UFR IM2AG

Page 2: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

219/09/17

Sommaire

• Objectifs fonctionnels• Objectifs pédagogiques• Architecture globale• Organisation et planning• Résultats attendus

Page 3: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

319/09/17

Objectifs fonctionnels du projet

Développement d’une application simplede « prise de commande » par le Web

• La nature des produits vendues est fixée

• Le profil type des utilisateurs est à définir• Environnement matériel• Contexte• ...

Page 4: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

419/09/17

Objectifs pédagogiques

Intégration de différentes disciplines• CAR, IHM, GL• Utilisation des principes et techniques vues dans les

différentes formations• Approfondissement en options• Suivi / encadrement

Aller chercher les informations auprès des enseignants concernés (CAR / IHM / GL)

Manipuler des technologies de pointe dans le développement d’applications hautement disponibles et hautement preformantes sur Internet

Gestion d'un « Gros » projet → Scrum, Kanban (F2F, IRL)

Page 5: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

519/09/17

Architecture globale (JavaEE )

EJB ServerWeb Server

Servlet/JSPServlet/JSPRMI

EntityBean

EntityBean

JSON

HTTP

HTML/XML

HTTPDidier

Donsez

WebBrowser

WS/RESTEngine

WS/RESTEngine

RDBMS

DataSourceJDBC

DidierDonsez

SOAP

HTTP/SMTP

EIS

ERP

DataSourceJCASessionBean

SessionBean

MsgDrivenBean

MsgDrivenBean

JMSJMS MOM

MessageRepository

JMS

JavaApps

RMIDidier

Donsez

Javaapp

Page 6: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

619/09/17

Architecture globaleLes constituants à développer à l'étape 1

La base de données (généré par le conteneur JPA)• 3 Tables ProductStores, Products, Accounts• + Tables optionnelles ? Customers, Orders, OrderLines, Payments

Le Backend JavaEE• Microservice RESTFul• 3+3? Entity Beans + Relationship (JPA) • 2 Session Beans : Cart (stateful), Mailer• 1 Message Driven Bean pour fiabiliser l'envoi de mail• API OpenAPI2.0 (Swagger)

2 Frontends SPA• Techno JS Responsive + WebSocket ou RESTFul)• Customer• Administrateur

Un client de test basé sur cURL• Généré avec Swagger Codegen

Page 7: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

719/09/17

Architecture globaleLes constituants à développer à l'étape 2

IHM « responsive » ou IHM mobile first (en fonction des besoins clients)• Canevas SPA (Angular X, ...)

Message Driven Bean• Envoi des mails aux clients• Mail de retour en erreur• Campagne de mailing

EJB Timer• Taches périodiques

Page 8: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

819/09/17

Environnements/intergiciels Supports (i)

JavaEE (Java Enterprise Edition)• Serveur JavaEE Wildfly

• Intègrent SBGD Relationnel Java Pur + Conteneur Web

• Hébergement Cloud• IaaS :• Windows Azure, AWS, Google, Bluemix• OVH (2,99 euros/mois) • Instances « Small » Linux gratuite• Déploiement multi-compte (4 à 5 comptes)• (Ne commitez pas les crédentials sur un dépôt public)

Exception : Groupe « JHipster »• Backend : Spring

Page 9: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

919/09/17

Environnements/intergiciels Supports (ii)

Monitoring des instances de VM• Hawkular, Prometheus, Telegraf, InfluxDB, Grafana

Sécurité• HAProxy en SSL Terminaison + Certificat Let’s Encrypt

• IpTables, UFW

Haute disponibilité• HAProxy en Load Balancer

• JavaEE en cluster

• MySQL Server en replication

Haute performance• Elasticité horizontale

DevOps• Docker, Swarm, OpenShift

Page 10: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

1019/09/17

Etapes de développement (i)

WildFly

HTTP

Page 11: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

1119/09/17

Etapes de développement (ii)

HAProxy WildFly

HTTPHTTPS

Page 12: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

1219/09/17

Etapes de développement (iii)

HAProxy

WilfFly

Grafana InfluxDB

metrics

HTTPHTTPS

Telegraf

Page 13: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

1319/09/17

Etapes de développement (iv)

HAProxy

HAProxy

WildFly

WildFly

MySQL

Grafana InfluxDB

HTTPHTTPS

metrics

Telegraf

Page 14: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

1419/09/17

Etapes de développement (v)

HAProxy

HAProxy

WildFly

WildFly

MySQL

MySQL

Grafana InfluxDB

HTTPHTTPS

metrics

Telegraf

James

Replication

Page 15: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

1519/09/17

Livraison en Continue

Principe « Minimal Viable Product » Service immédiatement en production Blue – Green Deployment• Rolling Update• Fast rollback

En option : Elasticité horizontale• Ajout et Retrait de VM en cours d'exécution

→ scripts avec awscli, ssh, curl (Swagger), git, Docker, Docker Compose ...

Page 16: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

1619/09/17

Qualité du logiciel produit

MetaWare (Java et Javascript)• IDE

• Eclipse JavaEE ou NetBeans JavaEE ou JetBrains• Plugins Azure ou AWS

• Builder• Maven 3, bower, ...

• Forge privée (github student pack, bitbucket, ...)• Intègre Git, Jenkins, Sonar …

• Mesure de performance• Apache JMeter, Gatlin, CLIF

• Test unitaire• Cactus, Junit, DBUnit, Mockito ...

Page 17: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

1719/09/17

Modalité pédagogique

Organisation• Groupe mixte de 4 à 5 des 2 options SR et CM

• Composition imposée.

• Sujet imposé• Scénarii à analyser

• Elire un chef de projet et un scrum master identifiés du début à la fin• Contact avec les enseignants

• Attribuer des rôles/spécialités• Définir l'échéancier (# de sprints, durée, ...)• Auto-formation• Gestion des risques

Page 18: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

1819/09/17

Modalité pédagogique (2)

Planning• Voir site• http://air.imag.fr/index.php/ECOM-RICM

Page 19: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

1919/09/17

Cahier de Charge (CDC) « allégé »

membre de l‘équipe• rôle (chef de projet, scrum master, ergonome, graphiste,

navigation)

objectif du site bénéfice attendu quantifié description des utilisateurs cibles avec priorité plate-forme informatique (client, serveur, ...) modèle de taches : ensemble des fonctions du système requis non fonctionnels

• ex : accomplissement d'une tâche < 10s, ludique, ...

définition de scénarios types (utilisé par la recette) jeu de données analyse de la concurrence

Page 20: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

2019/09/17

Modalités d'évaluation (résultat)

1) Démonstration finale• objectifs GL

• Méthodologie Scrum• Qualité du logiciel (Rapport Sonar)

• objectifs Système• Expliquer les principaux choix de conception• Montrer l’aspect multi-utilisateurs du logiciel • Montrer les performances du logiciel (Rapport JMeter) • Montrer l’administration du logiciel (observation, déploiement

multi-instances (serveur JavaEE répartis), reprise après arrêt…)

• objectifs / IHM• (Voir présentation semaine prochaine)

Page 21: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

2219/09/17

Grille d'évaluation

Sur le site web A produire à chaque audit

Page 22: Projet eCOM RICM5 2017air.imag.fr/images/0/04/PresentationEcomSeance1-2017.pdfRICM5, eCOM, 2017 1 Projet eCOM RICM5 2017 version provisoire 17/09/2017 Sybille Caffiau Didier Donsez

19/09/17R

ICM

5, e

CO

M,

2017

2319/09/17

Liens

Vers le sujet• http://air.imag.fr/index.php/ECOM-RICM