By Topic

MOM vs. RPC: communication models for distributed applications

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$33 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

1 Author(s)
D. A. Menasce ; George Mason Univ., Fairfax, VA, USA

An important aspect of designing a distributed application is the communication model we use to connect its various components. Some middleware solutions, such as Web services, offer two of the most important communication paradigms: asynchronous messaging and remote procedure call (RPC). Message-oriented middleware (MOM) lets a service's consumers physically and temporally decouple from the service providers. Communication between service providers and the consumers is asynchronous, and it don't need to be available at the same time because they communicate by sending and receiving messages from designated message queues. In contrast, RPC is a synchronous method of requesting remote service execution. Consumers must suspend service execution until they receive a reply from the provider. MOM and RPC have advantages and disadvantages. MOM solutions tend to be more robust to failures than RPC, and it allows service requesters to continue to process while service provider's work on their requests. However, programming MOM-based applications is more cumbersome because distribution isn't as transparent to the programmer as with RPCs. In this column, we provide a quantitative framework, which we can use to compare MOM- and RPC-based solutions.

Published in:

IEEE Internet Computing  (Volume:9 ,  Issue: 2 )