热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【从入门到精通】六个步骤助您成为流程云专家流程交互

Oracle流程云是属于OraclePaaS云中一个比较核心的组成部分,主要用于在云上建立一个企业的流程优化中心,为SaaS应用提供流程定制场景,传统的业务流程迁移到云上实现等场景

应广大开发者要求,我们特推出从入门到精通的一系列Step By Step教程,旨在通过一种图文并茂、直观的展现方式帮助大家快速熟悉并理解甲骨文的各类PaaS IaaS云服务。本系列可作为开发者手册,也可供项目经理、企业架构师以及资深开发人员参考。

上一篇中我们讲了云上如何进行流程的开发,建模,数据定义关联以及部署活动,简单给大家进行了快速的了解,这篇我们看看通过外部工具如何访问流程的API。Oracle Process Cloud Service提供了基于Web Service和REST方式访问的API,充分的考虑到了企业进行业务系统集成以及移动化调用的支持方式。详细的REST API的文档可以参考:

https://docs.oracle.com/en/cloud/paas/process-cloud/rest-api.html

在API中,PCS通过典型的几个维度,包括Process,Tasks,Webforms等进行基本功能的讲叙,参考下图。

我们下面通过例子来看看具体和上一篇已经部署的流程的交互。

 Webservice方式启动流程

首先让我们回到流程云的主界面,选择management,可以看到上面部署的流程实例。

在Action中选择web services。

然后拷贝wsdl链接:

https://pcs-gse00010366.process.us2.oraclecloud.com/soa-infra/services/default/SimpleProcess!1*soa_2fb36445-cd88-471d-9a02-c4b60db20204/SimpleProcess.service?WSDL

 

回到流程主界面,选择Administrator。

分别在SimpleProcess.Submitter和SimpleProcess.Approver角色下加入相应的用户。

用上面拷贝的wsdl建立SOAPUI的项目。

输入数据,并且需要输入BASIC Authentication的用户和密码,此用户名,密码就是具有权限能够创建流程的用户。在本例中是buala.gupta。

回到流程主页面,选择work on Tasks.就看到代办流程已经创建成功。

点击开来可以看到详细的Payload信息。

 基于REST API访问流程

根据文档,PCS的REST API的URL为:

http:///bpm/api/4.0/application.wadl

所以我们这里的URL为:

https://pcs-gse00010366.process.us2.oraclecloud.com/bpm/api/4.0/application.wadl

 

  • 导出swagger文件

打开SoapUI,然后在项目下Add WADL,

在SOAPUI中也能直接进行REST的服务调用,但在这里我们想通过功能更强大的网页调试与发送网页HTTP请求的Chrome插件Postman来进行调用,所以首先我们需要将WADL生成Swagger.关于Swagger,这里简单介绍一下,Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。Swagger的生成可以通过新版本的SOAPUI来生成。

选择Project1,然后Export Swagger。

会将所有的服务地址以一个json数据格式的方式导出。

  • 安装Postman

在chrome中安装Postman,在Postman中选择Import,将刚才的json数据导入。

  • 查看实例个数

选择列出流程实例功能,并修改url,加入hostname.

https://pcs-gse00010366.process.us2.oraclecloud.com/bpm/api/4.0/process-definitions?interfaceFilter={{interfaceFilter}}&showProcessInstancesCount={{showProcessInstancesCount}}

发送可以看到返回的流程实例。

 

  • 查看具体某个流程实例信息

输入processId和isProcessNumberFlag。

可以看到获取的具体流程实例号为6的详细信息。

 

  • 查看分配给我的任务

选择下面的URL,并删除不必要的参数,只留下status和assignment。

结果可以看到,分配给bala.gupta的有两条任务Task。

  • 基于Task Id查看PayLoad

 根据上面的Taskid :200004,选择 tasks/:id/payload。

输出如下:

  • 提交(SUBMIT)流程

 基于

https://pcs-gse00010366.process.us2.oraclecloud.com/bpm/api/4.0/tasks/:id

Json数据中输入:

提交成功。

  • 批准任务

 基于

https://pcs-gse00010366.process.us2.oraclecloud.com/bpm/api/4.0/tasks/:id

 

先通过cloud.admin查到分配给他的任务id. 200002和200007。

Send后APPROVE成功。

好了,通过POSTMAN工具和PCS创建的流程告一段落,接下来在第三部分,我们构建一个应用来和流程进行交互。

作者简介

聂健, 甲骨文云平台资深技术顾问,专注于oracle云技术和解决方案,在规划和实施SOA/BPM领域有丰富的经验,目前侧重于Oracle云的推广和落地,传统应用和开源架构的结合,以及如何实现容器化和云转型上。您可以通过eric.nie@oracle.com和作者联系。


了解更多,敬请关注甲骨文开发者社区......

更多精彩,请大家关注以下二维码抢先注册!






推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
author-avatar
LD系瑰精棂_142
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有