Étude De Performance Des Brokers En vue De La Conception Et L’implémentation D’un Marché Virtuel Objet Réalisé par: Mohamed Mediouni( Ecole Nationale d’Ingénieurs de Tunis (ENIT)). (
[email protected]) Téléphone :+21622582534
PLAN •Introduction. •Architecture CORBA. •Etude de Performance des Brokers. •Le Marché Virtuel Objet. Spécification des besoins. Conception en UML. Réalisation et évaluation. •Conclusion et Perspectives.
Introduction • Casser les structures existantes – Insérer des appels de procédure, de méthode à distance. Appelant
Appelant
Appelé
Appelé
Souche
Squelette
Network
•Nouveaux problèmes:Nommage, localisation, transparence, interoperabilité
Motivation
MKS dispose d’une gamme de logiciels bousiers obéissant au modèle suivant:
Application Cliente
Application Serveur Négociation et flux
Interface Marché Bourse
MKS envisage une migration de sa gamme logicielle vers une solution distribuée.
PLAN •Introduction. •Architecture CORBA. •Etude de Performance des Brokers. •Le Marché Virtuel Objet. Spécification des besoins. Conception en UML. Réalisation et évaluation. •Conclusion et Perspectives.
Les Systèmes Distribués Collection d’ordinateurs autonomes. Coordination des activités. Partage des ressources.
Intéropération d’objets via un réseau hétérogène.
Systémes Fonctionnels: CORBA de l’OMG. DCOM de Microsoft. RMI de Sun.
L’Architecture CORBA Common Object Request Broker Architecture Né dans les années 1990. Fondé et géré par l’Object Management Group (OMG). Standard ouvert pour les applications distribués. Bus logiciel, orienté objet. Communication par appel de méthode à distance.
CORBA (Suite)
Implementation de l’objet
Client
squelette IDL
DII
Souche IDL
Coeur de l’ORB
Interface ORB
DSI
Adaptateur d’objet
Protocoles GIOP / IIOP
Vue du programmeur
Niveau interstitiel (middleware)
CORBA (Suite)
GIOP = General Inter ORB Protocol Interopérabilité entre différents ORBs. Spécifie le protocole de transmission et le format des requêtes.
IIOP = Internet Inter ORB Protocol Protocole d’interopérabilité standard pour Internet. Construit sur IP
PLAN •Introduction. •Architecture CORBA. •Etude de Performance des Brokers. •Le Marché Virtuel Objet. Spécification des besoins. Conception en UML. Réalisation et évaluation. •Conclusion et Perspectives.
Présentation Des ORB
Visibroker:
TAO:
Produit commercialisé par Inprise. Implémente la version CORBA 2.3. Version testée Visibroker 4.1 sous license. Fondée au sein du centre « Center for Distributed Object Computing at Washington Univeristy » Produit gratuit avec le code source disponible.
Omniorb:
Proposé par « AT & T laboratories of Cambridge » . Produit gratuit avec le code source disponible. Version testée Omniorb 3.0.4.
Transaparence vis à vis des plates formes Visibroker Win NT Win 95/98/2000 Unix Solaris Linux IBM-AIX HP-UX
TAO
Omniorb
Win NT Win 95/98/2000 Unix Solaris
Win NT Win 95/98/2000 Unix Solaris Linux IBM-AIX HP-UX Open VMS SGI Irix Reliant Unix ATMos,NextStep
Transparence vis à vis du langage de programmation
Visibroker • •
Spécification
IDL
Tao • •
C++, Java. Deux compiltaeurs: Idl2cpp & Idl2java. C++. Un seul compilateur : Tao_idl
Compilateur
IDL
Omniorb • •
C++. Un seul compilateur: OmniIdl.
Souche IDL
Squelette IDL
Temps de Réponse
Chemin d’invocation des requêtes Application Orb
Call
Marshalling
Network
Sending
Client
Application Upcall Orb Unmarshalling Dispatching Network Receiving
Serveur
Temps de Réponse(Suite) 961
Temps de réponse(ms)
TAO
498 VISIB
360 230 101 80 40 28 20 16 10
OMNI
Nb_requêtes 0 50
100
500
1000
Courbe représentative du temps de réponse en fonction du nombre de requêtes
La Sécurité
Visibroker • « Borland Security service ». • Le protocole SSL ( Secure Sockets Layer). • Authentification, autorisation et cryptage à clé publique.
Tao • « The CORBA Security Service for TAO » est un projet en cours de développement. • Nouveau protocole SSLIOP. • Intégrité, confidentialité ainsi que la sécurisation des requêtes des clients.
Omniorb • N’implémente pas le service de sécurité.
Conclusion Visibroker
Tao
Omniorb
Lang de prog
Pratiquement tous C++, Java
Pratiquement tous C++
Pratiquement tous C++
Installation
Simple
Complexe
Complexe
Temps de Réponse
Assez rapide
Lent
Rapide
Sécurité
supporté
Non supporté
Services offerts
Plusieurs
En cours de développement Plusieurs
Plates formes
peu
PLAN •Introduction. •Architecture CORBA. •Etude de Performance des Brokers. •Le Marché Virtuel Objet. Spécification des besoins. Conception en UML. Réalisation et évaluation. •Conclusion et Perspectives.
Spécification Des Besoins Marché boursier : Place de marché où se passe la vente et l’achat des instruments financiers. Un instrument financier: Tout ce qui peut être acheté ou vendu sur le marché financier en particulier les actions. Une transaction:C’est un traitement d’un acte de correspondance entre un ordre d’achat et de vente.
Spécification Des Besoins ( Suite)
Les fonctionnalitésID_Client du marché Virtuel objet sont:
Le client lance un avis de connexion Client 1 Client 1
Client 2 Client 2
Client 3 Client 3 Réf_Market
Le serveur récupère l’ID du client et l’ajoute dans sa liste. Traitement Administration des requêtes des connexions Administration Traitement des connexions des requêtes Marché Virtuel Objet
Archivage des données Archivage
des données Le client récupère la référence du marché
Spécification (Suite) Param_In Le client lance la Load_instrument() requête : send_order Le client lance un avis de charger ID_Client Load_instrument() Le serveur analyse les Le client lance un Le client lance un les instruments Clientles 1 paramètres Client 2 requête Client 3 de la avis de charger avis de connexion instruments Client 1 Client 2 Client 3 LeList_instrument() serveur met à jour Réf_Market la liste des ordre List_instrument() Le serveur renvoie la liste Le serveur récupère Le serveur renvoie la liste en achat ou en vente des instruments au client l’ID du client et des instruments au client l’ajoute dans sa liste. Archivage Traitement Le serveur exécute la Administration Administration Traitement Archivage des données transactiondes :des exécute_trans(). requêtes des connexions des connexions requêtes des données ré envoie l’ack au client client récupère la Le Le client récupère la liste Le client récupère la liste Marché Virtuel Objet référence du marché des instruments Le client reçoit une des instruments notification du code de retour de sa requête
Conception Générale Interface IDL
Compilateur Idl Idl2cpp La squelette
La souche
Implémentation des objets
Implémentation du client
Implémentation du serveur Client
Serveur
Visibroker
Visibroker IIOP
Conception Détaillée Modèle Objets POA_Market::Connexion
CConnexionImpl
CMarketRegestry
CInstrument
CTransaction
COrder
Non connecté Connect
Disconnect
Connecté Load_Instrument Chargement des instruments Send_Order Ordre envoyé
Cancel_Order
Ack_Ordre_Error Ordre erroné Ack_Ordre_Success Ordre archivé
Execute_transaction
Non vérifiés
Test des contraintes de prix et de quantité
Vérifiés
Ordre supprimé
Client notifié
Transaction archivé