BPEL异步设计实例
使用JDeveloper设计BPEL异步实例
首先讲一下JDeveloper编排异步流程的格式:
1.对于一个服务来讲,其内容可以是同步的,本例中服务为双向操作(请求/应答)
2.在调用服务前,需要把服务包装为方便主流程调用的异步服务,即包含callback的bpel流程(须知道bpel本身也是一个服务,它也有自己的wsdl)
3.在主流程中使用invoke调用第二步中编排好的服务,通过receive回调
4.webservice服务可以是同步的,BPEL可以把同步服务编排为异步服务
我的这个例子是:
java代码编写审批服务,通过CXF发布webservice服务,产生wsdl文件,用JDeveloper编排
请假实例:
1.输入名字和请假原因 2.由主管审批是否允许 3.返回结果
在oracle的服务控制台可以动态的查看服务流程执行的过程。
1.流程审批的java代码:
2.使用JDeveloper把该服务编排为异步的,新建一个异步的BPEL
3.JDeveloper新建一个主要的BPEL服务流程:右边的流程是调用第二步的服务,左边的流程只是一个写请假书的流程(简单的调用服务,不再详细介绍)
4.服务编排好之后,进行测试:
5.查看服务流程进度:
6.与此同时,查看eclipse控制台,输入Y进行回应:
7.运行结束,查看最后结果的流程: