Oracle APEX:带有 APEX 流程的工作流管理器

Flows for APEX是一个开源解决方案,在 MIT 许可下免费提供,它允许您在 APEX 应用程序中设计和执行工作流。它由一群经验丰富的 Apex 爱好者开发,随着时间的推移迅速演变为功能丰富的流程建模解决方案。

通过单击此链接,您可以访问Flows for APEX 项目的GitHub页面,您可以在其中找到一些非常有用的资源,例如教程和一些演示

在这篇文章中,我想向您展示它是如何工作的。

在本文中

  • APEX 流程:如何安装
  • APEX 流程:应用程序概述
    • 流量管理
    • 流量监控器
  • APEX 的流程:一个实际示例
    • 订房申请
    • 房间预订工作流程
    • 如何将 Flows for APEX 集成到应用程序中
  • 综上所述

APEX 流程:如何安装

要使用Flows for APEX,您首先需要从开发者网站下载安装程序。

在写这篇文章的时候,可下载版本流为APEX是5.1.1。从可用的Oracle APEX释放20.1和更高。

在压缩的文件夹,你会发现两个SQL的安装程序,第一个是流体动力发动机,第二个是一个演示应用程序,您可以使用测试。

连接到APEX的工作区,进入APP生成器,然后单击导入

选择了APEX流应用程序的安装和设置各种选项,导入文件:

  • 文件类型:数据库应用程序
  • 文件字符集:Unicode的UTF-8

点击下一步

点击下一步

单击安装应用程序

激活安装支持对象选项并单击下一步

单击安装

在该过程结束时,您应该会在工作区中看到可用的应用程序。

或者,您还可以按照我刚刚解释的相同过程安装演示应用程序。

APEX 流程:应用程序概述

如果您已安装Flows for APEX,则可以运行该应用程序。

入门部分为您提供了一系列一般信息、在线文档参考和下载页面

流量管理

Flow Management部分,您可以创建您的工作流程。

要查看流的定义,请单击“编辑”按钮。

在页面顶部,您可以看到一些一般信息,例如名称、版本和状态。

右侧有计数器显示有多少进程已为此流(实例)激活,并指示哪些进程正在进行(正在运行的实例)和哪些已完成(已完成的实例)。

在页面的最后一节,你可以看到流感谢BPMN.i0,一个集成的第三方浏览器。

点击编辑流程,你可以在图形编辑器中直接编辑流程。完成更改后,单击“保存流”以保存定义。

定义流的格式保存为BPMN 2.0 标准。因此,除了被 APEX 应用程序使用之外,它还可以导出以集成到其他应用程序中。单击查看源以查看流的定义。

要导出BPMN文件点击导出,指定选项,然后单击导出再次在本地保存流程定义。

流量监控器

在流量监控部分,您可以监控和管理已激活的工作流程。

可以使用Flows for APEX提供的 API 从任何 APEX 应用程序启动 Flow 流程(在以下段落中,我们将看到如何执行此操作)。

要从Flow Monitor手动启动流程,请单击Create New Instance

指定要启动的流程,然后单击“创建”将流程排入队列

新流程实例已创建但尚未启动:单击“启动流程”按钮以启动流程。

流程开始后,您可以直接在查看器中查看其进度,其中突出显示了当前活动的任务。

要推进流程,请单击“流程”选项卡。

在此部分中,您可以看到已激活的任务;要推进流程,请单击“转到下一步”按钮

第二个任务被激活(任务B)

即使在查看器中情况发生了变化,实际上当前活动的任务也发生了变化。

APEX 的流程:一个实际示例

APEX 开发人员流程认为适合在发布包中提供一个演示应用程序和几个可用于练习的流程模板。

这些模板在Flow Management部分可用

我的建议是不要修改这些流,并可能使用导出/导入功能创建新流作为副本。

在本教程中,我将只解释如何创建一个简单的流来更新记录的状态以及如何将其集成到您的应用程序中。

在接下来的文章中,我们将使用实际示例详细探讨此应用程序提供的所有功能。

订房申请

为了测试Flows for APEX的功能,我创建了一个非常简单的应用程序来管理会议室预订请求,您可以通过单击此链接查看请求

申请人必须输入请求,指明要预订的房间、必须入住的日期和时间、人数以及是否需要投影仪或餐饮等附加服务。

