| OMG® Specifications and Process | Introduction
To OMG Specifications | CORBA FAQ | Getting Specs and Products | Payoff |
UML, and CORBA Training |
Search Public Documents
Getting Specifications and Products
Revised August 2005 by
Jon Siegel <siegel AT omg.org>
The specifications may be free, but
they're not written to teach basic CORBA. Click
to find out why!
How do I get OMG specifications?
All of OMG's specifications may be downloaded for free. Go to our
Specifications Catalog and pick the page for the category you
want. If you're not sure which page contains the specification
you're looking for, check the spreadsheet summary listed near the
top of the page, and use your browser's search function to find the
one you want.
this page for a summary of the different forms a specification
takes on as it moves through the adoption process, and
this page for a stage-by-stage explanation of the adoption
Back to Top
I didn't find it. What do I do now?
If you didn't find what you were looking for, then it's not an OMG
specification - all of our specifications appear in the
specification catalog. But, we can think of at least two possible
reasons why the spec you want might not be there:
- It's not done yet. Check the
OMG Work in Progress
page to see how it's doing.
- It's been retired. Right now,
only two previous OMG specifications fall into this category: the
XCMF Management Facility (whose functionality was replaced by the
CORBA Component Model, but much more in tune with current
programming practices), and the OpenDoc Compound Document Facility.
A third reason, we suppose, could be that you're mistaken about the
existence of a spec. If you've completed your search and come up
dry, but still feel that you've missed something somewhere, send
email to firstname.lastname@example.org
telling us the specification you're looking for. We'll look it up and
get back to you.
Back to Top
How can a specification be complicated, if
it describes something that's easy to use? In order to be easy to use,
the software has to do a lot of stuff by itself, and everything it does
has to be described precisely in its specification. This produces a long
and complex specification for something that, if you use all of the
defaults, can be trivial to deploy and use.
Why are some specifications so hard to read?
Most OMG specifications are written for programmers who
compliant software products. They are not written for the developers
who build applications that use these products, and are especially
not written for the users of these applications.
For example, the CORBA specification is written for programmers who
build ORBs. Programmers who use ORBs to build CORBA
applications are one layer away from this target audience, but will
find many parts of the specification understandable and potentially
useful even so. End-users of CORBA applications produced by these
programmers will find even less of the specification understandable
or useful. Some sections will be helpful to just about everyone, but
end users (and even application programmers) should approach the
specifications with these caveats in mind.
Sections of the UML specification that define the language (and
not the facility) are an exception to this: They were written for
both users of the language, and implementers of language-based
tools. Some sections that define other OMG languages are pretty
Back to Top
So what should I read or study instead?
If you're an applications programmer or an end-user who needs to
find out about UML or CORBA, and you've looked over the specs and
hit the wall (or knew from the start that they weren't what you were
looking for), what can you do? Fortunately, many authors have
examined OMG's specification suite and written books and tutorials
for the application-developer or end-user reader. Use one of the
online bookstore's search function to get a list of books on UML or
CORBA; most include reader reviews which will help you pick one at
or near the level you need.
We've posted a list of UML tutorials, and a list of other sites'
lists of UML resources and tutorials, on our
UML Resource Page. For a list of CORBA tutorials and other
learning aids (many free on-line). Many companies provide training in CORBA,
UML, and the other OMG specifications. OMG member companies that
provide training are listed on our
Back to Top
You can't "get CORBA" from OMG! We produce
only the specifications. Implementations come from vendors, or sources
What's the difference between a
specification and a product?
OMG produces specifications - that is, documents that
precisely describe what something should do, and how it should act,
perhaps in response to various inputs. Some OMG specifications
(CORBA, for example) describe software; others (OMG IDL, or UML)
describe languages although these languages may be implemented or
interpreted by software.
Implementations of the OMG
specifications - such as Object Request Brokers, IDL compilers, and
UML-based modeling tools - are not produced by OMG. They are,
instead, produced by software vendors or suppliers who typically
package these implementations as products and sell them, although
some sources give them away as freeware and other potential sources
(R&D labs or universities) never make their implementations public
at all. Software suppliers may be OMG members, but many are not.
Judging from the lists of UML Modeling tools and ORBs we've seen on
many UML and CORBA links pages, the majority of products available
now were produced by companies or groups that have never even
bothered to contact OMG.
There are a lot of reasons why OMG
doesn't produce implementations now, and plans never to produce them
in the future. The most basic is that this division keeps OMG from
competing with its members. ORB vendors can join OMG, and work at
our meetings to write and maintain the specification suite, without
worrying that our organization will siphon market share away from
them. (They do, of course, have to worry about their competitors!)
Another reason is that implementations, necessarily, favor a single
language and platform no matter how hard you try to make them
general. By sticking to specifications that get implemented in
multiple languages on multiple platforms as they are written, OMG
avoids this unintended specialization. You will never see a
reference implementation for CORBA produced by OMG!
Back to Top
Where do I get UML and CORBA products?
If not from OMG, then where? There are more sources of UML and CORBA
products than we can count! OMG, as a neutral and open consortium, is
not allowed to recommend any particular product (although we are allowed
to recommend that you use UML and CORBA, and we do!), but we can point
you to lists of sources. Here are some places to start:
OMG has collected a lot of good stuff on our
UML Resources page, including links to several lists of UML tools,
and our own list of UML 2.0 modeling tools. We're revising our pages for
MOF, XMI, and the CWM and will post the new versions soon.
From time to time we hear of ORBs
that aren't on this list, so don't assume that it or any other list is
Back to Top
To you, one of the benefits of CORBA being
an open standard is that you can buy implementations specialized for
different purposes, from many different vendors. But, this also gives
you the responsibility to be an informed consumer: If you need an
ORB with particular characteristics, you will have to investigate the
market and select a product that meets your needs yourself!
So many products! How do I pick?
CORBA is an open, vendor-independent standard. One of the benefits of
standardization is that many different vendors can produce
implementations. Well, this happened, and now there are lots of
CORBA (and UML, and MOF, and XMI...) implementations as you saw on the
references we gave in the last section.
But, this means you can't just go out and "buy CORBA". Instead, you
have to select a CORBA product and, as you investigate, you'll
discover that they're all different. There are ORBs for single machines,
load-balanced ORBs for server farms (to run your e-commerce website or
travel reservation system), and others specialized for realtime systems
(to gather data from the sensors around your refinery, or move airplane
control surfaces), or for embedded systems, and more. And, of course,
ORBs that conform to the IIOP protocol will interoperate!
We've already covered a lot of stuff on this page, and we're too far
down to start something this big. We'll give it a page of its own when
it's done. .
Back to Top
Last updated on