(PowerPoint 244Kb)

advertisement
Research Issues in
CORBA
What keeps CORBA people
awake at Night!
Peter de Jong
H
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Contents
 CORBA Introduction
 Issues
 1. Language Heterogeneity
 2. Components
 3. Transports
 4. Application Coordination
 5. Reuse of Services
 6. Interoperability
 7. Interworking
 8. Tracking Computation
 9. Tracking Resources
 10. Scale
H
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Software Bus
A
p
p
l
i
c
a
t
i
o
n
I
n
t
e
r
f
a
c
e
s
D
o
m
a
i
n
I
n
t
e
r
f
a
c
e
s
O
b
j
e
c
t
R
e
q
u
e
s
t
B
r
o
k
e
r
O
b
j
e
c
t
S
e
r
v
i
c
e
s
H
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
CORBA 2.0 Architecture
Object Services
Naming
Trading
Transactions
Security
Interface
Repository
Object
Adapter
Client
DII
H
Stub
Server
O
R
B
RPC
IIOP-RPC
DCE-RPC
IDL
Compiler
O
R
B
Skeleton
DSI
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
OMG IDL
 C++ like
 Mappings to multiple
languages
C
 C++
 Java
 Ada
 SmallTalk
 Cobol
 ILU (Xerox Parc)
 Common Lisp
 Python
H
 Basic types
 long, unsigned long
 short, unsigned short
 long long, unsigned long
long
 fixed
 float, double, long double
 char, wchar
 boolean
 octet
 any
 Constructed types
 union, enum, structure
 sequence, string, array,
Research Issues in CORBA
Peter de Jong Hewlett-Packard
wstring
Usenix 8/12/97
IDL Operations and Inheritance




Operation Attribute
Return value
Operation
Parameter
direction
 User exception
A
C
B
m
o
d
u
l
e
T
e
s
t
s
{
i
n
t
e
r
f
a
c
e
D
e
m
o
1
{
e
x
c
e
p
t
i
o
n
E
x
i
t
i
s
a
n
e
r
r
o
r
t
o
i
n
h
e
r
i
t
f
r
o
m
t
w
o
{
s
t
r
i
n
g
r
e
a
s
o
n
;
}
;
o
r
m
o
r
e
i
n
t
e
r
f
a
c
e
s
h
a
v
i
n
g
l
o
n
g
f
u
n
c
1
(
i
n
s
t
r
i
n
g
i
n
b
o
u
n
d
,
p
e
r
a
t
i
o
n
s
o
r
a
t
t
r
i
b
u
t
e
s
w
i
t
h
o
u
t
s
t
r
i
n
g
o
u
t
b
o
u
n
d
, o
i
n
o
u
t
s
t
r
i
n
g
c
o
m
m
o
n
)t
h
e
s
a
m
e
n
a
m
e
r
a
i
s
e
s
(
E
x
)
;
o
n
e
w
a
y
v
o
i
d
g
r
e
e
t
i
n
g
s
(
)
;
Research Issues in CORBA
}
;
Peter de Jong Hewlett-Packard
H
Usenix 8/12/97
}
;
D
IIOP Transport
Client
ORB
Locator
ORB
Server
ORB
Type (hint)
Host:port
Object_key
Object Reference
(IOR)
Java
ORB
H
IIOP Wire Format
C++
ORB
O
b
j
e
c
t
K
e
y
P
r
i
m
i
t
i
v
e
t
y
p
e
s
c
h
a
r
,
o
c
t
e
t
,
s
h
o
r
t
,
u
n
s
i
g
n
e
d
s
h
o
r
t
,
l
o
n
g
,
u
n
s
i
g
n
e
d
l
o
n
g
,
f
l
o
a
t
,
d
o
u
b
l
e
,
b
o
o
l
e
a
n
,
e
n
u
m
,
w
s
t
r
i
n
g
,
w
c
h
a
r
,
l
o
n
g
d
o
u
b
l
e
,
l
o
n
g
l
o
n
g
,
f
i
x
e
d
C
o
n
s
t
r
u
c
t
e
d
T
y
p
e
s
S
t
r
u
c
t
,
U
n
i
o
n
,
A
r
r
a
y
,
S
e
q
u
e
n
c
e
,
S
t
r
i
n
g
Research Issues in CORBA
P
s
e
u
d
o
O
b
j
e
c
t
T
y
p
e
s
Peter de Jong Hewlett-Packard
T
y
p
e
C
o
d
e
,
A
n
y
,
P
r
i
n
c
i
p
a
l
,
C
o
n
t
e
x
t
,
E
x
c
e
p
t
i
o
n
Usenix 8/12/97
Object References
Client
Server
Object
C
o
n
t
e
n
t
s
O
p
a
q
u
e
t
o
c
l
i
e
n
t
o
r
G
i
v
e
n
a
n
O
b
j
e
c
t
R
e
f
e
r
e
n
c
e
s
e
r
v
a
n
t
O
b
j
e
c
t
a
n
O
R
B
w
i
l
l
f
i
n
d
a
n
d
a
c
t
i
v
a
t
e
a
n
o
b
j
e
c
t
i
f
p
o
s
s
i
b
l
e
=
C
a
n
n
o
t
r
e
l
i
a
b
l
y
t
e
s
t
f
o
r
e
q
u
a
l
i
t
y
C
a
n
b
e
S
t
r
i
n
g
i
f
i
e
d
a
n
d
s
t
o
r
e
d
H
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Issue 1 - Language Heterogeneity
 IDL to Java Mapping
 Multiple Inheritance
 Class slot - corba
