cours architecture des si
TRANSCRIPT
![Page 1: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/1.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 1
Préambule
Présentation
Objectifs
Contenus
![Page 2: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/2.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 2
Objectifs
Savoir : Appréhender le problème de l’architecture des SI et les solutions disponibles
Savoir-faire : Mettre en œuvre les outils proposés dans les environnements CORBA & RMI
![Page 3: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/3.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 3
Contenus
Introduction à l’interopérabilité
Le modèle Client / Serveur
CORBA
RMI
![Page 4: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/4.jpg)
Avril 2011 Architecture des SI - P. ANIORTE
4
Introduction à l’interopérabilité
Philippe ANIORTE
IUT Bayonne - LIUPPA
![Page 5: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/5.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 5
Plan du chapitre
1. Définition générale
2. Origines du problème
3. Types d’interopérabilité
4. Eléments de solution
![Page 6: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/6.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 6
1. Définition (1)
« Inter » : entre (entités)
« Opérer » : traiter
Permettre l’interaction (coopération) entre entités
![Page 7: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/7.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 7
1. Caractérisation des entités
Autonomie : conception / communication / exécution
Hétérogénéité : environnement
Distribution : réseau
![Page 8: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/8.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 8
1. Définition (2)
Capacité d’échange de données et de services entre systèmes en dépit de leurs différences (hétérogénéité)
L’interopérabilité traite la distribution, la compréhension et la communication mutuelles entre entités
![Page 9: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/9.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 9
2. Origines du problème
Niveau SI
Organisationnelles : externes / internes Intégration d’activités - Systèmes ouverts évolutifs
Techniques : modèles / logiciels / matériel
![Page 10: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/10.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 10
3. Types d’interopérabilité
Interopérabilité sémantique (conceptuelle) Focalise sur les données gérées dans des BD - niveau modèle
Interopérabilité technique (à l’exécution) Focalise sur les supports d’exécution (SGBD, Systèmes d’Exploitation, objets distribués)
![Page 11: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/11.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 11
4. Eléments de solution
Modèle de spécification commun : unification
Protocole d’interaction entre entités hétérogènes : transparence
Gestion de la distribution : transparence
![Page 12: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/12.jpg)
Avril 2011 Architecture des SI - P. ANIORTE
12
Le modèle Client / Serveur
Philippe ANIORTE
IUT Bayonne - LIUPPA
![Page 13: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/13.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 13
Plan du chapitre
1. Principes du modèle
2. Aspects techniques
3. Eléments de mise en œuvre
![Page 14: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/14.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 14
1. Un modèle de communication entre entités distantes
Entités (clients & serveur) = processus
Les processus s’exécutent sur des machines différentes reliées par un réseau (distribution)
Protocole de communication (niveau application)
![Page 15: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/15.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 15
1. Le serveur
Fournit un service
Attend les sollicitations des clients
Répond à ces sollicitations en assurant le service
![Page 16: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/16.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 16
1. Les clients
Consomment le service
Demandent le service
Utilisent le service
![Page 17: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/17.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 17
2. TCP/IP
Protocole pour réseaux locaux le plus répandu
Transmission Control Protocol (couche ISO n° 4 - transport)
Internet Protocol (couche n° 3 - réseau)
![Page 18: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/18.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 18
2. Le Port
L’adresse IP d’une machine ne suffit pas
Il est nécessaire de préciser le processus concerné (service)
Tout service est associé à un port (n°)
![Page 19: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/19.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 19
2. La « socket »
« Prise » / « terminal de communication »
Dispositif permettant la communication de processus
Adresse IP / n° de port
![Page 20: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/20.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 20
3. La gestion de sockets (client & serveur)
Création socket
Envoi message
Réception message
Fermeture socket
![Page 21: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/21.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 21
3. La gestion de sockets (« côté client »)
Demande connexion
Création socket - Demande connexion - (Envoi message - Réception message) * - Fermeture socket
![Page 22: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/22.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 22
3. La gestion de sockets (« côté serveur »)
Rendre accessible la socket par des processus inconnus a priori (clients)
Ouverture service
Attente connexion
![Page 23: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/23.jpg)
Avril 2011 Architecture des SI - P. ANIORTE
23
CORBA
Philippe ANIORTE
IUT Bayonne - LIUPPA
![Page 24: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/24.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 24
CORBA (Common Object Request Broker Architecture)
Applications industrielles de grande envergure
Atout majeur de développement
CORBA vs RMI, DCOM … Client / Serveur
![Page 25: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/25.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 25
Plan du chapitre
1. Présentation générale de CORBA
2. Etapes de développement d’une application CORBA
3. Services CORBA
![Page 26: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/26.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 26
1. Introduction
Pas un produit (outil ou ensemble d’outils)
Norme : spécifications et recommandations
Groupe de travail OMG
![Page 27: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/27.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 27
1. Architecture logicielle distribuée et objets (1/2)
Clients : requêtes à destination d’objets
Exécution dans des processus serveurs
Réponses aux clients
![Page 28: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/28.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 28
1. Architecture logicielle distribuée et objets (2/2)
Client et Serveur : 2 parties du développement
Serveur : met à disposition des objets CORBA
Client : utilise ces objets
![Page 29: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/29.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 29
1. Du Client / Serveur de base à l’architecture distribuée
Limites du Client / Serveur : performances (nombre de connexions, réseau), déploiement, évolution
Interopérabilité !
![Page 30: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/30.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 30
1. Seconde génération : Client / Serveur à 3 niveaux (tiers) (1/2)
Intermédiaire entre le client et le serveur : serveur d’application
Déplacement de la logique de l’application vers le serveur d’application
![Page 31: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/31.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 31
1. Seconde génération : Client / Serveur à 3 niveaux (tiers) (2/2)
Avantages : centralisation des traitements (maintenance, évolution), partage des traitements
Inconvénients : communication standardisée à un bas niveau, concept objet non pris en compte, manque d’outils de développement
![Page 32: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/32.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 32
1. Architecture logicielle distribuée CORBA
Indépendance géographique (transparence de la distribution)
Middleware (intergiciel) : gestion de la communication entre éléments distribués hétérogènes (applet Java, DB2, Excel, Oracle, COBOL, C++ …)
Orientation « objet » (Java …)
![Page 33: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/33.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 33
1. Avantages de CORBA (1/2)
Solutions non propriétaires : bus logiciel - ORB (Object Request Broker)
Interopérabilité : protocole IIOP (Internet Inter-ORB Protocol)
Intégration de l’existant (« wrapping », passerelles)
![Page 34: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/34.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 34
1. Avantages de CORBA (2/2)Abstraction : définition / implantation partie
visible par les clients = interface (contrat qui définit les méthodes supportées par l’objet)
Transparence d’utilisation (y compris dans le temps : évolution)
Java (orientation objet, interopérabilité …)
![Page 35: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/35.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 35
1. Architecture CORBA (1/3)ORB
Issue des travaux de l’OMG visant à définir les bases d’une architecture distribuée universelle (OMA - Object Management Architecture)
ORB : cœur de l’architecture Communication transparente entre les objets mis à disposition par le serveur et les clients qui s’y connectent
![Page 36: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/36.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 36
1. Architecture CORBA (2/3)Objets applicatifs & Services CORBA
Objets applicatifs (Application Interfaces) : constituent l’application à développer
Services CORBA (CORBAServices ou services objets) : outils généraux de développement s’adressant aux objets (sécurité …)
![Page 37: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/37.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 37
1. Architecture CORBA (3/3)Spécialisations
CORBAFacilities : spécialisation horizontale S’adressent aux applications - utilitaires communs (impression …)
Domain Interfaces : spécialisation verticale (métiers) - utilitaires destinés à un secteur d’activité (gestion de cartes bancaires …)
![Page 38: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/38.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 38
1. Les éléments essentielsde la norme CORBA : IDL (1/7)
IDL (Interface Definition Language) : langage de définition de l’interface des objets CORBA accessibles par les clients
Concerne la partie externe de l’objet définie de façon publique (méthodes …)
Indépendance avec l’implantation de l’objet « mapping » (transformation)
![Page 39: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/39.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 39
1. Les éléments essentiels de la norme CORBA : Stub & Skeleton(2/7)
Stub (souche) : fragment de code pour la communication client / serveur côté client
Skeleton (squelette) : communication côté serveur
Outils de génération automatique de code (Java, C++, …) à partir de la définition de l’interface (IDL)
![Page 40: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/40.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 40
1. Les éléments essentiels de la norme CORBA : Adapter (3/7)
Object adapter (adaptateur d’objet) : Gestion des objets à l’intérieur de l’application serveur (activation des objets en fonction des demandes …)
2 types : BOA (Basic Object Adapter) & POA (Portable Object Adapter)
![Page 41: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/41.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 41
1. Les éléments essentiels de la norme CORBA : POA (4/7)
Parfaitement décrit dans la norme Compatibilité entre tous les ORB
Servant : implantation de l’objet (côté serveur)
Object reference : côté client
![Page 42: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/42.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 42
1. Les éléments essentiels de la norme CORBA : IOR (5/7)
Connexion entre un client et un serveur (binding)
Retourne au stub la référence à l’objet auquel on veut accéder : IOR (Interoperable Object Reference)
L’IOR est ensuite utilisé par le client pour accéder à l’objet correspondant
![Page 43: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/43.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 43
1. Les éléments essentiels de la norme CORBA : Référentiels (6/7)
Interface Repository : référentiel qui contient des informations sur les objets utilisés (IDL …)
Implementation Repository : contient des informations qui permettent à l’ORB de localiser et d’activer les objets référencés dans l’Interface Repository
![Page 44: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/44.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 44
1. Les éléments essentiels : Interfaçage dynamique (7/7)
Accès dynamique aux objets (lors de l’exécution) : évolution des interfaces
DII (Dynamic Invocation Interface) : construction dynamique de requêtes vers des objets CORBA sans stub
DSI (Dynamic Skeleton Interface) : interception de requêtes sans skeleton
![Page 45: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/45.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 45
1. Evolution de CORBA1991 : version 1.0 - pas de protocole
commun à tous les ORB
1994 - 1999 : version 2.0 à 2.3 - IIOP ... RMI sur IIOP
version 3.0 : CCM (CORBA Component Model)
![Page 46: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/46.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 46
1. Implantations de CORBA
Inprise : VisibrokerIONA : OrbixIBM : SOMObjectsObject Oriented Concepts : ORBacusAT&T : omniORB2
![Page 47: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/47.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 47
1. CORBA et ses concurrents (1/2)
Sockets ...
RPC (Remote Procedure Call) standardisé par l’Open Software Foundation sous la dénomination DCE (Distributed Computing Environment) - RPC/DCE basé fonctions
![Page 48: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/48.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 48
1. CORBA et ses concurrents (2/2)
DCOM (Distributed Common Object Model) / COM+ - Microsoft : Windows
RMI (Remote Method Invocation) - Java EJB (Enterprise JavaBeans)
![Page 49: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/49.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 49
2. Développement d’une application CORBA : Vue générale
Définition des fonctionnalités de l’objet
Implantation de ces fonctionnalités et codage des applications client et serveur
Compilation de l’ensemble pour générer les applications exécutables
![Page 50: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/50.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 50
2. Les 7 étapes de développement d’une application CORBA (1/3)
1. Ecriture de l’interface de l’objet en IDL
2. Compilation de l’IDL : génération des modules stub et skeleton (ligne de commande ou environnement de développement)
3. Implantation de l’objet (code)
![Page 51: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/51.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 51
2. Les 7 étapes de développement d’une application CORBA (2/3)
4. Ecriture ou génération du code de l’application serveur (pour le lancement de l’objet)
5. Compilation du serveur (génération de l’exécutable de l’application serveur - liaison à l’ORB)
![Page 52: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/52.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 52
2. Les 7 étapes de développement d’une application CORBA (3/3)
6. Ecriture de l’application cliente (pour se connecter à l’objet distant afin d’exécuter des méthodes)
7. Compilation du client (liaison à l’ORB)
![Page 53: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/53.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 53
2.1. Ecriture de l’interface en IDLIndépendance avec le langage utilisé
pour l’implantation de l’objet
Eléments de syntaxe : mots réservés - définition de méthodes
Editeur de texte (général ou intégré) : format ASCII standard - <module>.idl
![Page 54: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/54.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 54
2.2. Compilation de l ’IDL - Génération stub et skeleton (1/2)
Compilateur IDL fourni avec l’ORB
Stub : objet « virtuel » (proxy ou objet subrogé) - relai vers l’objet distant
Skeleton : classe de base de l’objet distribué à dériver (cf. étape 3)
![Page 55: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/55.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 55
2.2. Compilation de l ’IDL - Génération stub et skeleton (2/2)
Code généré : C++, Java ...
Selon des règles de projection (mapping) définies par l’OMG (C, C++, Java, COBOL, Ada et Smalltalk)
Ligne de commande ou environnement de développement
![Page 56: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/56.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 56
2.3. Création du servant - Implantation de l’objet
Création de la classe de l’objet mis à disposition des clients
Par dérivation, à partir du skeleton généré à l’étape 2
Editeur de texte / générateur de code
![Page 57: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/57.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 57
2.4. Réalisation du serveur (1/4)
Mettre à disposition des applications clientes l’objet obtenu à l’étape 3
Création d’une application hôte (serveur) qui contiendra l’objet
Programme résident (servlet, contrôle ActiveX, DLL ISAPI …)
![Page 58: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/58.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 58
2.4. Réalisation du serveur (2/4)
Initialiser l’ORB : disposer d ’un accès à un objet correspondant à l’ORB
Obtenir une référence sur le rootPOA : accéder aux fonctionnalités du POA
[Définir la stratégie du POA : persistance]
![Page 59: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/59.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 59
2.4. Réalisation du serveur (3/4)
[Créer le POA]
Créer le servant
Activer le servant dans le POA : rendre l’objet accessible aux applications clientes
![Page 60: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/60.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 60
2.4. Réalisation du serveur (4/4)
Activer le POA Manager : pour écouter les demandes
Mise en attente du serveur : mettre l’application serveur en position d’attente
![Page 61: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/61.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 61
2.5. Compilation du serveur
Génération de l’exécutable (ligne de commande / environnement de développement)
Fichiers à inclure : [interface], stub, skeleton, code programme serveur, ORB
![Page 62: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/62.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 62
2.6. Réalisation du client
Initialiser l’ORB (idem serveur)
Connexion à l’objet : méthode propriétaire (bind) non normalisée par l’OMG !
Utilisation de l’objet : appels de méthodes (« classique »)
![Page 63: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/63.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 63
2.7. Compilation du client
Génération de l’exécutable : ligne de commande / environnement de développement (idem serveur - étape 5)
Fichiers à inclure : interface utilisateur du client, stub, ORB
![Page 64: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/64.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 64
3. Services CORBA - Vue générale (1/7)
Naming : permet le « nommage » symbolique des objets CORBA sous des noms simples et explicites qui seront ensuite utilisés par les clients
Event : produit des événements asynchrones au niveau des serveurs accessibles par un canal spécifique (pull / push)
![Page 65: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/65.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 65
3. Services CORBA - Vue générale (2/7)
LifeCycle : offre un ensemble d’outils pour la gestion du cycle de vie des objets
Persistent Object : prend en charge la persistance des objets (stockage / restauration) - liens avec Externationalization (stockage sur support persistant)
![Page 66: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/66.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 66
3. Services CORBA - Vue générale (3/7)
Relationship : gère les relations inter-objets (cardinalités 1-1 1-n n-n, intégrité)
Externationalization : gère des flux d’objets sortants (externationalisation) et entrants (internationalisation) pouvant impliquer des ORB différents - interopérabilité
![Page 67: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/67.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 67
3. Services CORBA - Vue générale (4/7)
Transaction : garantit l’intégrité des objets quels que soient les problèmes survenant lors du traitement - concept de transaction
Concurrency Control : gère les problèmes d’accès concurrents aux ressources partagées
![Page 68: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/68.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 68
3. Services CORBA - Vue générale (5/7)
Licensing : gestion des licences - contrôle de l’accès aux objets pour facturation
Query : permet l’introspection sur les objets
Object Collection : permet de parcourir des collections d’objets (de même type) - itérateurs - liés à Query
![Page 69: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/69.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 69
3. Services CORBA - Vue générale (6/7)
Property : permettre l’ajout dynamique de propriétés à un objet CORBA - en marge de la définition - besoin temporaire
Security : garantir la sécurité de l’application (authentification des clients, cryptage des données transitant sur le réseau …)
![Page 70: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/70.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 70
3. Services CORBA - Vue générale (7/7)
Time : fournit un point de synchronisation entre clients et serveurs - déclenchement simultané d’actions communes
Trading Object : service de localisation d’objets - trouver l’objet approprié répondant à des critères de recherche précis.
![Page 71: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/71.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 71
Conclusion
Langage IDL
Programmation Serveur
Programmation Client
![Page 72: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/72.jpg)
Avril 2011 Architecture des SI - P. ANIORTE
72
Java-RMI
Philippe ANIORTE
IUT Bayonne - LIUPPA
![Page 73: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/73.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 73
Positonnement
RMI : Remote Method Invocation (RPC orienté objet intégré à Java)
Interopérabilité autour de Java
Objet Java : Stub (Proxy) / Skeleton
![Page 74: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/74.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 74
Architecture
2 parties : JVM Client & JVM Serveur (JVM=Java Virtual Machine)
JVM Client : Client - Stub - Naming
JVM Serveur : Serveur - Skeleton - Naming
![Page 75: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/75.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 75
Naming (nommage)
Dispositif central : rmiregistry (serveur de noms)
Le serveur y enregistre le service
Le client y recherche le service
![Page 76: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/76.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 76
Démarche de développement
Codage
Compilation
Lancement
![Page 77: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/77.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 77
Codage - Vue générale
Interface du service
Serveur (implantation de l’objet distribué offrant le service)
Client (utilisation de l’objet via l’interface)
![Page 78: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/78.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 78
Codage de l’interface (interface Java « classique »)
Interface « publique »
Extension de l’interface java.rmi.Remote
Exception java.rmi.RemoteException
![Page 79: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/79.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 79
Compilation des sources
Fichiers .java (interface, serveur & client)
Compilateur Java : javac
Génération de 3 classes .class (interface, serveur & client)
![Page 80: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/80.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 80
Génération des stub et skeleton
Outil rmic
Génération de classes ( _Stub.class & _Skeleton.class)
![Page 81: Cours Architecture Des SI](https://reader030.vdocuments.net/reader030/viewer/2022012315/5571fb04497959916993bcb2/html5/thumbnails/81.jpg)
Avril 2011 Architecture des SI - P. ANIORTE 81
Lancement
Serveur de noms (rmiregistry)
Serveur
Client