Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet...

24
RICM5, eCOM, 2016 1 Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas Ropars Université Grenoble Alpes Polytech Grenoble & UFR IM2AG

Transcript of Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet...

Page 1: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

RICM5, eCOM, 2016 1

Projet eCOMRICM52016

version provisoire 13/09/2016

Sybille Caffiau

Didier Donsez

Thomas RoparsUniversité Grenoble Alpes

Polytech Grenoble & UFR IM2AG

Page 2: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

213/09/16

Sommaire

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

Page 3: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

313/09/16

Objectifs fonctionnels du projet

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

• La nature des produits vendues est de votre choix• Sujet de l'association La Relève

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

Page 4: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

413/09/16

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

Page 5: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

513/09/16

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 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

613/09/16

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

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

Les Entreprise Beans• 3+3? Entity Beans : 1 CMP pour chaque table • 2 Session Beans : Cart (stateful), Mailer• 1 Message Driven Bean pour fiabiliser l'envoi de mail

2 Webapps (Techno JS Responsive + WebSocket ou RESTFul)• Customer• Administrateur

Un client de test basé sur CURL

Page 7: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

713/09/16

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

IHM mobile first et « responsive »• Canevas SPA

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 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

813/09/16

Environnements/intergiciels Supports (i)

Java7EE (Java Enterprise Edition)• Serveur JavaEE Glassfish, JBossAS

• Intègrent SBGD Relationnel Java Pur + Conteneur Web (Tomcat, Grizzly, …)

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

Page 9: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

913/09/16

Environnements/intergiciels Supports (ii)

Monitoring des instances de VM• Telegraf, InfluxDB, Grafana

Sécurité• HAProxy en SSL Terminaison

Haute disponibilité• HAProxy• JavaEE en cluster• MySQL Server en replication

Haute performance• Elasticité horizontale

Page 10: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

1013/09/16

Etapes de développement (i)

Glassfish

HTTP

Page 11: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

1113/09/16

Etapes de développement (ii)

HAProxy Glassfish

HTTPHTTPS

Page 12: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

1213/09/16

Etapes de développement (iii)

HAProxy

Glassfish

Grafana InfluxDB

metrics

HTTPHTTPS

Telegraf

Page 13: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

1313/09/16

Etapes de développement (iv)

HAProxy

HAProxy

Glassfish

Glassfish

MySQL

Grafana InfluxDB

HTTPHTTPS

metrics

Telegraf

Page 14: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

1413/09/16

Etapes de développement (v)

HAProxy

HAProxy

Glassfish

Glassfish

MySQL

MySQL

Grafana InfluxDB

HTTPHTTPS

metrics

Telegraf

James

Replication

Page 15: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

1513/09/16

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, git, Docker, ...

Page 16: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

1613/09/16

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, Jenkin, Sonar …

• Mesure de performance• Apache JMeter, Gatlin, CLIF

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

Page 17: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

1713/09/16

Modalité pédagogique

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

• Composition imposée.

• Choisir un « business »• Elire un chef de projet et un scrum master identifiés du

début à la fin• 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 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

1813/09/16

Modalité pédagogique (2)

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

Page 19: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

1913/09/16

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 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

2013/09/16

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 suivante)

Page 21: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

2213/09/16

Grille d'évaluation

Sur le site web A produire à chaque audit

Page 22: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

2313/09/16

Liens

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

Page 23: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

2413/09/16

A vous de « jouer »

Formez vos groupes (imposés) Choisissez un thème par groupe• Appstore, SmartGrid (vente d'électricité), …• Sujets interdits :

• Sites de ventes de livres, CD, chaussures, alcool• Sites pornographiques

• Consignes pour vos choix :• Gestion de compte utilisateur• Envoi de mails• Un transactions (ACID) avec retours en arrières possible• (May) accès aux ressources externes

Page 24: Projet eCOM RICM5 2016 - imagair.imag.fr/images/7/76/PresentationEcomSeance1-2016.pdf · Projet eCOM RICM5 2016 version provisoire 13/09/2016 Sybille Caffiau Didier Donsez Thomas

13/09/16R

ICM

5, e

CO

M, 2

016

2513/09/16

Le sujet de l'association La Relèvehttp://lareleve-isere.org