projet ecom ricm5 2016 - imagair.imag.fr/images/7/76/presentationecomseance1-2016.pdf · projet...
Post on 21-Aug-2020
4 Views
Preview:
TRANSCRIPT
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
top related