资源描述
工作流的主要组成部分包括:l工作流生成器(Workflow Builder)l 工作流引擎(Workflow Engine)l 工作流定义载入器(Workflow Definitions Loader)丨通知系统(Notification System)l工作流监控器(Workflow Monitor)如下图所示:这里写下 Workflow Defi niti ons Loader。在开放工作流中,我们使用Oracle Workflow Builder建立工作流,整个工 作流的建立过程就是跟工作流定义载入相关。在程序层面,我们找到WF_LOAD 包,这里就是整个工作流建立的后台实现相关。在WF_LOAD包中,我们可以看到工作流开发过程中的Attributes, Processes, Notifications, Functions, Messages 和 Lookup Types 的程序实现。 ORACLE把所有的这些对象都作为数据库表元素保存在表里面,通过表中各字 段的定义和表与表之间的关联来提现他们的关系。列一下表与对象对应关系:wf_item_attributes 定义 Attributes。wf_activities 定义 Process、Funciton 和 Notices,同时有相对应的 wf_activities_tl 表定义名称。wf_messages定义Messages,其中Message里面的属性在 wf_message_attributes 表中定义。wf_lookup_types_tl(有对应的 wf_lookup_types 视图)定义 Lookup Types, 其中 Lookup Type 里面的 Lookup Code 在 wf_lookups_tl 表(有对应的 wf_lookups视图)中定义。这里要特别注意一点:Lookup Type是全局变量,它的表的主键是 (LOOKUP_TYPE, LANGUAGE),做后台操作请慎重。在wf_process_activities中,我们可以看到存在与Process中的各对象。工作流是用ITEM_TYPE来标识每个工作流,在工作流工作过程中,会生成 ITEM_KEY,用于标识每条工作流。我们可以在wf_items中找到每条初始的工 作流,在工作流工作过程中,主要的一点,是生成Notifices,生成的Notifices 保存在 wf_notifications 中。以上是在WF_LOAD包中认识的东西,或者有错误的,仅供参考。只是希 望各位还是从源代码中找寻解决问题的答案。以上记录从1403: Could not delete message since it is refereneed by activities in the database.开始的。
展开阅读全文