Data analysis in an Object Request Broker environment Page: 3 of 5
This article is part of the collection entitled: Office of Scientific & Technical Information Technical Reports and was provided to Digital Library by the UNT Libraries Government Documents Department.
The following text was automatically extracted from the image on this page using optical character recognition software:
The lack of template support makes implementation of common interfaces need-
lessly difficult. A collection of physics Events, for example, provides essentially the
same interface as a collection of Muons-only the type of the contained objects is
different. There is no way to express this commonality in IDL, and one must either
generate an enormous amount of redundant code (collections and iterators for ev-
ery type of contained object), or build collection interfaces based upon the catchall
type any. The latter strategy poses difficulties, both because it is not type-safe, and
because every client must shoulder the artificial burden of packing or unpacking an
any with every collection interaction.
3 Portable CORBA Compliance
A question that is often obscured in early application efforts is the extent to
which one can write pure CORBA-compliant code (as opposed to IONA/Orbix-
or IBM/DSOM5- or other vendor-complaint code). Thanks to IDL, interfaces are
easily portable across ORBs. (Note, though, that with products such as DSOM,
it is often nearly essential to include DSOM-specific directives in the interface def-
inition file, albeit enclosed in an ifdef block.) Client code, too, is largely portable,
except for lifecycle, location, and naming services, but there is hope that these can
be largely standardized as well.
What may be substantially more difficult is portability of implementations.
Declaration of and access to instance variables is problematic, especially with in-
heritance. "IDL interface inheritance does not require that the corresponding C++
classes are related, though that is certainly one possible implementation."3 The
problem is especially vexing today, when C++ bindings are still essentially the ex-
tended C bindings that vendors provided while waiting for approval of the C++
specification. Even "wrapper" interfaces, which merely forward method invocations
to an underlying language-specific object instance, while trivial in many cases, can
be quite difficult to support (even non-portably!) for cooperating objects.
Another dilemma facing implementors is that particular vendors' ORBs offer
features that are extremely valuable, but non-standard. Some examples in DSOM
include cooperative metaclasses, the ability to describe the inheritance behavior of
proxies, and a number of additional classes and frameworks. Smart proxies, for
example, may be essential to high-performance applications, but it is unclear how
one might provide them without sacrificing portability among ORB products.
4 Proxies Everywhere
When a client invokes a method on a CORBA object, he is, in practice, talking
to an object proxy, which dispatches the request via an ORB to the actual object,
which may in turn reside on a different machine. This location transparency is an
appealing part of the ORB architecture, and well suited to objects that interact at
a coarse level of granularity. Consider, though, what happens when a user wishes to
reach a Set..of.Events object referred to by a Run object, in one standards-compliant
Here’s what’s next.
This article can be searched. Note: Results may vary based on the legibility of text within the document.
Tools / Downloads
Get a copy of this page or view the extracted text.
Citing and Sharing
Basic information for referencing this web page. We also provide extended guidance on usage rights, references, copying or embedding.
Reference the current page of this Article.
Malon, D.M.; May, E.N.; Grossman, R.L.; Day, C.T. & Quarrie, D.R. Data analysis in an Object Request Broker environment, article, December 31, 1995; Illinois. (digital.library.unt.edu/ark:/67531/metadc667424/m1/3/: accessed January 23, 2019), University of North Texas Libraries, Digital Library, digital.library.unt.edu; crediting UNT Libraries Government Documents Department.