|
[ OMG Specifications and Process ]
[ Introduction To OMG Specifications ] [ CORBA FAQ ] [ Getting
Specs and Products ] [ Payoff ]
[ BPM, UML, and CORBA Training ]
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 here
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.
Check 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 process
itself.
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 webtech@omg.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 implement
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 readable, too.
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), check out the Cetus
Links website. Many companies provide training in CORBA, UML, and the
other OMG specifications. OMG member companies that provide training
are listed on our Training Page.
Back to Top
|
|
You
can't "get CORBA" from OMG! We produce only the
specifications. Implementations come from vendors, or sources of
freeware. |
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.
One click on the Cetus
Links website takes you to their list of ORBs
and other CORBA products. 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
complete.
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, all
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
06/18/2009 |
|