Vous êtes sur la page 1sur 85

Gnralits

Systmes, Algorithmes et Applications Rpartis Vincent Barreaud


ENSSAT

Gnralits

2007-2008/ LSI 3

Gnralits

Plan
Introduction Architecture des systmes rpartis Modles d'xecution : modle client-serveur Modles d'xecution : modle P2P dsignation/localisation/protection

Gnralits Introduction Quoi ?

Evolution technologique
Extension des rseaux Performance des rseaux Faible cot des microprocesseurs

Evolution des besoins


Dlocalisation des entreprises Accs l'information universel

Systmes distribus

Gnralits Introduction Quoi ?

un SD, c'est...

"Un systme distribu est un systme qui s'excute sur un ensemble de machines sans mmoire partage, mais que pourtant l'utilisateur voit comme une seule et unique machine." [Tanenbaum]

Gnralits Introduction Quoi ?

un SD ce n'est pas...
un systme multiprocesseurs systme un ou plusieurs processeurs partageant l'accs complet une RAM commune. un systme multiordinateurs (clusters de PC) systmes de processeurs ayant chacun une RAM propre. Dirence ? Chaque ordinateur d'un systme distribu possde un jeu de priphriques Pas de rseau ddi pour les systmes distribus Faible couplage des ordinateurs : grand nombre d'applis (+) / programmation complexe (-)

Gnralits Introduction Quoi ?

un SD, c'est plutt...[Tanenbaum]

Multiprocesseur Conguration du noeud Priphriques de noeud Emplacement Communication Systme d'exploitation Systme de chier Administration Processeur Tous partags Mme baie RAM partage Un seul, partag Un seul, partag Une organisation

Multiordinateur Processeur, RAM, interface rseau Excutable partag, disque Mme pice Lien ddi Plusieurs, le mme Un seul, partag Une organisation

Systme distribu Ordinateur complet Jeu complet par noeud Le monde entier Internet Tous dirents Chaque noeud possde le sien Plusieurs organisations

Gnralits Introduction Pourquoi ?

Pourquoi ?
raisons conomiques
prix des processeurs de petite puissance partage des ressources facilit d'extension du systme

