2007-2008 m2pgi srr - gicom 1 & 2 mp2gi sle – pm2m

36
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) [email protected]

Upload: ifama

Post on 11-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

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) [email protected]. Sommaire. Objectifs fonctionnels Objectifs pédagogiques Architecture globale Organisation et planning - PowerPoint PPT Presentation

TRANSCRIPT

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

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)[email protected]

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

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

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

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

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

GICOM

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

Le point de départ : eCOM (JavaEE)

EJB ServerWeb Server

Servlet/JSPServlet/JSPRMI

EntityBean

EntityBean

WML/WMLC/iMode

WAP/UMTS

HTML/XML

HTTPDidier

Donsez

WebBrowser

SOAP EngineSOAP Engine

RDBMS

DataSourceJDBC

DidierDonsez

SOAP

HTTP/SMTP

EIS

ERP

DataSourceJCASessionBean

SessionBean

MsgDrivenBean

MsgDrivenBean

JMSJMS MOM

MessageRepository

JMS

JavaApps

RMIDidier

Donsez

Javaapp

ECOM

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

WebBrowser

StandaloneApplication

MobilePhone

Serveur J2EE eCOM Serveur WSFournisseur 1

Serveur WSFournisseur N

JSP/Servlets

EJB BDR

Serveur WSParité Devise

Annuaire UDDIFournisseurs

Serveur CORBABanque B1

Annuaire CORBAdes Banques

Serveur CORBAAgence A1 de B1Serveur CORBA

Agence A11 de B1

Serveur CORBABanque B2

Serveur CORBAAgence A1 de B2Serveur CORBA

Agence A21 de B2

IIOP

IIOP

SOAPHTTP

SOAPHTTP

HTMLHTTP

cHTMLHTTP

WMLWAP

SOAPJMS

Architecture globale de GICOM

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

Architecture globale de GICOMWeb

Browser

StandaloneApplication

MobilePhone

Serveur J2EE eCOM Serveur WSFournisseur 1

Serveur WSFournisseur N

JSP/Servlets

EJB BDR

Serveur WSParité Devise

Annuaire UDDIFournisseurs

Serveur CORBABanque B1

Annuaire CORBAdes Banques

Serveur CORBAAgence A1 de B1Serveur CORBA

Agence A11 de B1

Serveur CORBABanque B2

Serveur CORBAAgence A1 de B2Serveur CORBA

Agence A21 de B2

IIOP

IIOP

SOAPHTTP

SOAPHTTP

HTMLHTTP

cHTMLHTTP

WMLWAP

SOAPJMS

ConsoleJMX

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

Les étapes de GICOM1. Sous système bancaire2. Sous système bancaire persistant3. Sous système bancaire persistant et fiabilisé4. eCOM étendu

et intégration du sous-système bancaire

5. Sécurisation des communications6. Sous système fournisseur7. Déploiement des servants8. Administration et supervision des serveurs

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

Etape 1 : eCOM étenduBut: voir des techniques avancées J2EE1. Préliminaires

Order comporte la devise utilisée et la parité avec l’Euro MailerBean (dans les exemples de JOnAS) doit être

installé

2. Intégration du sous-système bancaire Account disparaît pour être remplacer par un bean

FundTransfer

3. Initialisation des parités des devises utilisés via un vrai WebService public Rafraîchissement de façon périodique (EB Timer)

4. Sécuriser l’interface Web avec SSL (étape 5) Certificat X509 pour le serveur

5. Fiabiliser MailerBean (non traité en 07-08) javax.ejb.SessionSynchronization pour le Stateful Session

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

Etape 1 : eCOM étendu(non traité en 07-08)

But: voir des technologies liées à l’informatique mobile

WAP, iMODE, J2ME

5. Prise en compte des terminaux mobiles Par les servlets et les JSP MIDLet consultant le catalogue

MobilePhone

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

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

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

Site clientSite client

Site Service de NommageSite Service de Nommage

Serveur applicatifServeur applicatif

Objet NamingContext

Objeto1

AppletApplicationServlet/SB

1 : bind("nomSymbolique",o1)

2 : resolve("nomSymbolique")

2 : o2=o1.m1()

Objeto2

3 : res=o2.m2(o1)

Etape 2 (i) : Rappel CORBA

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

