构建富互联网应用程序监控工作流和流程(3)

简介:
接口  使 用户能够...
 IDeliveryService  从 BPEL 流程域上部署的流程中调用实例
 IBPELProcessHandle  浏览 BPEL 流程域上部署的 BPEL 流程
 IInstanceHandle  对 活动实例执行操作
 ITask  与 流程域中已经实例化的任务交互
 IWorklistService  搜索 并完成已经从流程域中实例化的任务
  您已经了解了 RIA 和 BPELService 的基本组件,下面将介绍它们如何协同提供丰富的最终用户体验。
   运行新帐户流程
  如前所述,首先向客户显示工作流面板中的输入屏幕以输入 SSN。当用户单击 Submit 时,将使用 ActionScript 创建一个“新帐户应用程序”XML 文档,并通过 Flex 的远程对象体系结构将其传递给 BPELService 服务器端 Java 类。(这使 Flex 能够直接与 BPELService 等 Java 对象进行通信。)Java 组件使用 IDeliveryService 接口的实例初始化 BPEL 流程。随后,如下所示,initiateProcess Java 方法将新创建的业务流程实例的实例引用 ID 返回给 Flex 客户端。随后的操作中使用此引用 ID 将相应的业务流程实例作为目标。
/**
* This function initiates an instance of a BPEL PM process based on the
* process name.The function sets the function id and the reference id for
* future use.

* @param xmlRequest
*            is the initiating request message for the process
* @param strBusinessProcess
*            the business process name
* @return the initiating response message for the process
*/
public String initiateProcess(Document xmlRequest, String strBusinessProcess) {
  
System.out.println("Initiate" + strBusinessProcess);
/*
* This interface allows users to invoke instances from processes
* deployed on a BPEL process domain.
*/
IDeliveryService deliveryService = getDeliveryService();
/*
* Construct the normalized message and send to Oracle BPEL process
* manager
*/
NormalizedMessage nm = new NormalizedMessage();
nm.addPart(PAYLOAD, xmlRequest.getDocumentElement());
  
NormalizedMessage responseNm = null;
try {
responseNm = deliveryService.request(strBusinessProcess, PROCESS,
nm);
} catch (Exception e){
e.printStackTrace();
throw new RuntimeException("Could not initialize process.");
}
Map payload = responseNm.getPayload();
Document xmlResponse = getXMLDoc(XMLHelper
.elementToString((Element) payload.get(PAYLOAD)));
/*
* Sets the Instance reference ID for interagating active BPEL
* instances.
*/
setInstanceReferenceId(strBusinessProcess, xmlResponse);
  
return XMLHelper.elementToString(xmlResponse.getDocumentElement());
}








本文转自 牛海彬 51CTO博客,原文链接:http://blog.51cto.com/newhappy/77262,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
前端开发 测试技术 持续交付
如何打造高效的前端工作流
【2月更文挑战第8天】在现代 Web 开发中,前端工作流程变得越来越重要。好的工作流可以使开发人员更加高效地编写代码、测试和部署应用程序。本文将介绍一些使用先进的工具和技术来打造高效的前端工作流的方法。
46 6
|
运维 监控 网络协议
统一运维监控平台设计思路| 学习笔记
快速学习统一运维监控平台设计思路。
263 0
统一运维监控平台设计思路| 学习笔记
|
运维 监控 网络协议
统一运维监控平台设计思路
一、 监控平台的思路 二、 ganglia的安装 三、 yum方式安装ganglia
统一运维监控平台设计思路
|
敏捷开发 存储 数据可视化
低代码开发平台核心功能设计——组件自定义交互实现
笔者最近一直在研究Lowcode(低代码)平台, 也做了非常多的实践, 对于页面可视化搭建平台有了基本的研发方向和解决方案, 后期会陆续分享我对低代码平台的一些理解和解决方案, 并在企业应用层做一些探索.
1233 0
|
存储 前端开发 搜索推荐
基于openerp的erpcmsone:可当网站程序可当内部知识管理及ERP,及前后端合一的通用网站程序选型,设计与部署
本文关键字:openerp website,erp backend website,erp based portal,netdisk storage based blog,uniform www and erp system
471 0
基于openerp的erpcmsone:可当网站程序可当内部知识管理及ERP,及前后端合一的通用网站程序选型,设计与部署
|
运维 数据可视化 关系型数据库
工具应用最佳实践系列之——逻辑编排
本篇文章将为大家介绍如何使用阿里云逻辑编排,轻松实现阿里云账单定时自动化导入自己的数据库,便于后续分析。
工具应用最佳实践系列之——逻辑编排