提交请求后,秘书处启动一项任务该任务必须读取在预订表格中输入的数据,并继续批准或拒绝请求。

预订请求获得批准后,系统会预订所预订的会议室并向请求者发送电子邮件

在应用程序的下部,我创建了一个监视器,实时显示Flow for APEX管理的审批工作流的进度。

房间预订工作流程

为了管理会议室的预订,我创建了以下工作流程。

  • 该过程从请求者输入会议室的新预订请求开始。
  • 请求由秘书处接管,秘书处将批准拒绝请求
    • 如果请求被接受,将预留会议室并向申请人发送确认电子邮件。此过程会根据请求中输入的数据自动进行。
    • 如果请求被拒绝,在这种情况下也会自动发送一封电子邮件。

预订插入

用户任务类型的任务在用户在应用程序中创建请求后激活,即在他按下CREATE REQUEST按钮之后。

需要处理

用户任务类型的任务,在用户提交预订请求后或按下发送请求按钮后激活。

批准请求

为了根据请求的批准或拒绝正确管理应用程序的行为,我创建了一个独占网关

网关名称是我们必须赋值的变量,以便 APEX 的 Flows 了解它必须导航哪个分支

允许的值在网关的传出分支中定义

自动任务

发送邮件的任务属于服务任务类型,需要您指定必须执行的 PL/SQL 脚本。

一旦执行了 PL/SQL 脚本,这种类型的任务就会自动完成。

如何将 Flows for APEX 集成到应用程序中

正如我们在上一段中看到的,当您创建流时,您可以使用不同类型的任务。

例如,有些任务必须在用户操作(例如按下按钮)后进行,或者 Flow fo APEX 在激活后立即自动执行的任务(服务任务)

要将您的应用程序与 Flows for APEX 集成,您必须使用可用的 PL/SQL api。

如何启动工作流

在我创建的应用程序中,每次创建预订请求时都会生成一个新的工作流实例。

为此,我使用此脚本调用了 worflow 创建 API

<span style="background-color:#282c34"><span style="color:#222222"><code>declarep_spcs_prcs_id    number;p_spcs_name       varchar2;
beginp_spcs_prcs_id := flow_api_pkg.flow_create(pi_dgrm_name => 'Prenotazione_Sala_Riunione', pi_prcs_name => p_spcs_name); flow_api_pkg.flow_start(p_process_id => p_spcs_prcs_id);
end;</code></span></span>

flow_api_pkg.flow_create函数具有以下参数:

  • pi_dgrm_name:要实例化的工作流的名称
  • pi_prcs_name - 实例的名称。我使用了系统生成请求的数量

在输出中,它返回已实例化的工作流的 ID。

如何推进工作流程

此外,为了推进工作流,还需要调用 PL/SQL API。

例如,为了将流程从请求移动到请求批准处理任务,我使用了以下说明:

  • flow_process_vars.set_var设置用于导航决策网关的变量
  • flow_api_pkg.flow_complete_step推进流程
<span style="background-color:#282c34"><span style="color:#222222"><code>declarep_process_id  number;p_subflow_id  number;p_action      varchar2;
beginflow_process_vars.set_var(pi_prcs_id => p_process_id, pi_var_name => 'Gateway_Approvazione_Richiesta:route', pi_vc2_value => p_action);flow_api_pkg.flow_complete_step(p_process_id => p_process_id, p_subflow_id => p_subflow_id);
end;
</code></span></span>

综上所述

我们已经了解了如何使用Flows for APEX通过 APEX 应用程序设计和管理工作流。

虽然它是一个需要一些编程技能才能充分利用的产品,但它可能是可用于管理 Oracle APEX 中的工作流的最佳解决方案之一。

最有趣的方面当然是基于图形 BPMN 编辑器的设计引擎,非常直观且易于使用。

而基于对 PL/SQL api 的调用,与应用程序的集成更加困难。

