Foreword for Design Patterns in Communication Software

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

The following document is the foreword to the book Design Patterns in Communication Software, edited by Linda Rising and published by Cambridge University Press, 2000.


The Consequences of Information Technology Commoditization

Information technology (IT) is rapidly becoming a commodity, where hardware and software artifacts get faster, cheaper, and better at a predictable pace. For the past decade we've benefited from the commoditization of hardware, such as CPUs and storage devices, and networking elements, such as IP routers. More recently, the maturation of programming languages, such as Java and C++, operating environments, such as POSIX and Java Virtual Machines, and middleware, such as CORBA and Enterprise Java Beans, are helping to commoditize many software layers and components, as well. Historically, however, the quality of commodity software--particularly communication software--has lagged behind hardware. Fortunately, recent improvements have enabled commodity off-the-shelf (COTS) software components to be used in an increasing number of mission-critical applications, ranging from avionics mission computing to hot rolling mills, backbone routers, and high-speed network switches.

The commoditization of IT has a number of consequences:

In the face of the relentless drive towards IT commoditization, it has become essential for developers, companies, and even entire countries to reconsider how to remain competitive. As hardware and software components are increasingly being written, fabricated, and deployed as inexpensive commodities via low-cost digital distribution channels over the Internet traditional market leaders and supply chains are being altered significantly. For example, the ubiquity of the Web and the maturation of operating system and middleware standards is enabling a rapid growth of open-source operating systems, such as Linux, and open-source CORBA middleware, such as MICO, omniORB, ORBacus, and TAO. Moreover, open-source business models based on industrial standards is significantly altering the pricing levels, business strategies, and licensing models for vendors of proprietary ``binary-only'' solutions.

How Patterns are Helping Us Succeed in a World of Information Technology Commoditization

In a highly commoditized IT economy, human capital is an increasingly strategic asset. In the future, therefore, I believe that premium value and competitive advantage will accrue to individuals, organizations, and nations that master the patterns and pattern languages necessary to integrate COTS hardware and software to develop complex systems that can't be bought off-the-shelf. Patterns represent successful solutions to challenges that arise when building software in particular contexts. When related patterns are woven together, they form a language that helps to (1) define a vocabulary for talking about software development and integration challenges and (2) provide a process for the orderly resolution of these challenges.

Identifying, studying, and applying patterns and pattern languages can help us ensure that COTS components are created and integrated into high-quality communication systems by addressing the following system development and evolution challenges:

Manifesting the Maturation of the Patterns Community

Over the past seven years an extensive body of literature on patterns and pattern languages has emerged that identifies, documents, and catalogs successful families of solutions to common software challenges. This literature has improved the construction of commercial software significantly by enabling the widespread reuse of software architectures, developer expertise, and OO application framework components. As a consequence, we now have a good collective understanding of how to design and implement certain types of software components using off-the-shelf tools and methods.

Much of the patterns literature has focused on a few well-traveled domains, however, such as graphical user-interface frameworks or business applications. As the scope and criticality of communication system requirements continues to expand, our most pressing need now has become elevating the focus from relatively small-scale, stand-alone software mechanisms, protocols, and patterns to large-scale, distributed policies, architectures, and pattern languages. Developers of communication systems face many vexing inherent complexities, such as partial failures, distributed deadlock, and end-to-end QoS enforcement, that contain many interlocking aspects. Therefore, unless the panoply of commodity hardware and software point solutions can be consolidated into integrated frameworks, their value will be diminished and can in fact make matters worse instead of better.

Until now, no single book has focused on patterns and pattern languages for communication systems with mission-critical requirements, such as telecommunications systems with 24x7 high-availability requirements or real-time middleware that can provide stringent end-to-end latency and jitter guarantees to applications. The material in this book exemplifies the maturation of the patterns community and is a major contribution to the study of patterns and pattern languages for communication systems. By learning this material you'll be able to better design and implement communication systems that can't be bought off-the-shelf, thereby improving the productivity and quality of your software solutions and staying ahead of your competition.

We are fortunate that Linda Rising has found time in her busy life to assemble the work of an outstanding group of authors for this book. During the past ten years I've had the honor to meet and work with most of these authors, many of whom are internationally renowned experts in their fields. If you want thorough coverage of the patterns and pattern languages that are shaping next-generation communication software 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:33 CDT 28 September 2006