With static software distribution we mean the distribution of patches, upgrades, new versions, and entire releases, as well as their automatic installation. Moreover, the more general issue of wide-area network software distribution aiming at highly heterogeneous environments is still an open question. Additionally, critical sites will often be secured by firewalls which opens up the question of secure software distribution over the Internet supported by middleware services. With dynamic software distribution we mean the substitution of software components, modules and objects at runtime and design to permit such use. In the development process of a distributed application it becomes often necessary to monitor and debug the evolving system.
Monitoring serves mainly to pinpoint performance bottlenecks and fine tune the system.
In later stages monitoring may also be applied to build network aware applications, i.e., applications which adapt their communication pattern to available resources. Little support is available that aids the developer monitor and debug the distributed system under development. Within the OMG Utility SIG effort is underway to design a logging facility for events to better captured causality relationships of the components involved. It proved necessary to aggregate many of these measurement points together into named collections and to query the groups of points. In this section we summarize our experience by comparing the capabilities of existing middleware platforms with respect to the issues raised in the previous section.