User-Agent (Java,C#)User-Agent (Java,C#) Site Service de NommageSite Service de Nommage

Site d’un BanqueSite d’un Banque

Site d’une AgenceSite d’une Agence

ObjetNamingContext

ObjetBranch

ObjetBranch

ObjetsAccount

ObjetBranch

ObjetsCustomer

ObjetBank

ApplicationApplet

Servlet/SB

1 : bind(bankName,bank)

3 : resolve(bankName)

4 : getBranch(brn)

5 : getCustomer(custName)

6 : getAccount(acn)

2 : registerBranch(brn,b)

Notationopérations effectuées au redémarrage des serveurs

opérations effectuées pour le compte de l’UA

Etape 2 (ii) : Sous système bancaire

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

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

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

Etape 3 : Sous système bancaire persistantActivation d’un objet avec le PPOA et le POM

orb

RootPOA PersistentPOA

POATie

PersistentObject

Activator

POM

PersistentState

AOMidref

request

<host,port>

<poa>

<id>

AOMidref

XXPOATie

ObjectXX

id.ser

Object YYhéritant

d’unYYPOA

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

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

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

Etape 4 : Sous système bancaire persistant et fiabilisé

Architecture

SiteTM globale

Site Agence

TMLocal

ObjReco

Site Agence

ObjReco

Site Agence

ObjReco

Journal

TMLocal

Journal

TMLocal

Journal

TMGlobal

Journal

Site Initiateur(bean FundTransfer)

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

serveurcommerce

serveurtransaction

agenceclient

agencefournisseur

begin()

enroll(trs,…)

enroll(trs, …)

debit(trs,a)

credit(trs,a)

trs

ok

void

void

okcpt+=a

cpt-=a

Etape 4 : Sous système bancaire persistant et fiabilisé

Initialisation

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

serveurcommerce

serveurtransaction

agenceclient

agencefournisseur

commit()

prepare()

prepare()

votecommit

votecommit

commit()

commit()

void

void

ok

Etape 4 : Sous système bancaire persistant et fiabilisé

Terminaison

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

serveurcommerce

serveurtransaction

agenceclient

agencefournisseur

commit()

prepare()

prepare()

votecommit

voterollback

rollback()

rollback()

void

void

ko

Etape 4 : Sous système bancaire persistant et fiabilisé

Terminaison avec échec

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

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

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

Etape 6 : Sous système fournisseur

Objectifs Prise de commande auprès des fournisseurs

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

ServeurFournisseur F1

JORAMMessaging server

Serveur eCOM

SBMsgProducer

Message Queue F1

Message Queue F2

MessageDrivenBean

EntityBean

DB1

ServeurFournisseur F2

MessageDrivenBean

EntityBean

DB2

Etape 6a : Sous-Système Fournisseur en mode MOM

En option : prévoir des messages FournisseureCOM pour notifier de la progression de la préparation/expédition de la commande.Le serveur eCOM est abonné à une MessageQueue «ShippingStatus»

XAConnection(transactionnel)

Message Queue SS

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

Web Service Fournisseur 1

JOnAS Server

WebService

DB1

JDBCEB3

EB3

EB3

WebService

Serveur GICOMWSDL

Description

BusinessObject

SOAP over HTTP

generatedstub

BusinessObject

Web Service Fournisseur 2

Etape 6b : Sous-Système Fournisseur en mode Web Service

Pb de l’indisponibilité

temporaire du WS d’un fournisseur

Modèlisez le WebService

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

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

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

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)

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

Planning de GICOM GICOM1 Sara

1. Sous système bancaire2. Sous système bancaire persistant3. Sous système bancaire persistant et fiabilisé

GICOM2 Johann

4. eCOM étenduet intégration du sous système bancaire

5. Conditionnement et déploiement Corba6. Sous système fournisseur7. Administration et supervision des serveurs

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

Planning GICOM

S1Cours Introduction à

l’application bancaire (étape 2)

GICOM1

Cours OSGi

GICOM2

S2 TD Etape 2 TP OSGi

S3 Cours PPOA (étape 3) Libre (ou séminaire RTSJ avec les SLE)

S4 TD Etape 3

S5Cours Moniteur transactionnel

(étape 4)

Cours MOM/JMS et WebServices

S6 TD Etape 4

Fournisseurs eCOM (étape 6)

S7 TD Etape 4

Cours/Tutorial JMX (étape 7b)

S8 ??

Monitoring /Déploiement JMX

S9 ?? Permanence

S10 Soutenance

Permanence

Séminaire LDAP

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

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

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

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

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

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

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

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

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

Modalités d'évaluation (résultat)Documents à rendreDé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

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

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)

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

Liens Vers le sujet

http://www-adele.imag.fr/users/Didier.Donsez/ujf/GICOM/GICOM_ENS

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

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