This page describes several articles that were written by ZeroC staff and published in magazines, and one article written by an Ice user.
A New Approach to Object-Oriented Middleware
IEEE Internet Computing, Jan 2004
Ice is a new distributed computing platform that allows developers to build client-server applications with minimal effort. While similar in concept to Corba, Ice breaks new ground by providing an object model that is both simpler and more powerful, by getting rid of inefficiencies that plagued middleware in the past, and by providing new features such as user datagram protocol (UDP) support, asynchronous method dispatch, built-in security, automatic object persistence, and interface aggregation. This article discusses design decisions, contrasts the Corba and Ice approaches, and outlines the advantages that result from a better design.
This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder. Originally published in IEEE Internet Computing, Jan 2004.
Massively Multiplayer Middleware
ACM Queue, Feb 2004
Ice was used in a massively multiplayer online game called Wish that supports tens of thousands of simultaneous players. This article outlines some of the design and scaleability requirements placed on middleware by an application on the scale of Wish and describes how these requirements influenced the design of Ice.
Copyright ACM, 2004. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM Queue Magazine (Vol 1, Issue 10, February 2004).
Eiskalt Serviert — Verteilte Internet Anwendungen mit Ice
This German article provides a general overview of application development with Ice, discusses key aspects of the Ice architecture, and provides a few examples of using Ice APIs, and compares Ice with other middleware alternatives.
The Rise and Fall of CORBA
ACM Queue, Jun 2006
Over the span of a few years, CORBA moved from being a successful middleware that was hailed as the Internet's next-generation e-commerce infrastructure to being an obscure niche technology that is all but forgotten. This rapid decline is surprising. How can a technology that was produced by the world's largest software consortium fall from grace so quickly? Many of the reasons are technical: poor architecture, complex APIs, and lack of essential features all contributed to CORBA's downfall. However, such technical shortcomings are a symptom rather than a cause. Ultimately, CORBA failed because its standardization process virtually guarantees poor technical quality. Seeing that other standards consortia use a process that is very similar, this does not bode well for the viability of other technologies produced in this fashion.
Copyright ACM, 2006. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM Queue Magazine (Vol 4, Issue 5, June 2006).
API Design Matters
ACM Queue, May/Jun 2007
API Design is one of the most fundamental and important parts of programming. Yet, despite many years of experience and improved programming languages, poorly designed APIs are as common as ever. This article presents examples of poor APIs and provides guidelines for how to improve on the current sad state of affairs. The article also suggests that, to address the problem at its root, we need to look beyond mere technical issues and make cultural changes in education, employment policies, and legislation.
Copyright ACM, 2007. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM Queue Magazine (Vol 5, Issue 4, May/June 2007).