Oracle APEX:APEX 流程的工作流管理器相关推荐

  1. 卸载oracle apex,oracle关闭apex的jobs

    oracle关闭apex的jobs 2019-09-03 APEX_030200是APEX产品数据库用户.包含500多个tables.4001和4002 jobs. 1.conn /as sysdba ...

  2. DocuWare Workflow Manager(工作流管理器)

    DocuWare Workflow Manager 公司是按流程运转的.销售.人力资源.财务等部门需要流畅.可靠的信息传输,以便在正确的时间做出正确的决策.订单管理.员工入职和发票审批等流程可以根据您 ...

  3. ORACLE 考试的流程

    ORACLE 考试的流程 1.在pearsonvue 網站上註冊 2.預約考試 3.查看結果 4.申請證書 1-1.在pearsonvue 網站上註冊 http://www.pearsonvue.co ...

  4. oracle数据库怎么创建数据库 oracle数据库工作流程

    oracle数据库怎么创建数据库 数据库用户的创建.权限的分配 数据库安装完成后,有两个系统级的用户: system 默认密码为:manager sys 默认密码为:change_on_install ...

  5. 干货|PCB电路板的组成、设计、工艺、流程及元器摆放和布线原则

    大家对PCB电路板电路这个词很熟,有的了解PCB电路板的组成,有的了解PCB电路板的设计步骤,有的了解PCB电路板的制作工艺......但是对整个PCB电路板的组成.设计.工艺.流程及元器摆放和布线原 ...

  6. 数据库oracle认证方式,oracle数据库启动流程及登录认证方式详解

    转自:https://www.2cto.com/database/201803/726644.html ■  oracle启动流程-windows下 1) lsnrctl start  (启动监听) ...

  7. oracle apex接口文件,Oracle之APEX深入开发指南

    内容概括全面,从安装到实例开发,步步深入,面向中.高级开发用户 Contents Document Control .......................................... ...

  8. Oracle Primavera Unifier文档管理器(Document Manager)

    目录 引言 介绍 引言 在 Oracle Primavera Unifier 中,文档管理器维护项目的所有文件和文档.每个项目/外壳都包含自己的文档管理器,另一个文档管理器驻留在公司级别.管理员确保员 ...

  9. Oracle database 11g 安装 - 配置企业管理器database control失败

    在Windows平台安装Oracle数据库不是一个很困难的事,但是从10g开始一直到11g,经常碰到的一个问题却是:配置企业管理器或者说Database Control经常碰到问题,比如企业管理器配置 ...

最新文章

  1. 河南科技大学c语言章节作业答案,河南科技大学C语言试题
  2. GraphPad Prism 9 如何一次处理多张图表?
  3. java多字段排序,Java8对多个字段排序
  4. 计算机模拟定点突变,分子模拟对接和定点突变提高10β–去乙酰巴卡亭-华南农业大学学报.PDF...
  5. 乘法更新规则对于并发的非负矩阵分解和最大间隔分类
  6. python虚拟环境windows环境搭建_window10配置python虚拟环境的路径
  7. python中wordcloud函数不同形状云图_10行Python代码生成任意形状的文字云图
  8. TF-IDF mapreduce实现
  9. 60+最佳免费 WordPress 主题 – 完整列表(2021年)
  10. HTML中的空格符号( nbsp; ensp; emsp; )介绍以及中文对齐方式
  11. CM9和AOKP的区别
  12. elementUI之表格排序失效,表格宽度可拖拽变宽变窄
  13. Windows平台搭建Mantis服务器
  14. 【腾讯广告】监测链接和API自归因回传接口逻辑
  15. 海思3559A上编译ffmpeg
  16. iOS - 蓝牙开门智能门锁
  17. 耳机不分主从是什么意思_【“沃”新品】TWS真无线蓝牙耳机 彰显品质生活!...
  18. vue3中对对象增添属性也会加入到响应式
  19. 怎么人像抠图?这几种抠图方法一看就会
  20. kakao登录接入V2版本记录

热门文章

  1. 计算机网络中请求超时是什么意思,网络请求超时怎么解决
  2. QQ好友辅助验证不要信
  3. Shell -----grep
  4. 【基础试题】输出如下图形 Time Limit:1000MS Memory Limit:65536K Total Submit:604 Accepted:384 Description   输
  5. 中国IC设计公司2006年
  6. Jmeter笔记(Ⅲ) Jmeter的非GUI操作
  7. 一对一直播交友源码实现即时通讯非常“有一套”
  8. python运行代码示例_python程序样例
  9. uniapp苹果端IOS日期类型显示NAN
  10. setContentType总结