ACID事务是传统数据库的主要应用,因为它们保证只有一致的数据被存储和 只有变化着的数据库的一致快照可以被观察到。但是,实现ACID事务需求较为严格, 故而不适合象Internet这样的开放环境。例如,用ACID事务 来建模我们图中所示的工作流的话,我们就不得不确保只有当用户的定单已经处理后 才能通知用户其定单被接受--或更坏,只有完成后才通知。显然,这种行为并非合理。此外,这也是不切实际的,因为它要求为了让 一个任务能够追上而延迟另一个到那时候也许就不会发生的任务。
那不用ACID事务的概念,我们如何保证一致性呢?资源代理与用户代理在一起协作的方式会是一个解决方案。这些代理通过记住它们的交互作用的轨迹和存储数据如何被访问和更新来保持全面的系统一致性。它们不是象ACID 事务的陈旧方式那样做这些事,但对特别的工作流确实可以在各事务的间隔期保障一致性。通过在高层描述工作流的不同成分应该如何被对待,宽约束事务可以充当设计这些代理行为的基本原则。而类似谈判等功能仍然是需要的。
互操作性 一个工作流描绘了若干应用及数据库的互操作性。这种互操作性可以 通过从草稿中实现适当的工作流来达到。而目前的标准制订工作,主要由工作流管理联合会领导的,尝试定义一个工作流管理的参照模型。 这一模型描述了工作流引擎应该如何与应用及数据库连接。代理有助于在满足局部约束 的同时在不同资源间达到互操作性。
上一页 1 2 3 4 56 下一页
