Professional Documents
Culture Documents
Corba Tanenbaum
Corba Tanenbaum
.
. -
. , r
.
. ,
,
. ,
.
CORBA,
. CORBA
.
Microsoft DCOM. DCOM
(middleware) Windows ,
Windows 95. Windows
DCOM. DCOM
.
(
,
,
middleware. )
,
- . ,
Globe
wide-area . Globe
CORBA DCOM Globe
.
, .
7 : , ,
, , ,
.
9.1 CORBA
- Common Object
Request Broker Architecture, CORBA. ,
CORBA .
Object Management Group (OMG),
800 , .
1
OMG CORBA
.
CORBA 1990-.
CORBA 2.4 ,
CORBA 3.
CORBA
. 700
1200
. CORBA
. CORBA
.
CORBA
,
-
. CORBA
http://www.omg.org. C++
CORBA Baker. S. CORBA Distributed Objects Using Orbix.
Reading, MA: Addison-Wesley, 1997.
9.1.1 CORBA
CORBA OMG
1997. , 9.1 4
Object Request Broker
(ORB). ORB CORBA ;
,
. ,
ORB
.
ORB CORBA .
9.1 CORBA
,
CORBA (facilities).
CORBA ( )
.
.
,
2
, (
workflow ).
, , .
CORBA
ORB.
CORBA 2.
.
CORBA
.
CORBA . ,
CORBA
. , Globe ,
CORBA.
CORBA Interface Definition Language
(IDL). CORBA IDL
.
CORBA IDL. ,
.
IDL.
, Distributed COM Globe,
. ..
. CORBA
IDL
.
, C, C++, Java, Smalltalk, Ada COBOL.
CORBA ,
CORBA .9.2
9.2 CORBA
3
CORBA, ORB. ORB
runtime
.
.
ORB .
.
ORB. ORB (marshal)
(unmarshal)
, .
.
ORB
. ,
CORBA .
,
.
.
ORB , ORB.
, stub-
. proxy
.
2 proxy stub
.
.
proxy ORB .
CORBA IDL, CORBA
IDL
ORB.
. ,
. , CORBA Dynamic invocation Interface (DII)
,
. , DII ,
,
.
3.
9.2 CORBA ,
.
stub skeletons CORBA,
.
stub
IDL
skeleton.
. .
4
(implementation repository)
. CORBA
/, .
.
CORBA .
IDL
. ID
.
, .
.
IDL ,
. ( ,
.) CORBA
.
CORBA
. ,
.
ORB
.
. 3
.
.
,
.
(.. )
.
, ,
.
,
.
ORB .
5
CORBA
CORBA CORBA .
CORBA
CORBA . , CORBA
.
CORBA .9.3.
, ,
.
,
DCOM Globe.
(collection service)
query .
.
.
.
(concurrency control).
.
.
.
.
,
. CORBA
(event service)
.
(notification service)
.
(externalization)
.
Java,
.
(life cycle service) ,
, .
(factory object)
.
. ,
.
.
Collection , , ,
.
Query
6
Concurrency
Transaction
Event
Notification -
Externalization
Life cycle , ,
Licensing
Naming
Property (, )
Trading
Persistence
Relationship
Security ,
Time
. 9.3 CORBA
(licensing service)
.
. ,
.
.
CORBA (naming service)
.
(property service).
(, ) .
. ,
.
(trading service)
( )
.
(persistence service)
.
:
.
7
.
(relationship service)
.
(security service).
SESAME Kerberos. CORBA
, , , , -
. .
, CORBA (time service)
.
Pope, CORBA CORBA
.
CORBA IDL
.
.
.
.
9.1.2
, CORBA :
.
.
CORBA
. ,
.
2.
,
.
.
.
. CORBA
.
.
.
CORBA .
,
8
. RPC
2.
CORBA
(one-way request).
.
RPC, CORBA
.
.
CORBA
(deferred synchronous request).
.
. ,
.
3 . 9.4
9.4 CORBA
CORBA
-
, .
.
.
.
CORBA . ,
,
. (supplier)
(consumer).
(event channel), .,
. 9.5.
9
9.5 ,
9.6 CORBA
, . ,
.
, . CORBA
.
, .
.
. ,
.
, . CORBA /
.
12
. CORBA
.
10
(messaging)
CORBA .
. 2
.
,
.
. CORBA
.
CORBA -
. ,
.
,
.
(callback model)
.
.
. ,
, () .
. ,
.
.
.
callback .
ORB
.
,
:
int add(in int i, in int j, out int k);
( CORBA IDL)
integers i j i+j k.
-1 .
()
(
OMG):
,
callback . ,
11
, callback
.
.
, stub
sendcb_add. , callback ,
replycb_add.
.
, callback . 9.7
9.7 CORBA
callback replypoll_add
ORB .
IDL . . 9.8.
,
.
12
9.8 CORBA
.
( )
.
OMG, 2001
2.4.4.
CORBA
. CORBA
. , ORB
.
ORB
.
. 9.2
CORBA
General Inter-ORB Protocol (GIOP).
GIOP ,
.
, -
., . TCP ,
. GIOP TCP
Internet Inter-ORB protocol IIOP.
GIOP ( IIOP GIOP) 8
. 9.9. Request Reply,
.
Request ,
,
. .
13
Request request ,
incoming .
Reply
.
, request
Request .
Request
Reply
LocateRequest
LocateReply
CancelRequest
Closeconnection
Messageerror
Fragment
9.9 GIOP
,
. LocateRequest.
Locate Reply,
.
CancelRequest
Request LocateRequest.
.
,
.
.
.
GIOP .
,
.
ClosecoConnection.
MessageError.
GIOP .
ICMP
. IP
ICMP .)
GIOP
.
. Fragment
14
.
15