Oracle中间件开发之BPM学习总结
content
一 BPM的安装
二 BPM的基本组件
三 A SAMPLE
1.helloworld
2.证明信申请
一 BMP的安装
安装Oracle ADF/OSB/BPM/SOA开发环境的过程
按照说明文档,主要安装的组建一共有七个部,分如下图所示:
具体的安装流程见:http://yiyiboy2010.iteye.com/blog/1629443
安装过程中会出现常见问题,如:
<!--[if !supportLists]-->1.<!--[endif]-->创建数据库时,表空间命名不能重复;
<!--[if !supportLists]-->2.<!--[endif]-->安装完成之后,再运行JD时如出现内存不足或者溢出问题时,需要在配置中修改相关内存,这个问题会影响到JD运行BPM的UI程序
二 BPM的基本组件
Service:调用各种服务
BussinessRule:决策表
User:用户 usertask
Service:该服务分为很多种,有本地的读写操作,也有调用外部的 webservice 的服务,
大部分BPM与外部交互的操作都可以在这里完成。
BusinessRule:决策表有几个关键元素:conditions, a set of values or ranges ,
Action, rules;
Conditions 表示对象的各种情况,一个BussinessRule可以有多个conditions当做判断条件;
a set of values or ranges :边界范围或者取值,condition在不同的范围内所对应的action是不同的;
Action:就是在判断完conditions处于何种range of values内而进行的相应的操作
rules:就是将前3个一一对应起来的一个规则
三 samples
<!--[if !supportLists]-->1.<!--[endif]-->Hello world
该流程为:发起人提交一条消息,如果消息符合格式,则接收者收到消息,如果格式不符合要求,则流程结束。接收者收到消息后,
可以选择接收或者拒绝,若接收消息,则流程结束;若拒绝消息,则流程继续回到发起人重新提交
Step.1 建立工程
如果已按照第一章中的安装步骤正确安装,则建立新的工程,选择 New Application ,分别命名 Application 和Project Name。
选择BPM Project Navigator,如图所示创建新的流程
一般选择两个类型:Asynchronous Service 和 Manual Process , 本例中选择 Manual Process
Asynchronous Service 是异步的流程,流程本身不能发起,只能被外部调用;
Manual Process 是手动启动的流程,需要流程内部自己发起。
STEP.2 定义角色和组织
在Navigator中打开Organization
分析:该流程有两种最为简单的角色(role):发起人(Requestor) 和接收人(Reviewer),所以在组织结构中建立两个对应role
返回到 Process 界面,将 Organization 中创建的角色放在BPM 的甬道中, 选择 Add Role ,将 Requester 和 Reviewer 加进去,
甬道的概念:Requester 角色所在的横道中代表一条甬道,该甬道的内容表示在 Requester 角色下完成的
Step.3 Modeling the Process 构建这个流程
①打开 Interactive , 选择 Initiator , 放在 start 节点后面, 使用
Artifact将start节点和Requsthello的task 连接起来
双击刚刚新建的user task,在basic栏中修改名字为Request Hello。
②在Request Hello后面添加一个business role,用于检测发起人提交的信息是否符合规定,而这个规则,会写在Business role中具体写出,将在后面介绍
当发起人的信息经过rule决策之后,会判断是否需要审批,如果需要审批,则进入reviewer甬道,如果不需要审批,则流程直接结束。
③点击Interactive,选择User,将此user task 放在 下面甬道中,修改task名称为Review Message
在Business role 后面 添加一个判断节点 gateway,连线如上图所示,双击g1和Review Message之间的连线,修改名称为 Review Needed.
④当消息经过Review Message之后,需要其审批,APPORVE or REJECT,所以在Review Message 之后添加一个判断节点gateway g2,分别将其连到Request Hello上和 end 节点上(请先无视InitApproval和WriteMessage)
该流程现在为:
Request Hello 节点发送消息请求,经过一个规则判断是否需要接收,若不需要,则该流程直接结束;若需要,则流程进入Review Message节点,接收者对得到的信息进行审批:包括APPROVE 和REJECT操作,若操作为APPROVE,则流程走到end节点;若操作位REJECT,则流程回到发起人处,重新提交信息。
以上就是helloworld流程的框架搭建,具体的实现将在下一节讲解。