热门标签 | 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和作者联系。


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

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






推荐阅读
  • Vue 开发与调试工具指南
    本文介绍了如何使用 Vue 调试工具,包括克隆仓库、安装依赖包、构建项目以及在 Chrome 浏览器中加载扩展的详细步骤。 ... [详细]
  • 在使用STM32Cube进行定时器配置时,有时会遇到延时不准的问题。本文探讨了可能导致延时不准确的原因,并提供了解决方法和预防措施。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 鼠标悬停出现提示信息怎么做
    概述–提示:指启示,提起注意或给予提醒和解释。在excel中会经常用到给某个格子增加提醒信息,比如金额提示输入数值或最大长度值等等。设置方式也有多种,简单的,仅为单元格插入批注就可 ... [详细]
  • 本文介绍了解决Oracle 10G数据库中ORA-12541 TNS: no listener错误的详细步骤。该错误通常发生在监听器服务未正确启动或配置不当的情况下,文章将指导您通过检查服务状态、配置注册表和启动监听器来解决问题。 ... [详细]
  • 本文详细介绍如何在 iOS 7 环境下申请苹果开发者账号,涵盖从访问开发者网站到最终激活账号的完整流程。包括选择个人或企业账号类型、付款方式及注意事项等。 ... [详细]
  • 推荐几款高效测量图片像素的工具
    本文介绍了几款适用于Web前端开发的工具,这些工具可以帮助用户在图片上绘制线条并精确测量其像素长度。对于需要进行图像处理或设计工作的开发者来说非常实用。 ... [详细]
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
  • 本文详细介绍了如何在Linux系统中创建和管理DB2数据库,包括用户切换、数据库创建、错误处理、连接与断开、表空间和缓冲池的创建,以及用户权限管理和数据导入导出等操作。 ... [详细]
  • 本文详细介绍了如何正确配置Java环境变量PATH,以确保JDK安装完成后能够正常运行。文章不仅涵盖了基本的环境变量设置步骤,还提供了针对不同操作系统下的具体操作指南。 ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 前言无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上 ... [详细]
  • MySQL锁机制详解
    本文深入探讨了MySQL中的锁机制,包括表级锁、行级锁以及元数据锁,通过实例详细解释了各种锁的工作原理及其应用场景。同时,文章还介绍了如何通过锁来优化数据库性能,避免常见的并发问题。 ... [详细]
  • 字节跳动夏季招聘面试经验分享
    本文详细记录了字节跳动夏季招聘的面试经历,涵盖了一、二、三轮面试的技术问题及项目讨论,旨在为准备类似面试的求职者提供参考。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
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社区 版权所有