Applying a Pattern Language to Develop Extensible ORB Middleware Douglas C. Schmidt Chris Cleeland
[email protected] cleeland
[email protected] Electrical & Computer Engineering Dept. Object Computing Inc. University of California, Irvine, USA St. Louis, MO, USA This paper appeared as a chapter in the book Design Pat- applications such as video-on-demand, teleconferencing, and terns in Communications, (Linda Rising, ed.), Cambridge Uni- avionics require quality-of-service (QoS) guarantees for la- versity Press, 2000. An abridged version appeared in the IEEE tency, bandwidth, and reliability [3]. Communications Magazine Special Issue on Patterns (Linda A key software technology supporting these trends is dis- Rising, ed.), Volume 37, No. 4, April 1999. tributed object computing (DOC) middleware. DOC mid- dleware facilitates the collaboration of local and remote ap- Abstract plication components in heterogeneous distributed environ- ments. The goal of DOC middleware is to eliminate many te- Distributed object computing forms the basis of next- dious, error-prone, and non-portable aspects of developing and generation communication software. At the heart of dis- evolving distributed applications and services. In particular, tributed object computing are Object Request Brokers (ORBs), DOC middleware automates common network programming which automate many tedious and error-prone distributed pro- tasks, such as object location, implementation startup (i.e., gramming tasks. Like much communication software, conven- server and object activation), encapsulation of byte-ordering tional ORBs use statically configured designs, which are hard and parameter type size differences across dissimilar architec- to port, optimize, and evolve. Likewise, conventional ORBs tures (i.e., parameter marshaling), fault recovery, and security.