La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

M2PGI SRR - GICOM 1 & 2 MP2GI SLE – PM2M

Présentations similaires


Présentation au sujet: "M2PGI SRR - GICOM 1 & 2 MP2GI SLE – PM2M"— Transcription de la présentation:

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

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

3 Objectifs pédagogiques
Intégration des plusieurs applications en 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)
Java Apps RMI Didier Donsez Java app ECOM HTML/XML HTTP Didier Donsez Web Browser ERP DataSource JCA Web Server Servlet/JSP RMI EJB Server Session Bean SOAP Engine JMS MOM Message Repository JMS RDBMS DataSource JDBC WML/WMLC/iMode WAP/UMTS Entity Bean MsgDriven Bean JMS Didier Donsez SOAP HTTP/SMTP EIS

6 Architecture globale de GICOM
Annuaire UDDI Fournisseurs Web Browser Serveur J2EE eCOM Serveur WS Fournisseur 1 SOAP HTTP HTML HTTP JSP/ Servlets EJB Serveur WS Fournisseur N BDR SOAP JMS Mobile Phone cHTML HTTP WML WAP Serveur WS Parité Devise SOAP HTTP IIOP Serveur CORBA Banque B1 Serveur CORBA Banque B2 Standalone Application Annuaire CORBA des 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 Console JMX

7 Architecture globale de GICOM
Web Browser Standalone Application Mobile Phone Serveur J2EE eCOM Serveur WS Fournisseur 1 Fournisseur N JSP/ Servlets EJB BDR Parité Devise Annuaire UDDI Fournisseurs Serveur CORBA Banque B1 Annuaire CORBA des Banques Agence A1 de B1 Agence A11 de B1 Banque B2 Agence A1 de B2 Agence A21 de B2 IIOP SOAP HTTP HTML HTTP cHTML HTTP WML WAP SOAP JMS Console JMX

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)
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 Mobile Phone

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 client Site Service de Nommage Serveur applicatif Objet NamingContext Objet o1 Applet Application Servlet/SB 1 : bind("nomSymbolique",o1) 2 : resolve("nomSymbolique") 2 : o2=o1.m1() Objet o2 3 : res=o2.m2(o1)

13 Etape 2 (ii) : Sous système bancaire
User-Agent (Java,C#) Site Service de Nommage Site d’un Banque Site d’une Agence Objet NamingContext Objet Branch Objets Account Objets Customer Objet Bank Application Applet Servlet/SB 1 : bind(bankName,bank) 3 : resolve(bankName) 4 : getBranch(brn) 5 : getCustomer(custName) 6 : getAccount(acn) 2 : registerBranch(brn,b) Notation opérations effectuées au redémarrage des serveurs 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 Object YY héritant d’un YYPOA
Etape 3 : Sous système bancaire persistant Activation d’un objet avec le PPOA et le POM id.ser POM Object YY héritant d’un YYPOA Object XX Persistent Object Persistent State 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
Site TM globale TM Global Journal Site Initiateur (bean FundTransfer) Site Agence Site Agence Site Agence TM Local TM Local TM Local Journal Journal Journal Obj Reco Obj Reco Obj Reco

18 Etape 4 : Sous système bancaire persistant et fiabilisé Initialisation
serveur commerce serveur transaction agence client agence fournisseur begin() enroll(trs,…) enroll(trs, …) debit(trs,a) credit(trs,a) trs ok void cpt+=a cpt-=a

19 Etape 4 : Sous système bancaire persistant et fiabilisé Terminaison
serveur commerce serveur transaction agence client agence fournisseur commit() prepare() votecommit void ok

20 Etape 4 : Sous système bancaire persistant et fiabilisé Terminaison avec échec
serveur commerce serveur transaction agence client agence fournisseur commit() prepare() votecommit voterollback 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
XAConnection (transactionnel) JORAM Messaging server Serveur Fournisseur F1 DB1 Message Driven Bean Message Queue F1 Entity Bean Serveur eCOM Message Queue SS SB MsgProducer Serveur Fournisseur F2 Point-To-Point Messaging When one process needs to send a message to another process, Point-To- Point Messaging can be used. However, this may or may not be a one-way relationship. The client to a Messaging system may only send messages, only receive messages, or send and receive messages. At the same time, another client can also send and/or receive messages. In the simplest case, one client is the Sender of the message and the other client is the Receiver of the message There are two basic types of Point-to-Point Messaging systems. The first one involves a client that directly sends a message to another client. The second and more common implementation is based on the concept of a Message Queue. Such a system is shown in Figure The point to note in Point-to-Point messaging is that, even though there may be multiple Senders of messages, there is only a single Receiver for the messages. Message Queue F2 DB2 Message Driven Bean 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
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 Web Service WSDL Description EB3 SOAP over HTTP Web Service Business Object EB3 generated stub Business Object 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 Sous système bancaire
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) 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 ( 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 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é » Dossier qualité
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

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

37 Bonus Track

38 IOR http://www. iona. com/support/docs/e2a/asp/5
Host POA Id PID IIOP Version

39 Serveur Serveur de Commerce Navigateur Web De l’Acheteur Client Corba
Serveur HTTP BD Catalogue JDBC Servlets Navigateur Web De l’Acheteur Serveur Fournisseur 1 « Jardin de Provence » Commande Fournisseur 2 « Disquaire » Serveur Banque Serveur Corba Banque Serveur Agence Bancaire Agence Client Compte Client Corba de l’Agent de la Banque Serveur Transaction Transaction HTTP HTTPS IIOP IIOP/SSL


Télécharger ppt "M2PGI SRR - GICOM 1 & 2 MP2GI SLE – PM2M"

Présentations similaires


Annonces Google