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

Post on 11-Jan-2016

39 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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) Prenom.Nom@imag.fr. Sommaire. Objectifs fonctionnels Objectifs pédagogiques Architecture globale Organisation et planning - PowerPoint PPT Presentation

TRANSCRIPT

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

SiteTM globale

Site Agence

TMLocal

ObjReco

Site Agence

ObjReco

Site Agence

ObjReco

Journal

TMLocal

Journal

TMLocal

Journal

TMGlobal

Journal

Site Initiateur(bean FundTransfer)

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

serveurcommerce

serveurtransaction

agenceclient

agencefournisseur

commit()

prepare()

prepare()

votecommit

votecommit

commit()

commit()

void

void

ok

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

Terminaison

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

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

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

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

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

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

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 à 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

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)

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

top related