Académique Documents
Professionnel Documents
Culture Documents
Corba
Architecture
Broker
Request
Object
Common
A. Beugnard
Telecom Bretagne
Corba
Plan
Introduction
OMG
Architecture
A. Beugnard
IDL
Limitations
Un service
Telecom Bretagne
Corba
Introduction
A. Beugnard
Telecom Bretagne
Corba
rseau et distribution
le systme d'information
regroupe les applications
quelques applications
indpendantes
1982
A. Beugnard
1986
1990
1995
1998
Telecom Bretagne
Corba
Transparence la localit
ORB
OS2
Mac
Unix
VMS
Application
existante
ORB
ORB
A. Beugnard
Telecom Bretagne
Corba
Serveurs
Fichiers
Serveurs
Bases de
donnes
Groupware
1982
1986
1990
Moniteurs
transactionnels
1995
Objets
Distribus
1998
A. Beugnard
Telecom Bretagne
Corba
Client
interface
mise en forme
contraintes locales
"intelligence"
applicative
contraintes globales
calculs de requtes
stockage
Serveur
A. Beugnard
Telecom Bretagne
Corba
Client
interface
mise en forme
contraintes locales
"intelligence"
applicative
MiddleWare
contraintes globales
calculs de requtes
stockage
Object
Request
Broker
Serveur
A. Beugnard
Telecom Bretagne
Corba
Client
obj
obj.A
A{
Skeleton
STUB
Requte
Symtrie Client-Serveur ; un objet peut tre la fois client d'objets et serveur d'autres
A. Beugnard
Telecom Bretagne
Corba
10
Corba : le noyau
Smalltalk
C++
Ada
Autres
Smalltalk
C++
Ada
Autres
"mapping"
IDL
IDL
Client
Serveur
Telecom Bretagne
Corba
11
Common Facilities
System
Framework
Interoprabilit
Application
Framework
Business
Objects
Collaboration
A. Beugnard
Telecom Bretagne
Corba
12
Relationship
dfinition de relation entre objet et de techniques de
parcours
Naming
comment nommer, enregistrer et localiser un objet
Persistence
interface pour stocker des objects sur SGBD, SGBDR, SGBDO,
Externalization
comment faire entrer ou sortir des objets sous forme de flux
A. Beugnard
Telecom Bretagne
Corba
13
Query
surensemble de SQL (SQL3) et de OQL
Properties
association d'informations aux objets (titre, date de cration,
)
Transaction
validation deux-phases de transactions (commit, rollback)
Concurrency Control
gestion de verrou pour la synchronisation
A. Beugnard
Telecom Bretagne
Corba
14
Et d'autres venir
A. Beugnard
Trader
Security
Time
Collections
Change Management
Telecom Bretagne
Corba
15
User Interface
Information Management
System Management
Task Management
vertical
Document
Composition
Edition
Stockage
...
Configuration
Gestion
...
Workflow
...
A. Beugnard
Telecom Bretagne
Corba
16
Plan
Introduction
OMG
Architecture
A. Beugnard
IDL
Limitations
Un service
Telecom Bretagne
Corba
17
Organisation
Histoire
Road map
A. Beugnard
Telecom Bretagne
Corba
18
Histoire
Cre en 1989 par Sun, HP, Dec, NCR Hyperkesk, ODI
Association type "loi 1901" base aux USA
Actuellement, plus de 600 membres
le plus grand groupe d'utilisateurs
15 employs plein temps
Telecom Bretagne
Corba
19
Road Map
RFP 1 : CF1
OpenDoc
RFP 3 : COSS3
Security
Time
RFP 1 : COSS1
Life Cycle
Naming
Persistence
Event Notification
1993
RFP 2 : COSS2
Transactions
Concurrency
Relationships
Externalization
1994
RFP 4 : COSS4
Query
Licensing
Properties
1995
Corba 1.1
RFP 5 : COSS5
Trader
Collections
Change Management
1996
Corba 2.0
12/94
interoprabilit mono-ORB
A. Beugnard
interoprabilit multi-ORB
Telecom Bretagne
Corba
20
Plan
Introduction
OMG
Architecture
A. Beugnard
IDL
Limitations
Un service
Telecom Bretagne
Corba
21
Architecture
Utilisation
IIOP
A. Beugnard
Telecom Bretagne
Corba
22
Telecom Bretagne
Corba
23
Architecture gnrale
Implantation d'objets
Client
Interface
Repository
Implementation
Repository
Dynamic
Invocation
IDL
Stubs
ORB
Interface
Static
Skeletons
Dynamic
Skeleton
Invocation
Object
Adapter
A. Beugnard
Telecom Bretagne
Corba
24
Implantation d'objets
Client
Interface
Repository
Implementation
Repository
Dynamic
Invocation
IDL
Stubs
ORB
Interface
Static
Skeletons
Dynamic
Skeleton
Invocation
Object
Adapter
Telecom Bretagne
Corba
25
Dynamic Invocation
Interface et Interface
Repository
Implantation d'objets
Client
Interface
Repository
Implementation
Repository
Dynamic
Invocation
IDL
Stubs
ORB
Interface
Static
Skeletons
Dynamic
Skeleton
Invocation
Object
Adapter
Telecom Bretagne
Corba
26
Implantation d'objets
Client
IDL Skeletons
Interface
Repository
Implementation
Repository
Dynamic
Invocation
IDL
Stubs
ORB
Interface
Static
Skeletons
Dynamic
Skeleton
Invocation
Object
Adapter
A. Beugnard
Telecom Bretagne
Corba
27
Implantation d'objets
Dynamic Skeleton
Invocation
Client
Interface
Repository
Dynamic
Invocation
IDL
Stubs
ORB
Interface
Static
Skeletons
Dynamic
Skeleton
Invocation
Implementation
Repository
Object
Adapter
Telecom Bretagne
Corba
28
Implantation d'objets
Client
Object Adapter
Interface
Repository
Implementation
Repository
Dynamic
Invocation
IDL
Stubs
ORB
Interface
Static
Skeletons
Dynamic
Skeleton
Invocation
Object
Adapter
A. Beugnard
Telecom Bretagne
Corba
29
Implantation d'objets
Implementation
Repository
Client
Implementation
Repository
Interface
Repository
Dynamic
Invocation
IDL
Stubs
ORB
Interface
Static
Skeletons
Dynamic
Skeleton
Invocation
Object
Adapter
A. Beugnard
Telecom Bretagne
Corba
30
Stratgies des OA
shared server
persistent server
unshared server
objet
processus
inscription
start
A. Beugnard
Object
Adapter
server per method
Telecom Bretagne
Corba
31
Implantation d'objets
Client
L'Interface ORB
Interface
Repository
Implementation
Repository
Dynamic
Invocation
IDL
Stubs
ORB
Interface
Static
Skeletons
Dynamic
Skeleton
Invocation
Object
Adapter
ObjectReference
A. Beugnard
string
Telecom Bretagne
Corba
32
ObjectReference
Identificateur unique d'objet
dpend de l'implantation de Corba
Corba 2.0 spcifie Interoperable Object References
(IOR)
Corba
33
Connecte
r via
Corba
IDL
Compilateur IDL
de chez X
code client
code impl
Code
Stub
Code
Skel.
Compilateur, linker
Client
Stub
Serveur
Skel.
ORB de chez X
A. Beugnard
Telecom Bretagne
Corba
34
A. Beugnard
Telecom Bretagne
Corba
35
Offrir un
service
IDL
Compilateur IDL
code impl
ignor
Code
Stub
Code
Skel.
Exploite le mapping
IDL pour le langage
qu'il utilise
Compilateur, linker
Client
Serveur
Stub
Skel.
ORB
A. Beugnard
Telecom Bretagne
Corba
36
Exploiter
un service
Compilateur IDL
code client
Code
Stub
Exploite le mapping
IDL pour le langage
qu'il utilise
Code
Skel.
ignor
Compilateur, linker
Client
Stub
Skel.
ORB
A. Beugnard
Telecom Bretagne
Corba
37
A. Beugnard
Telecom Bretagne
Corba
38
Crer la requte
create_request(ObjectReference, Method,
ArgumentList)
Envoyer la requte
invoke()
send() ; get_response()
send() "one way"
A. Beugnard
Telecom Bretagne
Corba
39
Invocations
Client
STOP
Client
Client
Serveur
Serveur
asynchrone : oneway
Serveur
STOP
A. Beugnard
Telecom Bretagne
Corba
40
A. Beugnard
Telecom Bretagne
Corba
41
Communication inter-ORB
Serveur
Client
obj
obj.A
A{
Serveur
Client
A. Beugnard
obj
obj.A
A{
Telecom Bretagne
Corba
42
IIOP
Corba 2.0
ESIOP
GIOP
IIOP
TCP/IP
A. Beugnard
DCE
scurit
distributed time
...
Telecom Bretagne
Corba
43
Plan
Introduction
OMG
Architecture
A. Beugnard
IDL
Limitations
Un service
Telecom Bretagne
Corba
44
A. Beugnard
Telecom Bretagne
Corba
45
Un exemple
C/C++ flavors
dfinitions seulement
};
interface OutputMedia {
boolean output_text(in string string_to_print);
};
};
A. Beugnard
Telecom Bretagne
Corba
46
Modules et porte
Dfinissent des "paquets" de dfinitions
types
constantes
exceptions
interfaces
A. Beugnard
Telecom Bretagne
Corba
47
Types IDL
long , short , unsigned long and short
float, double (IEEE Standard for Binary FP
Arithmetic)
char (ISO Latin-1), string
boolean
octet
typedef
any
struct
array
union switch
struct, union
enum
sequence
enumeration
sequence
A. Beugnard
Telecom Bretagne
Corba
48
Interface
Dfinissent des oprations "naturellement" lies
type de l'opration obligatoire
nom de l'opration
types et noms des paramtres (in out inout)
Signature
Des exceptions
quand elles sont leves l'ORB les retourne au client pour
traitement
exception input_out_of_range {long dummy};
void op(in long arg) raises(input_out_of_range);
A. Beugnard
Telecom Bretagne
Corba
49
oneway
A. Beugnard
Telecom Bretagne
Corba
50
Contexte
Ensemble de proprits
nom
string
A. Beugnard
Telecom Bretagne
Corba
51
Attributs
Dfinissent l'tat des objets
interface exemple{
attribute float heigth;
//readonly attribute float heigth;
};
A. Beugnard
Telecom Bretagne
Corba
52
Hritage
Relation entre interfaces introduite par :
Redfinition des lments interdites
interface exemple1{
void op1(in float h);
};
hritage multiple
Telecom Bretagne
Corba
53
L'Interface Repository
Chaque ORB en possde un pour
enregistrer les dfinitions IDL
les mettre jour
les fournir la demande (DII)
Et garantir :
l'interoprabilit des diffrents ORB
que les requtes statiques ou dynamiques sont
conformes aux signatures des oprations enregistres
la correction du graphe d'hritage
A. Beugnard
Telecom Bretagne
Corba
54
A. Beugnard
Telecom Bretagne
Corba
55
Plan
Introduction
OMG
Architecture
A. Beugnard
IDL
Limitations
Un service
Telecom Bretagne
Corba
56
Dfinition
Interface
Implantation
A. Beugnard
Telecom Bretagne
Corba
57
CORBA facilities
Health
Financ.
User
Interf.
Info
Mgmt
Syst.
Mgmt
Task
Mgmt
Naming
LifeCycle
Persist.
Extern.
CORBA services
A. Beugnard
Telecom Bretagne
Corba
58
Principe
A. Beugnard
Telecom Bretagne
Corba
59
Dfinition
typedef string Istring
struct NameComponent {
Istring id;
Istring kind
};
typedef sequence<NameComponent> Name;
//squence dont le dernier lment est le "name"
//et les prdcesseurs dfinissent le "naming context"
Telecom Bretagne
Corba
60
Plan
Introduction
OMG
Architecture
A. Beugnard
IDL
Limitations
Un service
Telecom Bretagne
Corba
61
A. Beugnard
Telecom Bretagne
Corba
62
A. Beugnard
Telecom Bretagne
Corba
63
Hritage
A. Beugnard
Telecom Bretagne
Corba
64
Polymorphisme
A. Beugnard
Telecom Bretagne
Corba
65
Plan
Introduction
OMG
Architecture
A. Beugnard
IDL
Limitations
Un service
Telecom Bretagne
Corba
66
Limitations de Corba
Spcification
Smantique
Temps rel
Gestion de la fiabilit avec IIOP
A. Beugnard
Telecom Bretagne
Corba
67
Spcification : contrat ?
Une signature ne spcifie pas un service !
on garantit seulement que l'appel et les rsultats sont
correctement typs
montant dposer(in montant somme);
A. Beugnard
Telecom Bretagne
Corba
68
A. Beugnard
Telecom Bretagne
Corba
69
Smantique de l'hritage
Quelle smantique pour l'hritage multiple ?
B::vole
A::vole
A. Beugnard
Telecom Bretagne
Corba
70
Temps rel
A. Beugnard
Telecom Bretagne
Corba
71
A. Beugnard
Telecom Bretagne
Corba
72
Conclusion
Standard d'interoprabilit incontournable
Des manques lis au processus mme de
standardisation qui mne toujours des
solutions simples, minimaliste ?
Retenu dans la norme Open Distributed
Processing (ODP) comme modle d'ingnierie
(interoprabilit)
De nombreux projets industriels commencent
s'appuyer sur Corba...
A. Beugnard
Telecom Bretagne
Corba
73
Bibliographie
R. Orfali, D. Harkey, J. Edwards, The Essential Distributed
Objects Survival Guide , Wiley & sons, Inc, 1996
Jon Siegel, CORBA Fundamentals and Programming , Wiley &
sons, Inc, 1996
A. Beugnard
Telecom Bretagne
Corba
74
Procdural
Serveur
Client
A{
call A
Donnes
mcanisme RPC
Serveur
Client
obj
obj.A
Objet
A. Beugnard
A{
mcanisme ORB
Telecom Bretagne
Corba
75
Client Serveur
1000 clients
1000 connexions
1000 processus
500 Mo de RAM
10000 fichiers ouverts
A. Beugnard
Telecom Bretagne
Corba
76
1000 clients
50 connexions partages
50 processus
25 Mo de RAM
500 fichiers ouverts
Moniteur transactionnel
A. Beugnard
Telecom Bretagne