[QueueNews] Corba: Gone But (Hopefully) Not Forgotten

QueueNews queuenews at acmqueue.com
Mon Jul 23 08:00:03 PDT 2007


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
. . . . . . . . . . . . . . . . . . . . . . . .
   Queue E-Mail Newsletter
   for the Week of Jul/23/2007
. . . . . . . . . . . . . . . . . . . . . . . .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------
      Sponsored by

      Macrovision
      Tech Excel
      Parasoft
      Quest Software

/----------------------------------------------------------\

Vista Installation

Learn the five steps to a better Vista app installation - ACM Queue
Premium Queuecast sponsored by Macrovision.
http://acmqueue.com/modules.php?name=Queuecasts&id=16

\----------------------------------------advertisement------/


Latest Articles:


Corba: Gone But (Hopefully) Not Forgotten
There is no magic and the lessons of the past apply just as well today.
http://acmqueue.com/rd.php?c.491
   (scroll down to read an excerpt from this article)


The Yin and Yang of Software Development
How infrastructure elements allow development teams to increase
productivity without restricting creativity
http://acmqueue.com/rd.php?c.490

/----------------------------------------------------------\

Application Development 2.0 - Myths and Realities

Learn how to avoid 'development finger pointing' through
knowledge-centric Application Lifecycle Management.
http://acmqueue.com/modules.php?name=Queuecasts&id=29

\----------------------------------------advertisement------/

New article on ACM Queue:
Corba: Gone But (Hopefully) Not Forgotten
http://acmqueue.com/rd.php?c.491
There is no magic and the lessons of the past apply just as well today.
by Terry Coatta

>From the API Design issue, vol. 5, no. 4 - May/June 2007

article excerpt:
Back in the June 2006 issue of Queue, Michi Henning wrote a very
good condensed history of CORBA and discussed how some of its technical
limitations contributed to its downfall. While those limitations
certainly aided CORBA's demise, there is a very widespread notion that
the ultimate cause was the ascendance of Web Services, a notion that is
compounded with the further belief that Web Services' dominance of the
distributed computing landscape is indicative of its technical
superiority to the systems that preceded it, such as CORBA and DCOM.
Having worked in distributed systems for a number of
years--indeed far enough back in time that building a distributed
system meant actually packing bits into UDP packets with lovingly
hand-crafted C code--I think this assumption is unwarranted. Worse,
it indicates a failure to appreciate the aspects of these previous
systems that were well-engineered. This is a symptom of a "silver
bullet" mentality that sees Web Services as a radical departure from
the
past that will finally remove the complexity from designing and
building
distributed systems.
Is Web Services really that different from
the systems that preceded it? One of the significant benefits
attributed
to Web Services, indeed to such a degree that it's part of its name, is
that it is focused on Service Oriented Architectures (SOA). This is
frequently contrasted with the style of fine-grain distributed objects
that is considered the defining characteristic of CORBA-based systems.
It is certainly true that CORBA provided distributed access at the
level
of individual objects. However, it should be noted, CORBA also
supported
recursively defined data structures that made it simple to exchange
complex data structures by value.
In fact, back in the mid-90's
I was part of team that designed and implemented a CORBA-based system
that exchanged software management information using this capability.
We
designed a CORBA data structure representing a tree of nodes. Each node
had a name, a value, and some other attributes. It also contained a
number of child nodes, each with the same structure. Leaf nodes, of
course, contained no children. This data structure was relatively
straightforward to represent in CORBA IDL using structs, unions, and
arrays. Any tree of such nodes could be easily passed through a CORBA
method call--the runtime would serialize the tree and transmit it in
bulk to the receiver. Furthermore, the tree contained no object
references at all, and so represented a purely value-based exchange of
information. Finally, one may note that the structure and contents of
this tree bear more than a passing resemblance to the DOM
representation
of an XML document.
I think that this demonstrates that while
CORBA certainly could support fine-grained object architectures, it by
no means forced one to adopt that style. Certainly, the ease of
implementing a fine-grained architecture may have been beguiling to
developers who had little experience with building distributed systems.
But its not as though fine-grain objects are totally without value. If
you happen to be dealing with a multi-processor system where bandwidth
and latency considerations are quite different from those of an
application that is distributed across the internet, then fine grain
objects have some appeal.
And that is the crux of the issue.
Back when we built that system, we could have chosen to define a bunch
of object interfaces and pass around references to them. But we knew
that the management information would generally be accessed in bulk and
that making a bunch of round trips to pick the information up piece by
piece didn't make any sense. Rather than assuming that CORBA would
somehow solve our problems for us, we made sure to choose those
elements
of CORBA that provided the behavior we needed. We created a "service
oriented" solution because that was what made sense.
Using Web
Services is no more a guarantee of building a good distributed system
than using CORBA was a guarantee of building a bad one. Web Services
cannot magically confer on a system design the ability to effectively
deal with limitations in latency and bandwidth. It cannot remove the
difficulties that arise from partial failures and dependencies on
systems that may be temporarily inaccessible. Fortunately, people have
been designing and building distributed systems for many years, often
using technologies like CORBA, DCOM, and their predecessors. Don't
assume that all that work has been superseded by the magic of Web
Services, because there is no magic and the lessons of the past apply
just as well today.
Read the rest of this article at acmqueue.com
http://acmqueue.com/rd.php?c.491

/----------------------------------------------------------\

Better Productivity Through Development Infrastructure

Learn how infrastructure elements allow development teams to increase
productivity without restricting creativity.
http://acmqueue.com/special/qclg30.php
\----------------------------------------advertisement------/

See all the latest articles and audio interviews with Queue's RSS Feeds
http://acmqueue.com/rd.php?s.48.7

To unsubscribe to this newsletter, send an email to
queuenews-request at acmqueue.com
with the words 'unsubscribe' in the subject line.

Change your email address
http://www.acmqueue.com/mailman/options/queuenews

Subscribe to Queue in print
http://www.acmqueue.com/click.php?id=30
About Queue
http://acmqueue.com/rd.php?s.31.5
Contact Us
http://acmqueue.com/rd.php?s.32.10
Privacy policy
http://acmqueue.com/rd.php?s.27.9

For advertising information, contact advertising at acmqueue.com


/----------------------------------------------------------\

Learn to manage the production application at your organization!

Unplanned change has a huge impact on IT. Improve application
performance and end user satisfaction through automation and careful
planning.  http://acmqueue.com/special/qclg4.php
\----------------------------------------advertisement------/

© 2007 ACM, Inc. All rights reserved.




More information about the QueueNews mailing list