Plateforme de passages d'ordres boursiers
description
Transcript of Plateforme de passages d'ordres boursiers
![Page 1: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/1.jpg)
Plateforme de passages d'ordres boursiersEtienne CharpentierJean-Michael LegaitMichèle ReynierJudicaël Ribault
![Page 2: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/2.jpg)
Plan• Cahier des charges• Architecture– Patterns for e-business– Architecture logique– Solution applicative– Architecture physique
• Prototype
![Page 3: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/3.jpg)
Cahier des chargesCONTEXTE ET CONTRAINTES
![Page 4: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/4.jpg)
ContexteRéseau de la banque
![Page 5: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/5.jpg)
ContexteClients visés• Clients individuels– Clients traditionnels Employés d'agence– Internautes
• Gros clients : cabinet de placement• Courtiers• Agents à la corbeille
![Page 6: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/6.jpg)
Contraintes fonctionnellesDiagramme de cas d'utilisations
![Page 7: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/7.jpg)
Contraintes non fonctionnellesVolumétrie du système
Type de client Nombre de clients Requêtes par jour et par clients
Total (requêtes par jour)
Internaute averti 200 00 50 lectures1 écriture
10M lectures200 000 écritures
Employé d’agence 1 200 10 écritures 12 000 écrituresEmployé de Gros client
200 5 000 lectures100 écritures
1M lectures20 000 écritures
Agent à la corbeille 100 120 000*5 lectures100 écritures
60M lectures10 000 écritures
TOTAL 71M lectures242 000 écritures
• 10 courtiers et chaque courtier a 10 fois moins de clients que la banque
• 400 agences et 3 employés par agence• 20 Gros clients et 10 employés par Gros client• Chaque agent à la corbeille suit 5 valeurs
![Page 8: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/8.jpg)
Contraintes non fonctionnellesQualité de service• Gros client/agent à la corbeille
Délai d'exécution < 400ms• Agents à la corbeille
Débit minimal = 2Mo/s• Taux de disponibilité
99,99% soit 52min et 33s d'indisponibilité par an
![Page 9: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/9.jpg)
ArchitecturePATTERNS FOR E-BUSINESS
![Page 10: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/10.jpg)
Patterns for e-businessDéfinition
• Mis à disposition par IBM
• Manière simple de traduire les besoins de l'entreprise en solutions techniques
• Solutions déduites de milliers de projets e-business
![Page 11: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/11.jpg)
Patterns for e-businessBusiness Patterns• Definition:– Décrivent les interactions
utilisateurs/entreprises/données
• Nos besoins :– Passer un ordre de bourse
Self-Service (User-to-Business)
– Consulter le cours de la bourse Information aggregation (User-to-Data)
![Page 12: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/12.jpg)
Patterns for e-businessIntegration Patterns• Definition :– Intégration de plusieurs modèles métier
• Acces Integration
• Application Integration
![Page 13: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/13.jpg)
Patterns for e-businessComposite Patterns• Definition : Combine les différents
patterns utilisés pour n'en faire qu'un.
• e-Marketplace
![Page 14: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/14.jpg)
ArchitectureARCHITECTURE LOGIQUE
![Page 15: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/15.jpg)
Architecture logique globale
![Page 16: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/16.jpg)
Architecture logiqueLes clients dans le système
Les clients qui vont intéragir avec le systèmes :Les employés d’agenceLes gros clientsL’agent à la corbeille Le courtier
![Page 17: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/17.jpg)
ArchitectureSOLUTION APPLICATIVE
![Page 18: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/18.jpg)
Solution applicativeServeur d'application• Choix de la plateforme logicielle :
– PHP• Complexité de développement
– La persistance n'est pas gérée automatiquement– Pas de système transactionnel
– .Net et C#• Manque de maturité (Version finale : Janvier 2002)• Lié aux environnements Windows• Serveur Microsoft moins fiable qu'un serveur Unix
– J2EE et EJB sur serveur Unix• Maturité (fin 1999)• Richesse de l'API Java• Indépendance de plate-forme• Performance de Java améliorée
• Tolérance aux pannes :– Les requêtes en cours de traitement et leur état sont stokés en
base de données
![Page 19: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/19.jpg)
Solution applicativeClients lourds• Client lourd :– Eviter les systèmes de session– Mise en place d'une connexion TCP permanente
avec utilisation des clefs et certificats pour l'identification
• Choix d'implémentation :– Java
Serveur également Java, évite une couche de conversionAssurance du fonctionnement du client lourd quelque soit la plateforme utilisée
– RMIMoins complexe que Corba, donc facilité de maintenance
– SWING (Récemment améliorée)
![Page 20: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/20.jpg)
Solution applicativeBases de donnéesLes données stockées en base sont :
Les comptes de boursesL'historique des passages d'ordresLa file de requêtes à traiter
• Données simples– Ne justifie pas l'approche objet
• Base de données Objet et XML n'ont pas encore atteint la maturité et les performances des bases de données relationnelles
![Page 21: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/21.jpg)
ArchitectureARCHITECTURE PHYSIQUE
![Page 22: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/22.jpg)
Architecture physiqueEmplacement des acteurs• Les gros clients• Les internautes• Les agents à la corbeille• Les courtiers
![Page 23: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/23.jpg)
Architecture physiqueRéseau de la banque
![Page 24: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/24.jpg)
Architecture physiqueAgence régionale
![Page 25: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/25.jpg)
Architecture physiqueSite central• A partir des Patterns for E-business d'IBM• Architecture extremement robuste– Disponibilité de 99,99%– Perdre aucun ordre même en cas de panne– Temps de réponse très bas
• Scalabilité importante– Réactivité
![Page 26: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/26.jpg)
Architecture physiqueSite central
![Page 27: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/27.jpg)
Prototype
![Page 28: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/28.jpg)
PrototypeLoad balancing• Scalabilité– Ajout / Suppression de machine
• Tolerance au panne
![Page 29: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/29.jpg)
PrototypePlateforme de test
![Page 30: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/30.jpg)
PrototypeScalabilité• Scalabilité trés importante:– On double les performances en doublant les
serveurs
• Scalabilité facile a mettre en œuvre :– On ajoute un serveur "à chaud"
1 serveur 2 serveurs0
5
10
15
20
25
30
![Page 31: Plateforme de passages d'ordres boursiers](https://reader036.fdocuments.in/reader036/viewer/2022062814/568166e9550346895ddb2ac9/html5/thumbnails/31.jpg)
PrototypeTolérance au panne• Création d'une panne du serveur web
– Le traffic est entierement dirigé vers le seul serveur actif– Toutes les requetes sont satisfaites (997 / 1000)
• Les requetes en cours de traitements lorsque est survenu la panne ne peuvent etre traité– Mise en place d'un mecanisme de reprise à l'aide d'une
journalisation
requêtes réussiesrequêtes échouées