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

Post on 21-Aug-2020

4 views 0 download

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

RICM5, eCOM, 2016 1

Projet eCOMRICM52016

version provisoire 13/09/2016

Sybille Caffiau

Didier Donsez

Thomas RoparsUniversité Grenoble Alpes

Polytech Grenoble & UFR IM2AG

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

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• ...

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

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

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

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

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)

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

13/09/16R

ICM

5, e

CO

M, 2

016

1013/09/16

Etapes de développement (i)

Glassfish

HTTP

13/09/16R

ICM

5, e

CO

M, 2

016

1113/09/16

Etapes de développement (ii)

HAProxy Glassfish

HTTPHTTPS

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

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

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

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

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

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

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

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

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)

13/09/16R

ICM

5, e

CO

M, 2

016

2213/09/16

Grille d'évaluation

Sur le site web A produire à chaque audit

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

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

13/09/16R

ICM

5, e

CO

M, 2

016

2513/09/16

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