Frequently Asked Questions About CORBA

If You Want To Understand CORBA®, This Is The Place To Start! You Can Either Read Straight Down The Page, Or Click On A Question To Go Straight To A Topic That Interests You.

1. I'm totally new to CORBA.

This page will get you started. We haven't assumed that you know anything about CORBA. We did, however, assume that you know something about computing in general, and distributed (that is, networked) computing in particular - at least what you want to use it for, although not necessarily what you have to do to get it to work.

Some of the points in our discussion are aimed at management, while others are aimed at technical folks, but it's too soon to diverge. Don't worry about point of view; by clicking on the topics that look interesting, you'll pick the path that's best for you.

2. What is CORBA? What does it do?
3. What is CORBA good for?
4. How about a high-level technical overview?
5. How do remote invocations work?
6. That ORB/Skeleton Architecture on the Server side doesn't look very scalable. What did you leave out?

Almost everything. Figure 1 doesn't show any of CORBA's mechanisms for load balancing, resource control, or fault tolerance on the server side. We deliberately kept the figure simple to demonstrate how CORBA interoperability works.

For technical details on the ORB, click here. This technical page includes more detail about how the ORB works, and the interfaces it bears, including resource control and load balancing.

This FAQ continues with a description of the CORBA specifications.

7. What is CORBA 2? CORBA 3? What does the version number mean, anyhow?

As we've already pointed out, CORBA is a suite of specifications issued by the OMG.

We've put details of the specification process in their own part of this tutorial. To jump to details about how OMG members work together to define new specifications, click here.

Formally, CORBA 2 and CORBA 3 refer to complete releases of the entire CORBA specification. However, because OMG increments the major release number only when they make a significant addition to the architecture, these phrases become a sort of shorthand for just the significant addition. So, "CORBA 2" sometimes refers to CORBA interoperability and the IIOP protocol, and "CORBA 3" sometimes refers to the CORBA Component Model (even though the term CORBA 3 really refers to a suite of ten specifications!). It's easy to tell, from the context, which meaning an author intends.

To learn about how to download specifications, click here. To skip the download tutorial and go straight to the download page, click here.

8. What is the difference between Data-Distribution Service and CORBA?

As we've already pointed out, CORBA is a suite of specifications issued by the OMG.

Data-Distribution Service™ (DDS™) and CORBA® are two independent connectivity standards that enable the exchange of information, distinct from location, hardware platform, programming language or operating system.

They both provide application portability (using standard language interfaces) and network interoperability. Both DDS and CORBA were developed by the Object Management Group® (OMG®). However, they were designed to support different use cases and integration patterns.

DDS primarily supports publish-subscribe data-distribution. It also supports remote procedure calls (RPC), an evolvable type system, Qos, and fine-grained security. DDS is transport independent: It can run over UDP/IP, TCP/IP, Shared-Memory or other transports.

The CORBA family of standards support remote method invocation on distributed objects. CORBA uses TCP/IP, SSL/TLS, or other transports. CORBA has support for real-time and embedded systems.

While the DDS and CORBA standards are independent, both leverage the OMG Interface Definition Language™ (IDL™) to specify data and service types. This allows applications to use the same data types for both DDS and CORBA interactions.

.

CORBA