raisons pratiques
robustesse aux pannes paralllisme, concurrence application spciques (avion, usines,...) communication entre machines (rpartition d'applications) et entre utilisateurs

Gnralits Introduction Comment ?

Comment ?
"Ce que les systmes distribus ajoutent au rseau sous-jacent est un paradigme commun proposant une manire uniformise d'tudier l'ensemble du systme" [Tanenbaum] "En dpit du matriel sous-jacent et de systme d'exploitation dirents, un systme distribu peut arriver une certaine uniformit grce une couche logicielle venant se superposer au systme d'exploitation : le Middleware (Intergiciel)" [Tanenbaum]

Gnralits Introduction Comment ?

middleware - intergiciel
Base commune d'application Application Middleware Windows Pentium Application Middleware Linux Pentium Application Middleware Solaris SPARC Application Middleware Mac OS Macintosh

Rseau

Gnralits Introduction Comment ?

Seulement le middleware ?
o est construit le paradigme commun ? (Intgration)

Dans la couche transport (TCP/IP, ...) Dans le langage de programmation (ADA, JAVA RMI, ...) Dans le middleware (CORBA, RPC) (entre le systme d'exploitation et les applications) Dans le systme d'exploitation (micro-noyau Chorus, Mach, Amoeba)

Gnralits Introduction Quels sont les problmes ?

La rpartition ... problmes et solutions


La sparation physique des composants ... et la communication entre composants La migration des composants ... et la localisation des composants migrs La duplication des composants ... et la cohrence des copies grer Les pannes ... et la tolrance aux pannes Les accs concurrents ... et la gestion de la concurrence

Des problmes Des mcanismes Des transparences

Gnralits Introduction Quels sont les problmes ?

Dsigner les ressources du systme (transp loc/mig)


Accder un service par son nom et non par son adresse
le nom est indpendant de la localisation gographique et du temps, pour faire face aux

migrations (partage de charge, rduction du temps d'accs) pannes (activation ou passivation du serveur, changement de protocole) traduction du nom en adresse par un service de localisation : 1. diusion (simple), 2. itration, 3. serveur de localisation (gnrale mais lourde) Pour que la requte du client arrive jusqu'au serveur migr : 1. le client possde la nouvelle adresse 2. le client possde la nouvelle adresse + redirection

Gnralits Introduction Quels sont les problmes ?

Support de l'htrognit (transp Acc.)

Interoprabilit : dirences matrielles et logicielles

Comme par exemple reprsentation des donnes mmoires (little/big endian, ...) langages de programmation protocoles de communication

Gnralits Introduction Quels sont les problmes ?

Dfaillance matrielle
(Transparence aux pannes)

Un systme distribu est un systme avec lequel je ne peux rien faire car une machine que je ne connais pas est en panne (Lamport)
Pas totalement vrai car des solutions base de : Systme Transactionnel Point de reprise globaux (sic) Solution base de redondance

redondance active (groupe de serveurs + vote = consensus) redondance passive (serveurs matre/esclaves)

Gnralits Introduction Quels sont les problmes ?

Cohrence et synchronisation (transp. concu/repli)


Problmes d'indeterminisme logique pour partage de donnes (squence des modications ? cohrence des versions ?) processus rpartis (synchronisation ? tat nal ?) Introduction de la notion de transaction ayant des proprits d'atomicit, de consistance, d'isolation et de durabilit. Mcanismes : 1. algorithme de validation et de reprise 2. contrle de concurrence par vrouillage, certication, estampillage, ... 3. prvention ou dtection d'interblocage

Horloges non synchronises : pas d'tat global du systme

Gnralits Introduction Quels sont les problmes ?

Autre ...

Scurit, authentication, accs, ... Performance (faire mieux que centralis) ...

Gnralits Introduction Pour quelles Applications ?

Domaines d'application des systme rpartis


travail coopratif CFAO (Computer Suported Cooperative Work), production cooprative de documents systme d'information gestion intgre des informations d'une entreprise tl-oprations contrle et organisation d'activits en temps rel serveurs centre de documentation, bibliothques (multimdia) tl-enseignement systme d'aide la formation

Gnralits Introduction Pour quelles Applications ?

Besoins couverts
interface standardises, interoprabilit, portabilit coopration, coordination, partage vision commune, interaction transparence accs, localisation, uniformisation, ... qualit de service disponibilit, dlais, cots, ... scurit authentication, intgrit, condentialit, ... volutivit, facilit d'administration mise l'chelle, reconguration, ... ouverture

Gnralits Introduction Pour quelles Applications ?

Exemple 1 : WWW

middleware fond sur le document

adressage des pages par URL (transparence d'accs) liens hypertexte (transparence la localisation) buers, duplication de serveurs, routage (transparence aux pannes, l'extension des ressources) diteurs, lecteurs (transparence l'htrognit)

Gnralits Introduction Pour quelles Applications ?

Exemple 2 : NFS

middleware fond sur le systme de chier

montage de disque (transparence d'accs et de localisation) volution (transparence l'extension de ressources) htrognit ? pannes ?

Gnralits Introduction Pour quelles Applications ?

Exemple 3 : CORBA
middleware fond sur un objet partag

Un objet est une collection de variables lies des mthodes (et accessible uniquement par elles). Object Request Brokers (transparence d'accs, de localisation, l'extension) Interface Denition Language (transparence l'htrognit) Duplication (transparence aux pannes)

Gnralits Introduction Pour quelles Applications ?

Autres exemples

Contrle du trac arien Systme de courtage Banques P2P

Gnralits Architecture des systmes rpartis Evolution

Evolution
le modle client-serveur > (schma de base) modle primitif (messages) modle volu (appel de procdure distantes) : demande de service, gestion de chiers serveurs cooprants > interface serveur unique services intgrs regroupement des modalits sur un mme rseau (voix, donnes, ...) services rpartis (sur les routeurs) le modle pair pair (modle r-mergeant) partage des ressources et du contrle agrgation des ressources et interoperabilit modle pur, modle hybride

Gnralits Architecture des systmes rpartis Quels outils ?

Des normes

pour structurer et pouvoir inter-oprer

Open Software Foundation > (consortium) : Modle DCE Object Managment Group > (consortium) : CORBA > , services ODP > (ISO-UIT-T) : modlisation, ingnierie IETF - W3C : protocoles HTTP, SOAP >

>

Gnralits Architecture des systmes rpartis Quels outils ?

Des lments pour la construction et la rutilisation

mise en place de systmes gnriques sur micro-noyaux assemblage de protocoles partir d'lments gnriques (pour la communication, la journalisation, ...) utilisation de techniques objets (rpartis, bien entendu) pour la structuration des systmes et des applications

Gnralits Architecture des systmes rpartis Les modles d'excution

Des solutions bien connues


modle client-serveur

client-serveur "traditionnel" client-serveur "de donnes" client-serveur " objet" modle de communication par messages par venements modle composants modle base de code mobile modle mmoire virtuelle partage modle "pair pair"

Gnralits Architecture des systmes rpartis Les modles d'excution

Exemple : architectures micro-noyau


Noyau enrichi Espace Utilisateur Applications Service1 Service2 Service3 Service4 Micro-Noyau
Communication, Ordonnancement des processus, Gestion mmoire

Matriel

Gnralits Architecture des systmes rpartis Les modles d'excution

Avantages de l'architecture micro-noyau


Noyau de base simple et de taille rduite facile comprendre, mettre au point et maintenir Oprations primitives ecaces :

processus lgers "threads" mmoire virtuelle avec couplage communication rapide et protge services modulaires rutilisables services modulaires risque loigns de la partie sensible du noyau systme.

Gnralits Architecture des systmes rpartis Les modles d'excution

Inconvnients de l'architecture micro-noyau

L'utilisation de nombreux services dans l'espace utilisateur engendre les deux problmes suivants : La plupart des services sont l'extrieur du noyau et gnrent un trs grand nombre d'appels systme ; Les interfaces de communication entre les services (IPC) sont complexes et trs lourdes en temps de traitement.

Gnralits Architecture des systmes rpartis Les modles d'excution

Exemples de modles de communication (1)


message passing, message queuing et Publish/Suscribe

Conversationnel
Prog A

Prog B Prog B Prog B

Requtes et rponses
Prog A Prog A

Envoi de message

Gnralits Architecture des systmes rpartis Les modles d'excution

Exemples de modles de communication (2)


Stockage et envoi de message
Prog A Prog B Prog C

Publication et abonnement
Prog A

Prog B

Gnralits Modles d'xecution : modle client-serveur

les modles d'excution


modle client-serveur

client-serveur "traditionnel" client-serveur "de donnes" client-serveur " objet" modle "pair pair" modle de communication par messages par venements modle composants modle base de code mobile modle mmoire virtuelle partage

Gnralits Modles d'xecution : modle client-serveur client-serveur traditionnel

le principe du client-serveur
ordinateur client processus client demande rponse rseau ordinateur serveur processus serveur

Gnralits Modles d'xecution : modle client-serveur client-serveur traditionnel

le modle client-serveur vu du client


Peut de dirence avec un appel local
ordinateur client processus client demande rponse service distant rponse ordinateur client processus client demande service distant

Gnralits Modles d'xecution : modle client-serveur client-serveur traditionnel

le modle client-serveur vu du serveur


Gestion des demandes (priorit ?) Excution du service (squentiel ? concurrent ?) Etat du client (mmorisation ?) ordinateur serveur processus serveur demande rponse

Gnralits Modles d'xecution : modle client-serveur client-serveur traditionnel

Une stratgie de mise en oeuvre : le serveur multi-threads


thread veilleur

requtes client

serveur multi-threads

thread excutant

Gnralits Modles d'xecution : modle client-serveur client-serveur traditionnel

Les dirents types de paquets utiliss dans les protocoles client-serveur


code
REQ REP

type de paquet
demande rponse

de
client serveur

vers
serveur client

description
le client dsire un service la rponse du serveur au client

ACK

accus de rception

le paquet prcdent est arriv

AYA IAA

es-tu vivant je suis vivant

client serveur

serveur client

le serveur fonctionne-t-il ? le serveur n'est pas en

panne TA AU essayer de nouveau adresse inconnue serveur serveur client client le serveur est satur aucun processus n'utilise

cette adresse

Gnralits Modles d'xecution : modle client-serveur client-serveur traditionnel

Les protocoles d'changes entre client et serveur

protocole "Request" (R) : pas de conrmation protocole "Request/Reply" (RR) : simple change (type datagramme)(piggybacking) protocole "Request/Reply/Acknowledg-reply"(RRA) : message composite, pour viter au serveur de conserver des messages

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Mise en oeuvre du modle client serveur : Appel de procdure distance (RPC)


ordinateur client processus client demande rponse rseau ordinateur serveur processus serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

les problmes du RPC

Identier un service Convertir un appel procdure en un change de message Choisir une reprsentation des donnes (htrognit des matriels) Choisir un service de transport (couche de transport)

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Remote Procedure Call


Client emballage dballage attente marshalling transport envoi param. rception rsultat attente stub client Serveur gestion processus emballage dballage marshalling transport rception param. envoi rsultat stub serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Remote Procedure Call


Client emballage dballage attente marshalling transport envoi param. rception rsultat attente stub client Serveur gestion processus emballage dballage marshalling transport rception param. envoi rsultat stub serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Remote Procedure Call


Client emballage dballage attente marshalling transport envoi param. rception rsultat attente stub client Serveur gestion processus emballage dballage marshalling transport rception param. envoi rsultat stub serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Remote Procedure Call


Client dballage emballage attente marshalling transport envoi param. rception rsultat attente stub client Serveur gestion processus emballage dballage marshalling transport rception param. envoi rsultat stub serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Remote Procedure Call


Client dballage emballage attente marshalling transport envoi param. rception rsultat attente stub client Serveur gestion processus emballage dballage marshalling transport rception param. envoi rsultat stub serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Remote Procedure Call


Client dballage emballage attente marshalling transport envoi param. rception rsultat attente stub client Serveur gestion processus emballage dballage marshalling transport rception param. envoi rsultat stub serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Remote Procedure Call


Client dballage emballage attente marshalling transport envoi param. rception rsultat attente stub client Serveur gestion processus emballage dballage marshalling transport rception param. envoi rsultat stub serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Remote Procedure Call


Client dballage emballage attente marshalling transport envoi param. rception rsultat attente stub client Serveur gestion processus emballage dballage marshalling transport rception param. envoi rsultat stub serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Remote Procedure Call


Client dballage emballage attente marshalling transport envoi param. rception rsultat attente stub client Serveur gestion processus emballage dballage marshalling transport rception param. envoi rsultat stub serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Remote Procedure Call


Client dballage emballage attente marshalling transport envoi param. rception rsultat attente stub client Serveur gestion processus emballage dballage marshalling transport rception param. envoi rsultat stub serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Remote Procedure Call


Client emballage dballage attente marshalling transport envoi param. rception rsultat attente stub client Serveur gestion processus emballage dballage marshalling transport rception param. envoi rsultat stub serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Cration des Stubs : langage de description d'interface (IDL)

Motivations

spcications commune au client et au serveur dnition du type et de la nature des paramtres indpendance des langages de programmation Principes directeurs langage dclaratif outils de gnration de stubs (talons) Sun RPCGen

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Exemple de chier IDL : Somme.x (RPC Sun)


struct DeuxEntiers{ int x1; int x2; } program PROG_SOMME{ version VERSION{ int SOMME_RPC(DeuxEntiers)=1; /* proc N1 */ }=1; /* version N1*/ } = 0x21000000; /*N de programme */

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

La compilation des stubs


code procdures client description de l'interface gnrateur de stubs code procdures serveur

code stub client compilateur liens programme client

code stub serveur compilateur liens programme serveur

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

L'appel distant Vs l'appel local


Objectifs

prserver la smantique habituelle de l'appel de procdure (transparence) transparence de la localisation Dicults ralisation peu conviviale (mme avec un IDL) smantique dirente de l'appel de procdure :
passage de paramtre

Par consquent, la smantique est dpendante de l'implmentation du RPC.

gestion des pannes

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Le RPC : Quelques problmes de mise en oeuvre


Traitement des dfaillances

panne et/ou congestion du rseau (perte du message de requete ou perte de la rponse du serveur.) panne de client pendant le tratement de la requte panne du serveur avant ou pendant le tratement de la requte gestion de l'htrognit designation et liaison problmes de scurit authentication du client et du serveur condentialit des changes problmes d'adaptation des environnements variables protocoles, langages, matriels problme de performances

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Le RPC : traitement des dfaillances

smantique variable pour la reprise en cas d'erreur

at least once si dlai coul alors r-mission requte :plusieurs excutions (idempotente ?) possibles. at most once si dlai coul alors pas de reprise exactly once si dlai coul alors r-mission requte ou r-mission rponse avec limination des doublons.

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Le RPC : La gestion de l'htrognit


Problme : reprsentation des donnes. La conversion est ncessaire si le client et le serveur .

n'utilisent pas le mme systme de codage (big endian, little endian) utilisent des formats internes dirents Solution syntaxe abstraite de transfert ASN1 (Abstract Notation N1 du modle de communication OSI) reprsentation externe commune XDR (eXternal Data Representation de SUN) reprsentation locale pour le client avec conversion par le serveur ngociation entre le client et le serveur sur le choix d'une reprsentation

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Le RPC : dsignation et liaison (binding)


Problmes

objet dsigner (site d'excution, serveur, procdure) une dsignation globale indpendante de la localisation permet une reconguration des services (panne, rgulation) Mise en oeuvre : statique ou dynamique statitique : localisation du serveur connue la compilation dynamique : localisation du serveur dtermine l'xecution
pour sparer le nom du service de la procdure qui va l'xecuter permettre l'implmentation retarde (gestion de versions)

Gnralits Modles d'xecution : modle client-serveur l'appel procdure distant

Le RPC : dsignation et liaison (binding) (2)


Client Serveur

stub client <2> <3> Serveur de noms

stub serveur <1>

Gnralits Modles d'xecution : modle client-serveur client-serveur "de donnes"

Le client-serveur "de donnes"


Client "lourd" requte SQL tuples Serveur

cf : JDBC, ODBC, ...

BDD

Gnralits Modles d'xecution : modle client-serveur client-serveur "de donnes"

Le client-serveur " donnes" (2)


fonction du serveur

stockage des donnes, gestion de la disponibilit et de la scurit interprtation, optimisation des requtes fonction du client code de l'appllication non-li aux donnes dialogue avec l'utilisateur fonction du "mdiateur" procdure de connexion/dconnexion prparation/communication des requtes gestion des caches

des client lourds : "fat client"

Gnralits Modles d'xecution : modle client-serveur client-serveur " objets"

Le client-serveur " objets"


Motivations

proprits de l'objet (encapsulation, modularit, rutilisabilit, ...) objet : unit de dsignation et de distribution Principe de fonctionnement
Serveur
Etat mthode1 mthode2 mthode3

Client

stub client

stub serveur

Gnralits Modles d'xecution : modle client-serveur client-serveur " objets"

Appel de mthode distance


lments d'une invocation

rfrence d'objet identication d'une mthode passage de paramtres et retour de rsultat (et exceptions) objets "langage" reprsentation propre au langage : instance d'une classe exemple : JAVA RMI objets "systme" reprsentation gnrique dnie par l'environnement d'excution exemple : CORBA

Gnralits Modles d'xecution : modle P2P

Gnralits Modles d'xecution : modle P2P

Gnralits dsignation/localisation/protection dsignation et localisation

Dsignation et localisation
Noms
Noms externes ou symboliques Noms internes contextuels ou locaux Noms internes uniques et globaux (UID)

Adresses
Adresses rseaux (ou "virtuelles") Adresses mmoire (ou "disque")

Gnralits dsignation/localisation/protection dsignation et localisation

Les noms internes uniques et globaux


unicit dans l'espace unicit dans le temps 2 problmes : gnration des UID et traduction en adresses exemple de solution : UID Apollo-Domain
Heure de cration 36 bits Site de cration 20 bits 8 bits Proprits du Unique Identier (UID)

Gnralits dsignation/localisation/protection dsignation et localisation

Stratgies de localisation des objets nomades

1. diusion (la plus simple, gourmande en message) 2. heuristique (adaptative, complique) 3. valuation itrative de la localisation (cot croissant au cours du temps) 4. serveur de localisation (la plus gnrale, lourde)

Gnralits dsignation/localisation/protection Exemple du DNS

DNS : organisation et nommage


Couche Globale, Administative .et de Gestion
fr enssat www accueil.php ... edu gov mil ... org ...

wikipedia fr eng

Gnralits dsignation/localisation/protection Exemple du DNS

DNS : Quels serveurs ?


Serveur Global Administatif
Organisme Beaucoup msec. immdiate peu ou pas oui

Echelle Monde Nombre de noeuds Peu Ractivit sec. Mise Jour Lente Clones Beaucoup Cache client ? oui

Entreprise Enormment immdiate immdiate aucune parfois

de Gestion

Gnralits dsignation/localisation/protection Exemple du DNS

DNS : Quels serveurs ?


Serveur matre primaire : autorit sur sa zone Serveur matre secondaire : dlgation + remplacement Serveur esclave : traite les requtes Serveur forwarder : frontal, traite les requtes recursives Serveur de cache : transmet les requtes, allge le trac

Gnralits dsignation/localisation/protection Exemple du DNS

DNS : La rsolution de noms

rsolution directe rsolution indirecte

requtes rcursives requtes itratives mcanisme de cache rsolution inverse

Gnralits dsignation/localisation/protection La protection

Les noms internes et la protection : Amoeba (1)


Objet : type abstrait statique avec une identication
Port du serveur 64 bits Objet Droits Cl de contrle 64 bits 32 bits 32 bits

Mcanisme :client-serveur (RPC) Opration synchrone (thread) Cache Port du serveur : adresse logique du contact (nomade ?) Objet : identicateur qui n'a pas de sens pour le serveur Droits : oprations autorises Cl : validation de l'authentication

Gnralits dsignation/localisation/protection La protection

Les noms internes et la protection : Amoeba (2)

A la cration de l'objet, le serveur tire un nombre alatoire N (identication propritaire) Le crateur est propritaire de tout les droits N est conserv dans les tables du serveur La cl C = F (NxorDroits ) o F est une fonction non-inversible (identication restreinte).

Gnralits dsignation/localisation/protection La protection

Les noms internes et la protection : Amoeba (3)


Droits Port du serveur Objet 11...11 N

Port du serveur

Objet

Droits

F (N xor Droits )

Gnralits dsignation/localisation/protection La protection

Les noms internes et la protection : Amoeba (4)


N Port du serveur Objet Droits F (N xor Droits )

Comparaison (Validation)

F (N xor Droits )

Gnralits Annexes

Serveurs Cooprants
Ralisation d'un modle abstrait serveur unique (dissimulant une ralisation cooprative) Motivations : tolrance aux pannes / Ecacit Problmes : Communication interne, reprise de panne, cohrence

Interface

Gnralits Annexes

Modle client-serveur
Aspect physique

Modularit Abstraction (interface) Modle smantique connu (RPC)

requte client

Aspect logique

Machines physiquement identies Systmes indpendants Liaison statique/dynamique

serveur rponse

Gnralits Annexes

Open Software Foundation

Cre en 1988 But : Cration d'un standard pour l'implmentation d'UNIX Apollo Computers, Groupe Bull, Digital Equipment Corporation, Hewlett-Packard, IBM, Nixdorf Computer, and Siemens AG aboutira au standard OSF/1 (chec) autres ralisation : MOTIF et DCE.

Gnralits Annexes

Modle DCE
Plate-forme de dveloppement destine aux applications distribues Vision inverse du micro-noyau : intgration de services bas niveau dans le systme hte. Sous la forme de bibliothques (primitives pour RPC, threads, cellules d'objets, Horloge globale). Services cooprent entre eux et forment la couche systme DCE au dessus du noyau du systme hte. Systme de chier de type DCE utilis par IBM pour Jeux Olympiques '96

Gnralits Annexes

Common Object Request Broker Architecture (1992, OMG)


Architecture logicielle Pour le dveloppement de composants et d'Object Request Broker

assembls (langages distincts), excuts sur des processus spars, dploys sur des machines distinctes. interoprable avec RMI interface des composants dcrits sous IDL, prcompilateurs de stub et skeletons.

Gnralits Annexes

Simple Object Access Protocol

Microsoft, IBM ... puis recommandation W3C protocole de RPC orient objet bti sur XML autorise un objet invoquer des mthodes d'objets physiquement situs sur une autre machine

Gnralits Annexes

The Open Managment Group http ://www.omg.org/

Consortium d'entreprises Pour le dveloppement de standards technologiques et industriels Cadre : Outils pour la conception, l'xcution, la maintenance, ... Middlewares bass sur CORBA

Gnralits Annexes

Modle ODP : Open Distributed Processing

"The objective of ODP standardization is the development of standards that allow the benets of distributing information processing services to be realized in an environment of heterogeneous IT resources and multiple organizational domains. These standards address constraints on system specication and the provision of a system infrastructure that accommodate diculties inherent in the design and programming of distributed systems." [LAMS, EPFL] Le modle objet (identit + tat + comportement + interfaces) construire des spcications de systme ODP : il est compos d'objets hirarchiss et interagissants (objets composites) Le modle architectural (Reference Model) pt de vue entreprise (besoin), information (ux), traitement (dcomposition fonctionnelle), ingnierie (infrastructure requise), technologie (choix).