1 / 36

2007-2008 M2PGI SRR - GICOM 1 & 2 MP2GI SLE – PM2M

2007-2008 M2PGI SRR - GICOM 1 & 2 MP2GI SLE – PM2M. Sara Bouchenak (GICOM 1) Didier Donsez & Johann Bourcier (GICOM 2 – PM2M) Université Joseph Fourier (Grenoble 1) Prenom.Nom@imag.fr. Sommaire. Objectifs fonctionnels Objectifs pédagogiques Architecture globale Organisation et planning

ifama
Download Presentation

2007-2008 M2PGI SRR - GICOM 1 & 2 MP2GI SLE – PM2M

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2007-2008M2PGI SRR - GICOM 1 & 2MP2GI SLE – PM2M Sara Bouchenak (GICOM 1) Didier Donsez & Johann Bourcier (GICOM 2 – PM2M) Université Joseph Fourier (Grenoble 1)Prenom.Nom@imag.fr

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

  3. Objectifs pédagogiques • Intégration des plusieurs applicationsen utilisant plusieurs technologies • Toucher du doigt les mécanismes internes des intergiciels • Utiliser des outils de développement • Organiser vos déploiements

  4. GICOM

  5. Le point de départ : eCOM (JavaEE) JavaApps Javaapp ECOM RMI Didier Donsez WebBrowser ERP Web Server HTML/XML HTTP Servlet/JSP DataSource Didier Donsez JCA RMI RDBMS WML/WMLC/iMode WAP/UMTS JDBC DataSource JMS SOAP Engine JMS MOM JMS SOAP HTTP/SMTP MsgDrivenBean MessageRepository Didier Donsez EIS EJB Server Session Bean Entity Bean

  6. Architecture globale de GICOM WebBrowser ConsoleJMX StandaloneApplication MobilePhone Annuaire UDDIFournisseurs Serveur J2EE eCOM Serveur WS Fournisseur 1 SOAPHTTP HTMLHTTP JSP/Servlets EJB Serveur WS Fournisseur N SOAPJMS BDR cHTMLHTTP Serveur WS Parité Devise WMLWAP SOAPHTTP IIOP Serveur CORBA Banque B1 Serveur CORBA Banque B2 Annuaire CORBAdes Banques IIOP Serveur CORBA Agence A1 de B1 Serveur CORBA Agence A1 de B2 Serveur CORBA Agence A11 de B1 Serveur CORBA Agence A21 de B2

  7. Architecture globale de GICOM Annuaire UDDIFournisseurs Serveur J2EE eCOM Serveur WS Fournisseur 1 ConsoleJMX StandaloneApplication WebBrowser SOAPHTTP HTMLHTTP JSP/Servlets EJB Serveur WS Fournisseur N SOAPJMS BDR cHTMLHTTP MobilePhone Serveur WS Parité Devise WMLWAP SOAPHTTP IIOP Serveur CORBA Banque B1 Serveur CORBA Banque B2 Annuaire CORBAdes Banques IIOP Serveur CORBA Agence A1 de B1 Serveur CORBA Agence A1 de B2 Serveur CORBA Agence A11 de B1 Serveur CORBA Agence A21 de B2

  8. Les étapes de GICOM • Sous système bancaire • Sous système bancaire persistant • Sous système bancaire persistant et fiabilisé • eCOM étendu et intégration du sous-système bancaire • Sécurisation des communications • Sous système fournisseur • Déploiement des servants • Administration et supervision des serveurs

  9. Etape 1 : eCOM étendu But: voir des techniques avancées J2EE • Préliminaires • Order comporte la devise utilisée et la parité avec l’Euro • MailerBean (dans les exemples de JOnAS) doit être installé • Intégration du sous-système bancaire • Account disparaît pour être remplacer par un bean FundTransfer • Initialisation des parités des devises utilisés • via un vrai WebService public • Rafraîchissement de façon périodique (EB Timer) • Sécuriser l’interface Web avec SSL (étape 5) • Certificat X509 pour le serveur • Fiabiliser MailerBean (non traité en 07-08) • javax.ejb.SessionSynchronization pour le Stateful Session

  10. Etape 1 : eCOM étendu (non traité en 07-08) MobilePhone But: voir des technologies liées à l’informatique mobile • WAP, iMODE, J2ME • Prise en compte des terminaux mobiles • Par les servlets et les JSP • MIDLet consultant le catalogue

  11. Etape 2 : Sous système bancaire • Techniques CORBA • Modèle de programmation des servants • par héritage (non traité) • par délégation (implémentation fournie) • Serveur Générique (celui du TP SAR) • À compléter (configurations .properties, .xml, .json au choix) • Fonctionnalités du sous système bancaire • gestion des comptes bancaires distribuées sur plusieurs serveurs • 1 IDL commun : Interopérabilité entre trinome • Plusieurs banques (implémentations différentes : 1 par trinome) • 2 types de User-Agent: • C# versus Java • TUI versus GUI

  12. Etape 2 (i) : Rappel CORBA Site Service de Nommage Objet NamingContext 2 : resolve("nomSymbolique") Site client AppletApplication Servlet/SB 1 : bind("nomSymbolique",o1) 2 : o2=o1.m1() Serveur applicatif Objeto1 3 : res=o2.m2(o1) Objeto2

  13. Etape 2 (ii) : Sous système bancaire User-Agent (Java,C#) Site Service de Nommage ObjetNamingContext Application Applet Servlet/SB 3 : resolve(bankName) 4 : getBranch(brn) 1 : bind(bankName,bank) 5 : getCustomer(custName) Site d’un Banque 6 : getAccount(acn) ObjetBank Site d’une Agence 2 : registerBranch(brn,b) ObjetBranch ObjetBranch ObjetsCustomer Notation opérations effectuées au redémarrage des serveurs ObjetBranch ObjetsAccount opérations effectuées pour le compte de l’UA

  14. Etape 3 : Sous système bancaire persistant • Objectif • Rendre les objets persistants aux arrêts (shutdown,crash) des serveurs • Techniques CORBA • Objets persistants • 2 méthodes load(), save() • PPOA (PersistentPOA) • POM (Persistent Object Manager) • Affectation des ID • Activation/Passivation des objets • Externalisation des objets (1 par fichier) • Ecriture atomique (par fichier ombre) • A intégrer au serveur générique

  15. Etape 3 : Sous système bancaire persistantActivation d’un objet avec le PPOA et le POM id.ser POM Object YYhéritantd’unYYPOA Object XX PersistentObject PersistentState XXPOATie POATie Activator <id> RootPOA PersistentPOA AOM idref AOM idref <poa> orb <host,port> request

  16. Etape 4 : Sous système bancaire persistant et fiabilisé • Objectif • Rendre ACID plusieurs opérations sur les objets Account • Techniques • Objets recoverables • Retour à la valeur précédente en cas d’abandon • Moniteur transactionnel • pilotant la validation à 2 phases • 1 GTM global et 1 LTM pour chaque serveur • Contrôle de concurrence par estampillage • Intégration à eCOM • Par FundTransfer • javax.ejb.SessionSynchronization Stateful Session

  17. Etape 4 : Sous système bancaire persistant et fiabiliséArchitecture SiteTM globale TM Global Journal Site Initiateur (bean FundTransfer) Site Agence Site Agence Site Agence TM Local TM Local TM Local Journal Journal Journal ObjReco ObjReco ObjReco

  18. serveurcommerce serveurtransaction agenceclient agencefournisseur Etape 4 : Sous système bancaire persistant et fiabiliséInitialisation begin() trs debit(trs,a) enroll(trs,…) ok cpt-=a void credit(trs,a) enroll(trs, …) ok cpt+=a void

  19. serveurcommerce serveurtransaction agenceclient agencefournisseur Etape 4 : Sous système bancaire persistant et fiabiliséTerminaison commit() prepare() votecommit prepare() votecommit commit() void commit() void ok

  20. serveurcommerce serveurtransaction agenceclient agencefournisseur Etape 4 : Sous système bancaire persistant et fiabiliséTerminaison avec échec commit() prepare() votecommit prepare() voterollback rollback() void rollback() void ko

  21. Etape 5 : Sécurisation des communications (en option) • Objectifs • Sécuriser les communications entre eCOM et les browsers • Authentification du serveur / Authentification du client administrateur • Sécuriser les communications entre les serveurs CORBA (non traité en 07-08) • Techniques • Certificats • HTTP / SSL • IIOP / SSL

  22. Etape 6 : Sous système fournisseur • Objectifs • Prise de commande auprès des fournisseurs

  23. Etape 6a : Sous-Système Fournisseur en mode MOM      Message Driven Bean Message Driven Bean   XAConnection (transactionnel) JORAM Messaging server Serveur Fournisseur F1 DB1 Message Queue F1 Entity Bean Serveur eCOM Message Queue SS SBMsgProducer Serveur Fournisseur F2 Message Queue F2 DB2 Entity Bean En option : prévoir des messages FournisseureCOM pour notifier de la progression de la préparation/expédition de la commande.Le serveur eCOM est abonné à une MessageQueue «ShippingStatus»

  24. Etape 6b : Sous-Système Fournisseur en mode Web Service WebService WebService Modèlisez le WebService Pb de l’indisponibilité temporaire du WS d’un fournisseur Web Service Fournisseur 1 JOnAS Server DB1 Serveur GICOM JDBC EB3 WSDL Description EB3 SOAP over HTTP BusinessObject EB3 generated stub BusinessObject Web Service Fournisseur 2

  25. Etape 7a : Conditionnement et déploiement des objets CORBA • OSGi • Conditionnement et déploiement d’applications Java • Objectifs • Conditionner et déployer les servants CORBA • Travail • Porter le GenericServer sur une plate-forme OSGi

  26. Etape 7b : Administration et supervision des serveurs • JMX • Standard Java pour l’administration d’applications Java • Objectifs • Superviser les principaux éléments des serveurs CORBA • POA, POM (nb objets crées, nb objets courants, nb objets actifs),Portable Interceptors (nb requêtes reçus, nb requêtes échec), … • Déployer automatiquement les objets CORBA • via un MBean d’administration du framework OSGi • Travail • Enrichir l’OSGiGenericServer d’un MBeanServer (JMXAgent) pourvu de connecteurs RMI et d’adapteurs HTTP • Scripts ANT (Tache ANT JMX) générés à partir d’une description d’architecture • Construire un repository OBR (tache ANT) • Ajout d’un plugin (Tabs) à la JConsole (JavaSE 6.0)

  27. Planning de GICOM • GICOM1 Sara • Sous système bancaire • Sous système bancaire persistant • Sous système bancaire persistant et fiabilisé • GICOM2 Johann • eCOM étendu et intégration du sous système bancaire • Conditionnement et déploiement Corba • Sous système fournisseur • Administration et supervision des serveurs

  28. Planning GICOM GICOM1 GICOM2 S1 Cours Introduction àl’application bancaire (étape 2) Cours OSGi S2 TD Etape 2 TP OSGi S3 Cours PPOA (étape 3) Libre (ou séminaire RTSJ avec les SLE) S4 TD Etape 3 Cours MOM/JMS et WebServices S5 Cours Moniteur transactionnel(étape 4) Fournisseurs eCOM (étape 6) S6 TD Etape 4 Cours/Tutorial JMX (étape 7b) S7 TD Etape 4 Monitoring /Déploiement JMX S8 ?? Permanence S9 ?? Permanence S10 Séminaire LDAP Soutenance

  29. Environnements/intergiciels Supports • JavaSE 6.0 de SUN • Serveur J2EE JOnAS 4.x (EJB3.0+WS Metadata) http://jonas.objectweb.org • intègre Jakarta Tomcat • Intègre Apache AXIS pour les Web Services (SOAP & WSDL) • Apache JAMES pour le serveur de mails (SMTP/POP) • ORB JacORB (http://www.jacorb.org) ou Sun ORB • Browser Web (MS IE, Firefox, Safari) • J2ME Wireless Toolkit (2.x) • Emulateur DoJa (DoCoMo iappli) • SDK .NET Framework (C#)

  30. Qualité du logiciel produit • MetaWare • Eclipse + Plugins (XML Buddy, Lomboz, JOPE, …) • Apache Ant • Apache Maven • Versionnement des sources (CVS,SVN) • Test unitaire (Cactus) • JavaNCSS http://www.kclee.com/clemens/java/javancss/ • Vous devrez produire un rapport de métriques sur le source • Apache JMeter • Vous devrez produire un rapport sur les performances mesurées du site eCOM+application bancaire+ …

  31. Modalité pédagogique (i) • Organisation • Groupe de 3 (ou 2) • Elire un chef de projet identifié du début à la fin • Attribuer des rôles/spécialités • Auto-formation • Gestion des risques

  32. Modalité pédagogique (ii) • Planning • 3+3 séances de cours (18 Heures) • Explication du contenu d’une étape en salle TD • ~10 séances encadrées en salle machine (30 Heures) • Encadrement direct en salle machine • Accès aux salles machine sur créneau réservé • Travail personnel en dehors des cours • Mail

  33. Modalités d'évaluation (résultat) Documents à rendre Démonstration finale (sur 8 à 10 PCs) • Expliquer les principaux choix de conception • Montrer l’aspect multi-utilisateurs du logiciel • Montrer les performances du logiciel • Montrer l’administration du logiciel (observation, déploiement multi-sites) • serveur eCOM, serveurs CORBA et BD répartis … • reprise après arrêt, … • NB • la partie eCOM a déjà été évaluée : inutile de la présenter

  34. Documents à rendre • Gestion de projet « allégé » • membre de l‘équipe • rôle (chef de projet, expert techno, …) • Découpage en taches des étapes et affectations aux membres • Temps passée sur les taches • Dossier qualité • Rapport JavaNCCS (commenté) • Dossier d‘évaluation Système • Rapport sur les performances (scénario du benchmark, configuration matérielle, nombre de transactions, …) • Distribution des sources prêt à installer (ant install) • avec 1 page de manuel d’installation • et avec un jeu de données (CORBA, EJB)

  35. Liens • Vers le sujet • http://www-adele.imag.fr/users/Didier.Donsez/ujf/GICOM/GICOM_ENS

  36. Bon ! Faut s’organiser • Trinome M2PGI SRR Thème eCOM Banques • Crédit Agricole, Crédit Lyonnais • BNP-Paribas, Banque Directe • Crédit du Nord, Société Générale • La Poste, Banque Rothschild • Caixa, Caisse d’Epargne

More Related