We consider a system with the infrastructure for the creation and inte
rconnection of large numbers of distributed persistent objects. This s
ystem is exemplified by the Internet: potentially, every appliance and
document on the Internet has both persistent state and the ability to
interact with large numbers of other appliances and documents on the
Internet. This paper elucidates the characteristics of such a system,
and proposes the compositional requirements of its corresponding infra
structure. We explore the problems of specifying, composing, reasoning
about and implementing applications in such a system. A specific conc
ern of our research is developing the infrastructure to support struct
uring distributed applications by using sequential, choice and paralle
l composition, in the anarchic environment where application compositi
ons may be unforeseeable and interactions may be unknown prior to actu
ally occurring, The structuring concepts discussed are relevant to a w
ide range of distributed applications; our implementation is illustrat
ed with collaborative Java processes interacting over the Internet, bu
t the methodology provided can be applied independent of specific plat
forms.