热点关注
随机推荐
工作流代理
来源: 作者:本站
ACID性质 工作流代理可以实现宽约束的事务处理形式。宽约束的或扩展的事 务是那些由若干任务或操作组成的,不满足一个或多个ACID属性的行为。
• 原子性 一个任务对系统状态的影响或者全部发生或者反之;
• 一致性 一个任务使系统从一个一致的状态转移到另一个;
• 孤立性 一个任务的中间结果对其它任务不可见;
• 持久性 一个任务提交的改变将持续下去。
ACID事务是传统数据库的主要应用,因为它们保证只有一致的数据被存储和 只有变化着的数据库的一致快照可以被观察到。但是,实现ACID事务需求较为严格, 故而不适合象Internet这样的开放环境。例如,用ACID事务 来建模我们图中所示的工作流的话,我们就不得不确保只有当用户的定单已经处理后 才能通知用户其定单被接受--或更坏,只有完成后 才通知。显然,这种行为并非合理。此外,这也是不切实际的,因为它要求为了让 一个任务能够追上而延迟另一个到那时候也许就不会发生的任务。
那不用ACID事务的概念,我们如何保证一致性呢?资源代理与用户代理在一起协作的方式会是一个解决方案。这些代理通过记住它们的交互作用的轨迹和存储数据如何被访问和更新来保持全面的系统一致性。它们不是象ACID 事务的陈旧方式那样做这些事,但对特别的工作流确实可以在各事务的间隔期保障一致性。通过在高层描述工作流的不同成分应该如何被对待, 宽约束事务可以充当设计这些代理行为的基本原则。而类似谈判等功能仍然是需要的。
互操作性 一个工作流描绘了若干应用及数据库的互操作性。这种互操作性可以 通过从草稿中实现适当的工作流来达到。而目前的标准制订工作,主要由工作流管理 联合会领导的,尝试定义一个工作流管理的参照模型。 这一模型描述了工作流引擎应该如何与应用及数据库连接。代理有助于在满足局部约束 的同时在不同资源间达到互操作性。
另一类意义更深远的互操作性发生在不同的工作流之间。一个工作流描绘了 一个影响许多人与信息资源的有意义的处理单元。显然,各种单元之间需要互相作用, 因为一些人参与了多于一个的工作流,而且单元之间不可避免地要共享资源。工作流设计者必须适当地理解、模仿和管理这类交互作用。如果不这样的话,各种各样的混乱就会相继发生--实际上事情经常就是这样。例如,电信提供商的一个工作流考虑到放弃旧的配线升级到新的通信 配线,而另一个工作流却认为旧的配线是可以自由获得的 并分配了一条新的电话线。
我们可以把工作流本身也视作资源,然后与之联系担当资源代理的工作流代理。 工作流代理可以调整它们所管理的工作流因而提供给更大范围的,可能是企业范围, 工作流应用。这就需要通信和谈判的能力。使来自不同供 应商的工具管理和建模的工作流能够相互关联的标准也会带来同等的好处。一个例子 是最近公布的简单工作流访问协议。
上一页 1 2 34 下一页
