13: CORBA Flashcards

1
Q

what is CORBA?

A
a distributed object middleware
- a variation on RPC in which the endpoints represent objects with state, methods etc.
- extends the OO paradigm to the distributed systems realm
cross-language
stable
robust
heavyweight
a widely adopted standard

a standard way for ORBs to work together - not a standard way to build ones.

language neutral, CORBA forces interoperability, not
implementation commonality

ORBS can use private, efficient
protocol between themselves as long as they can also interoperate with
other ORBs using the standard protocol

makes interactions location-transparant

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

what is an ORB?

A

an object request broker will match requests to target objects, handling the transfer of data and other data. provides the abstraction of remote objects being called locally.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

how are CORBA objects identified

A

they predate the web, so they use an Interoperable Object Reference (IOR). basically a URI for a CORBA object.

IORs are persistent, once created, they’re
assumed to always refer to the same object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

what is a stub and a skeleton?

A

a stub is created in the client’s address
space and language to represent the
remote object

a skeleton in the server’s
address space and language Convert parameters etc into
server-side programming
language and make local call

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

how do we describe the interface?

A

using IDL - ● Distinct from any particular language
An IDL compiler takes an IDL interface and
generates stubs and skeletons
bindings exist for all major languarges

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

how do objects and values differ?

A

objects have state and indentity, values dont have state and dont have to be shared

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

describe the issues that arise when binding IDL into host languages?

A

the language neutrality means that not all types may
be available in all languages
● …and may not be easy to encode in a way that
programmers will like
● What happens in languages like C that have neither
objects nor exceptions???
● …but for which it might be really desirable to have
access to functions over the network

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

what is object faulting? why?

A

analogous to page faulting in VM

Would we want to retain all bank accounts in the
memory of some server, all the time?
● Clearly not very robust, or very scalable
● Better to create objects in memory as they’re needed

This process is called an object fault
● Requests for objects the OA doesn’t know about
● Call user-supplied code to create the object
● Requires that server can create object
given its name

retrieve object from stable storage, given its name. use that data to create an object.

common to use IOR as primary key in database

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

what are DII and DSI?

A

Dynamic Skeleton Interface (DSI): service a request
server-side without creating an object
● Dynamic Invocation Interface (DII): create a request
to an object without a stub

Especially useful for dynamic languages like
Perl – but handy in other ways too
● Make calls to objects for which you don’t have an
IDL fle (e.g., the remote object’s method signature
is not known at compile time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Location transparency?

A

An object’s location is irrelevant to how we interact

with it

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

what is CDR?Q

A

● Representation of IDL types on the wire

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

what is an any type?

A

An IDL type that carries a value, whose type is

uncommitted and can be determined at run-time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly