380 likes | 587 Views
Sommaire. Objectifs fonctionnelsObjectifs p
E N D
1. 2007-2008 M2PGI 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
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)
6. Architecture globale de GICOM
7. Architecture globale de GICOM
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
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
13. Etape 2 (ii) : Sous système bancaire
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
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
18. Etape 4 : Sous système bancaire persistant et fiabiliséInitialisation
19. Etape 4 : Sous système bancaire persistant et fiabiliséTerminaison
20. Etape 4 : Sous système bancaire persistant et fiabiliséTerminaison avec échec
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 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.
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.
24. Etape 6b : Sous-Système Fournisseur en mode Web Service
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
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
37. Bonus Track
38. IORhttp://www.iona.com/support/docs/e2a/asp/5.1/platform/admin/iordump2.html