Communication software and distributed services for next-generation ap
plications must be reliable, efficient, flexible, and reusable. These
requirements motivate the use of the Common Object Request Broker Arch
itecture (CORBA). However, building highly available applications with
CORBA is hard. Neither the CORBA standard nor conventional implementa
tions of CORBA directly address complex problems related to distribute
d computing, such as real-time or high-speed quality of service, parti
al failures, group communication, and causal ordering of events. This
article describes a CORBA-based framework that uses the Virtual Synchr
ony model to support reliable data- and process-oriented distributed s
ystems that communicate through synchronous methods and asynchronous m
essaging.