Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesORB vs. RPC


April 1995 / Special Report / Client/Server with Distributed Objects / ORB vs. RPC

So how are ORB (Object Request Broker) method invocations different from RPCs (remote procedure calls)? The mechanisms are similar, but there are important differences. With an RPC, you call a specific function (the data is separate). In contrast, with an ORB, you're calling a method within a specific object. Different object classes may respond to the same method invocation differently through the magic of polymorphism. Each object manages its own private instance data, so a method invocation affects data on a per-instance basis.

ORB method invocations have scalpel-like precision--the call gets to a specific object that controls specific data, and that implements the function in its own class-specific way. In contrast, RPC calls have no specificity. All the functions with the same name get implemented the same way. No differentiated service here. Of course, the ORB is often built on top of an RPC service, so you can end up paying a performance penalty for this extra level of service. (Note, though, that within a single address space, ORBs can dispatch methods almost as fast as C++ virtual function calls, so they can be useful for small objects as well as larger ones.) The ORB's overhead is worth every penny it costs if you're really exploiting the differentiation that distributed objects can offer. Otherwise you just bought yourself another layer of middleware, with all the costs and headaches that come with it.


Up to the Special Report section contentsGo to previous article: CORBA's Object Transaction ServiceSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network