1. A method of replicating objects at multiple sites, the method comprising the steps of: converting an instance of a complex type from a first storage format used at a source site to a logical representation that conforms to a markup language; propagating said logical representation to at least one destination site; and at the destination site, converting said logical representation to a second storage format that may be different from said storage format.