Foreword for Fundamentals of Distributed Object Systems: The CORBA Perspective

Douglas C. Schmidt
Department of Electrical and Computer Engineering
University of California, Irvine

The following document is the foreword to the book Fundamentals of Distributed Object Systems: The CORBA Perspective, by Zahir Tari and Omran Bukhres, Wiley and Sons, 2001.


Innovations have been occurring at a predictable rate in certain technology domains for many years. For example, Moore's Law--where the capacity of general-purpose computer chips have doubled every 18 months--is still going strong after three decades. More recently, the speed of IP networks has been improving at an even faster rate--known as Metcalf's Law--where bandwidth increases by a factor of ten every two years. At this point there is even a ``bandwidth index,'' similar to indices that track the price/performance of other commodities, such as petroleum or electricity. The steady advance in these technologies is remarkable and is due in no small part to decades of synergistic research, development, and education by academic, industrial, and government partners around the world.

There are, however, important domains--particularly software-intensive distributed systems in telecommunications, health care, aerospace, and online financial services--that are not improving at the same rate as Moore's Law or Metcalf's Law, due to a variety of inherent and accidental complexities, such as partial failures, distributed deadlock, and non-portable programming APIs. Consequently, although computer and network hardware keeps getting smaller, faster, cheaper, and better at a predictable pace, complex distributed software systems seem to get bigger, slower, more expensive, and buggier, and the innovation cycles are hard to predict.

An appropriate metaphor for the challenges of software-intensive distributed systems appears in the movie Apollo 13 starring Tom Hanks. After an explosion in the command module forces the crew into the lunar module, the carbon dioxide levels grow dangerously high due to a broken air scrubber. At this crucial moment, a manager at Johnson space center walks into a room full of engineers and scientists sitting around a table and dumps out a bag containing common components--such as a toothpaste, tang, and duct tape--found on the lunar module. He tells the group they've got eight hours to take these component and assemble an air scrubber that will fit into the appropriate opening, and if it is not right the first time, everyone is going to die!

Increasingly, developers of complex software-intensive distributed systems--especially large-scale mission-critical ``systems of systems''--are facing challenges analogous to those of the Apollo 13 engineers and scientists. In particular, time-to-market pressures and competition for consumers and personnel have created a situation where distributed systems must be developed using a large number of commodity-off-the-shelf (COTS) components, which are not developed in-house and whose quality can thus rarely be controlled directly. Yet, just like the Apollo 13 engineers and scientists, we must quickly and robustly master the principles, patterns, and protocols necessary to thrive in a COTS-centric environment because our livelihoods--and sometimes even our lives--depend upon our success.

Over the past decade, various techniques and tools have been developed to alleviate many accidental and inherent complexities associated with distributed software systems. Some of the most successful of these techniques and tools center on distributed object computing (DOC) middleware, which resides between applications and the underlying operating systems, protocol stacks, and hardware devices to simplify and coordinate how these components are connected and how they interoperate. Just as communication protocol stacks can be decomposed into multiple layers, so to can DOC middleware be decomposed into the following layers:

As these DOC middleware layers mature they are becoming COTS products that are readily available for purchase or open-source acquisition. COTS DOC middleware has become essential in software development organizations that face stringent time and resource constraints since it helps amortize software life-cycle costs by leveraging previous development expertise and concentrating research efforts that improve quality and performance. Ultimately, this R&D process will result in software-intensive distributed systems that get smaller, faster, cheaper, and better at a predictable pace, just as computer and network hardware do today.

The following factors have helped improve the quality and performance of COTS DOC middleware products during the past decade:

Until recently, however, it has been hard for instructors and students to learn how to use DOC middleware effectively without dedicating substantial time and effort. One problem has been that DOC middleware APIs, capabilities, and best practices have existed largely in the programming folklore, the heads of expert developers, or scattered throughout articles in trade magazines and web sites. Another problem is that existing books on DOC middleware and CORBA are intended as guides for industry practitioners rather than as textbooks for students. Thus, many important theoretical and fundamental distribution issues are not covered in these books.

In a highly competitive information technology economy, educating students to become effective distributed software developers is increasingly important. Premium value and competitive advantage is accruing to individuals, universities, companies, and even countries that can quickly master the principles, patterns, and protocols necessary to integrate COTS middleware to create complex DOC applications that cannot be bought off-the-shelf yet. Success in this endeavor requires close collaboration between researchers and practitioners, which is why I'm delighted that Zahir Tari and Omran Bukhres have written Fundamentals of Distributed Object Systems: The CORBA Perspective to help educate researcher and developers of next-generation information technologies.

This book uses CORBA to illustrate the theory and practice of distribution middleware and many common middleware services, as follows:

By study, mastering, and applying the material in this book you'll be able to design and implement distributed applications more rapidly and effectively.

We are fortunate that Zahir and Omran have found time in their busy professional lives to write an outstanding textbook on DOC middleware and CORBA. If you want thorough coverage of the DOC middleware technologies that are shaping next-generation distributed systems read this book. I've learned much from it and I'm confident that you will too.

Douglas C. Schmidt
University of California, Irvine


Back to my editorials home page.

Last modified 11:34:19 CDT 28 September 2006