object class
 Rest are interfaces
 Out parameters
 Holder classes
 Any
 Helper classes
 Exceptions
 java exceptions
 Object Reference
 Java class reference
H
I
D
L
T
y
p
e
E
x
c
e
p
t
i
o
n
s
J
a
v
a
t
y
p
e
b
o
o
l
e
a
n
c
h
a
r
w
c
h
a
r
o
c
t
e
t
s
t
r
i
n
g
b
o
o
l
e
a
n
c
h
a
r
c
h
a
r
b
y
t
e
S
t
r
i
n
g
w
s
t
r
i
n
g
s
h
o
r
t
u
n
s
i
g
n
e
d
s
h
o
r
t
l
o
n
g
u
n
s
i
g
n
e
d
l
o
n
g
l
o
n
g
l
o
n
g
u
n
s
i
g
n
e
d
l
o
n
g
l
o
n
g
f
l
o
a
t
d
o
u
b
l
e
l
o
n
g
d
o
u
b
l
e
f
i
x
e
d
e
n
u
m
s
t
r
u
c
t
u
n
i
o
n
s
e
q
u
e
n
c
e
a
r
r
a
y
i
n
t
e
r
f
a
c
e
u
s
e
r
e
x
c
e
p
t
i
o
n
a
n
y
M
a
r
s
h
a
l
S
t
r
i
n
g
s
h
o
r
t
s
h
o
r
t
i
n
t
l
o
n
g
l
o
n
g
l
o
n
g
f
l
o
a
t
d
o
u
b
l
e
?
?
?
a
t
a
_
c
o
n
v
e
r
s
i
o
n
B
i
g
D
e
c
i
m
a
l d
c
l
a
s
s
c
l
a
s
s
c
l
a
s
s
a
r
r
a
y
a
r
r
a
y
c
l
a
s
s
c
l
a
s
s
Research Issues in CORBA
c
l
a
s
s
d
a
t
a
_
c
o
n
v
e
r
s
i
o
n
M
a
r
s
h
a
l
,
d
a
t
a
_
c
o
n
v
e
r
s
i
o
n
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Binary Compatibility in Java Mapping
m
a
p
p
i
n
g
C
l
i
e
n
t
A
p
p
l
i
c
a
t
i
o
n
m
a
p
p
i
n
g
S
e
r
v
e
r
A
p
p
l
i
c
a
t
i
o
n
H
o
r
g
.
o
m
g
.
C
O
R
B
A
J
a
v
a
O
R
B
V
e
n
d
o
r
M
a
p
p
i
n
g
I
m
p
l
e
m
e
n
t
a
t
i
o
n
C
o
m
m
o
n
C
l
a
s
s
e
s
C
l
a
s
s
e
s
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Other Language Issues
 Pseudo Code (Almost IDL)
 Local Objects (ORB API's)
 Native Language Constructs
 Local By-Pass (inproc)
 Direct to IDL
 Java to IDL rather than IDL to Java
 Objects by Value
 Object state (Not described in IDL)
 Migrating implementations
 Scripting Languages
 Language specification rather than IDL specification
H
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Issue 2 - Components
 Component CORBA
 Absorb Java Soft RMI into CORBA




Java to IDL mapping (OMG RFP)
Objects-by-Value (OMG Submissions being merged)
Distributed Garbage Collection
Migration of object implementation (Information in java serialization, not in IIOP)
 Component RFP





Component identity
Properties
Interfaces for component-events
Introspection
Mapping to Java Beans
 Related Object Services
 IIOP Firewall (OMG RFP)
 Scripting Language (OMG RFP)
 Java Script
 Object locality constrains (getting rid of PIDL)
 Multiple interfaces
H
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Issue 3 - Transports
 Type
 RPC
 Async Message
 Streams
 Multi-cast
 Quality
 Load Balance
 Highly Available
 Transactional
 Secure
 Real-time
 Embedded
H
R
P
C
O
R
B
O
R
B
A
s
y
n
c
Q
u
e
u
e
S
t
r
e
a
m
A
A
O
R
B
O
R
B
R
P
C
A
O
R
B
O
R
B
A
A
O
R
B
O
R
B
O
R
B
A
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
The Next IIOP?
 IIOP 2.0? (Proposals by Bill Janssen, Xerox Parc)
 Minimize information transfer via Caching
 Efficient type negotiation
 Port Mapper
 Transfer Syntax changes (alignment, any)
 MUX (http://www.w3.org.pub/Protocols/MUX)
 Multiple protocols multiplexed over the same connection
IIOP, HTTP run over the socket built over protocol
 128 sessions per TCP/IP connection
 MUX handles fragmentation for all protocols
 HTTP-NG (http://www.w3.org.pub//Protocols/HTTP-NG)
 Possible future replacement for IIOP
H
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Issue 4 - Application Coordination
C
l
i
e
n
t
/
S
e
r
v
e
r
O
R
B
O
R
B
P
u
b
l
i
s
h
/
L
i
n
k
/
R
e
t
r
e
i
v
e
(
W
W
W
)
B
r
o
w
s
e
r
W
e
b
A
P
e
e
r
t
o
P
e
e
r
T
h
r
e
e
t
i
e
r
R
e
m
o
t
e
D
a
t
a
b
a
s
e
a
c
c
e
s
s
W
o
r
k
F
l
o
w
/
A
g
e
n
t
s
A
A
A
A
D
a
t
a
B
a
s
e
O
R
B
O
R
B
O
R
B
O
R
B
O
R
B
u
b
l
i
s
h
/
S
u
b
s
c
r
i
b
e
AP
A
O
R
B
H
O
R
B
N
e
t
w
o
r
k
A
O
R
B
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Issue 5 - Reuse of Services
R
e
a
s
o
n
s
f
o
r
n
o
t
r
e
u
s
i
n
g
s
e
r
v
i
c
e
s
d
e
s
U
y
l
e
d
i
W
D
o
m
a
i
n
I
n
t
e
r
f
a
c
e
s
I
n
e
f
f
i
c
i
e
n
t
s
t
n
e
v
E
M
a
n
u
f
a
c
t
u
r
i
n
g
W
r
o
n
g
f
u
n
c
t
i
o
n
a
l
i
t
y
o
r
s
t
r
u
c
t
u
r
e
g
n
i
m
a
N
T
e
l
e
c
o
m
D
o
e
s
n
o
t
s
c
a
l
e
g
n
i
d
a
r
T
N
o
t
i
f
i
c
a
t
i
o
n
O
b
s
o
l
e
t
e
&
s
n
o
i
t
c
a
s
n
a
r
T
y
c
n
e
r
r
u
c
n
o
C
T
o
p
o
l
o
g
y
P
o
s
s
i
b
l
e
R
e
l
a
t
i
o
n
s
h
i
p
s
b
e
t
w
e
e
n
s
e
r
v
i
c
e
s
(
d
o
e
s
n
'
t
u
s
e
,
u
s
e
)
N
o
t
i
f
i
c
a
t
i
o
n
E
v
e
n
t
s
T
r
a
d
i
n
g
e
m
i
T
&
y
t
i
r
u
c
e
S
e
l
c
y
c
e
f
i
L
d
e
s
U
y
l
e
d
i
W
t
o
N
s
n
o
i
t
c
e
l
l
o
C
N
a
m
i
n
g
n
o
i
t
a
z
i
l
a
n
r
e
t
x
E
P
r
o
p
e
r
t
i
e
s
g
n
i
s
n
e
c
i
L
Q
u
e
r
y
e
c
n
e
t
s
i
s
r
e
P
T
o
p
o
l
o
g
y
R
e
l
a
t
i
o
n
s
h
i
p
s
M
e
s
s
a
g
i
n
g
S
t
r
e
a
m
s
E
l
e
c
t
r
o
n
i
c
C
o
m
m
e
r
c
e
F
i
n
a
n
c
i
a
l
H
e
a
l
t
h
C
a
r
e
O
b
j
e
c
t
A
n
a
l
y
s
i
s
a
n
d
D
e
s
i
g
n
s
e
i
t
r
e
p
o
r
P
y
r
e
u
Q
s
p
i
h
s
n
o
i
t
a
l
e
R
E
v
e
n
t
s
H
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Issue 6 - Interoperability/Portability
 Interoperability (CORBA
2.0)
 IIOP (Compliance point)
 Transactions
 Security
General Architecture
Kerberos (compliance point )
SSL
 Portability
 Pseudo Objects
Portable Object Adaptor
 Language Mappings
 Research Problems
 Implementations more
detailed then specs
Revision Task Forces
Compliance tests
written by XOPEN
Proposals for Semantic
specifications
 Balance between
implementation freedom
and conformance
Special purpose ORBs
 Profiles and Conformance
 Embedded ORBs
H
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Issue 7 - Interworking
C
o
m
/
C
O
R
B
A
M
I
D
L
v
i
e
w
o
f
C
O
R
B
A
O
b
j
e
c
t
C
O
R
B
A
I
D
L
v
i
e
w
o
f
I
I
O
P
C
O
M
C
O
R
B
AO
b
j
e
c
t
C
O
M
O
b
j
e
c
t
D
C
O
M
T
r
a
n
s
a
c
t
i
o
n
C
O
R
B
A
C
l
i
e
n
t
I
I
O
P
T
r
a
n
s
a
c
t
i
o
n
a
l
I
n
f
o
C
O
R
B
A
O
b
j
e
c
t
X
A
T
r
a
n
s
a
c
t
i
o
n
C
O
R
B
A
T
r
a
n
s
a
c
t
i
o
n
M
a
n
a
g
e
r
I
n
t
e
r
d
o
m
a
i
n
C
o
m
m
u
n
i
c
a
t
i
o
n
(
e
.
g
.
K
e
r
b
e
r
o
s
/
S
S
L
)
S
e
c
u
r
i
t
y
I
n
t
e
r
w
o
r
k
i
n
g
?
M
S
S
e
c
u
r
i
t
y
/
C
O
R
B
A
S
e
c
u
r
i
t
y
H
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Issue 8 - Tracking Computation
 Distributed debugging
 Distributed profiling
 Distributed Administration
 Bootstrap
 Install and Configure
 Object Locator, Persistent
servers
 CORBA object services
servers - Naming, Event,
Trading, Security,
Transactions
 Discover distributed
executing objects
 Monitor execution
 Start, Stop, Modify object
operation
H
A
d
m
i
n
i
s
t
r
a
t
o
r
D
a
t
a
A
A
B
a
s
e
O
R
B
O
R
B
O
R
B
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Issue 9 - Tracking Resources
 Distributed Garbage Collection
 Distributed Scheduling
 Real-Time constraints
 Parallel searching
 Agents
 Copy and transmission constraints
 Killing
 Error handling
 At most once semantics
 Network partitioning
 Computation continuing in one partition
 Error recovery in the other
 Versioning
H
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Issue 10 - Scale
 Integration of all Services
 Security, Transactions, Fault tolerant, Real-Time, Persistent
storage, Messaging, ...
 One Object distributed system which does everything well
 Massively Distributed Systems
 Integrate with the organizational Applications
 Track organizational change
 Goal of Object Bus - Integration vs execution
 Integration
Legacy applications, multiple - object models, standards, OS,
languages
 Execution
High performance, secure distributed computation
H
Research Issues in CORBA
Peter de Jong Hewlett-Packard
Usenix 8/12/97
Download