应广大开发者要求,我们特推出从入门到精通的一系列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等进行基本功能的讲叙,参考下图。
我们下面通过例子来看看具体和上一篇已经部署的流程的交互。
首先让我们回到流程云的主界面,选择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信息。
根据文档,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
打开SoapUI,然后在项目下Add WADL,
在SOAPUI中也能直接进行REST的服务调用,但在这里我们想通过功能更强大的网页调试与发送网页HTTP请求的Chrome插件Postman来进行调用,所以首先我们需要将WADL生成Swagger.关于Swagger,这里简单介绍一下,Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。Swagger的生成可以通过新版本的SOAPUI来生成。
选择Project1,然后Export Swagger。
会将所有的服务地址以一个json数据格式的方式导出。
在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。
根据上面的Taskid :200004,选择 tasks/:id/payload。
输出如下:
基于
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和作者联系。
了解更多,敬请关注甲骨文开发者社区......
更多精彩,请大家关注以下二维码抢先注册!