An architectural pattern for data transport and management between an application and rich client