With the increasing use of distributed systems, interoperability has emerged as a major issue for system developers. Of course, the problems of interoperability have actually been around for many years, and a number of standards and architectures have been developed to address some of these issues, with varying degrees of success. These issues can be generally classified into two broad categories: “programming in the small” and “programming in the large.”
Programming in the Small
The “programming in the small” issues can be divided into three general domains: type system issues, metadata issues, and execution issues.
Type System Issues
Often what appears to be a simple objective—for example, passing an integer from one program ...