XML 技术:从变革到主流应用
1. 集中式与分布式变更管理
信息资源的集中式与分布式变更管理是一个古老的话题。集中式变更管理操作简单,所有变更需通过中央实例(通常是信息对象的所有者)进行审批或拒绝。然而,在大型组织中,这可能导致大量的官僚程序,减缓运营速度。
以业务对象“客户”为例,它可能有众多特性,如账单地址、送货地址、账户、偏好、交易记录等。在大公司里,不同部门对这些特性的关注度不同:运输部门只关心送货地址;销售部门关注账户、账单地址和交易记录;营销部门则想了解客户偏好。因此,由相应部门维护这些特性更为合理。但集中式变更管理会减缓运营,例如销售部门要更改账户信息,需向业务对象“客户”的所有者(可能是该对象的创建者)申请变更。
这个问题在实例级别和模式级别都存在,下面先讨论业务对象实例的分布式变更管理。
- 文档实例的分布式变更管理 :关系技术为分布式变更管理铺平了道路。SQL 允许定义视图,限制对构成业务对象的一组关系表的访问。例如,运输部门使用特定视图,仅能访问客户的送货地址。这种技术使各部门能对其负责的业务对象部分进行变更。目前,XML 还缺乏类似技术,虽然可以用 XQuery 定义 XML 文档的视图,但 XQuery 是纯查询语言,不支持更新操作。
- 文档模式的分布式变更管理 :模式演变时也会出现同样问题。例如,营销部门需要在描述客户偏好的模式部分添加新元素和属性,此时麻烦核心信息对象组来处理并不合适。在 SQL 中,这个问题相对容易解决,业务对象“客户”以多个关系表的形式存在,可以将表的维护任务分配给从该表中受益最大的部门,实现模式维护的分布式管理。