M2PGI SRR - GICOM 1 & 2 MP2GI SLE – PM2M

Slides:



Advertisements
Présentations similaires
Master SIR (M2) Année Développement en environnement J2EE de Web services pour l'interopérabilité du projet CASTORE ce stage de fin d’étude a.
Advertisements

Présentation de frameworks J2EE
I-MODE API ET E NVIRONNEMENT DE D ÉVELOPPEMENT. P LAN Définition de li-mode Caractéristiques Utilisation i-mode versus WAP i-mode et Java API Environnement.
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Architecture Technique de la plate-forme CASTORE
Les Web Services Schéma Directeur des Espaces numériques de Travail
Xavier Blanc Web Services Xavier Blanc
Introduction aux environnements répartis
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Serveurs web pour JSP et Servlets
Mobilité Enjeux Les Enjeux Business Gérer votre Force de Vente plus Efficacement Force de Vente Mobile – 15% de réduction en moyenne dans le coût par.
Julien HERON.
Stéphanie CLAPIÉ Antoine RENARD
ISP/ASP ISP ASP Conclusion DESS Réseaux 2000/2001
Exposé de Système - Informatique et Réseau
Cours 2 : Les Web Services Concepts Généraux
Architecture Technique de la plate-forme CASTOR Projet Castor © Ecole des Mines de Nantes

Introduction aux Session Beans
Programmer avec Java EE
Introduction aux services WEB
Les outils d’intégration continue
PROJET HANDICAPS Certificat de Qualification Professionnelle
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
du Système Global d’Information COCKTAIL
Serveurs d’application
XML-Family Web Services Description Language W.S.D.L.
Architectures Web - N-Tiers
RICM3 Réseaux UE RICOM Projet de Service de e-Commerce
Cours GLG203 Cours J2EE JDBC, RMI, IIOP, Sécurité, XML
Applications Chapitre B17 et C18
Projet JAVA EE Approfondi
Interaction audio sur le site web du LIA
Xavier Tannier Module de Programmation Web Introduction.
Interopérabilité JOnAS - CORBA
Le portail web netUniversité
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Adaptée du cours de Richard Grin
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Retour dexpérience Supportech INSA.NET Daniel Boteanu – Michaël Piffret.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
1 - Architecture Internet
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Mise en oeuvre et exploitation
Présentation de CORBA et de IIOP
Java Enterprise Edition, anciennement J2EE
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Java Enterprise Edition
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
© WYNIWYG / Communication, reproduction interdite sauf autorisation.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Les différents modèles d’architecture technique
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Sites Web interactifs 2010 / 2011 / S1 Bernhard Rieder.
Conférence Témoignages métiers- Supinfo Nantes  Création en 1979  CA de 150 Millions €  Présence nationale et internationale  2300 personnes en France.
Rapport de Stage : Les Web Services ou la communication
Projet d’intégration ECOM (M2PGI et RICM3)
Introduction aux outils de supervision
1 JEE 2010 Architectures n-tiers F.Pfister
Introduction aux technologies des web services en Java EE
Architectures Logicielles Java GLG203 GLG204
Installation du PGI – CEGID
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Applications distribuées Introduction Jean-Jacques LE COZ.
Joëlle COUTAZ Noël DE PALMA Pierre-Yves GIBELLO Université Joseph Fourier (Grenoble 1), IMA / PolyTech Projet d’intégration ECOM (RICM5)
Transcription de la présentation:

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 Résultats attendus

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

GICOM

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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 2. 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»

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

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

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)

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

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

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

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+ …

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

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

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

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)

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

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

Bonus Track

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

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