业务流程管理(BPM),顾名思义管理你的业务流程的系统。详细一点地说明是,工作流和管理流程的集合,融合了应用集成技术,既能够与用户进行交互,也能够与应用系统交互。BPM是技术与流程的结合,并且为成功地实现管理的目的去掉了障碍。
集成功能被认为是BPM与WorkFlow的主要区别之一,做为SOA时代的杀手级应用,BPM能否与SOA平台以及其他的应用系统很好的进行集成,已经成为评判一个BPM产品的重要指标。
TIBCO iProcess Suite是一个开放并且基于标准的BPM解决方案,他从流程设计扩展到流程简化。TIBCO iProcess Engine融合了对负载平衡,多后台处理和自动流程监控的集成支持,可确保24*7系统长时间正常运行。除了方便的可视化开发环境和可靠的BPM引擎,TIBCO iProcess也提供了强大的集成功能。
1 iProcess设计开发环境 – Modeler
在iProcess的流程设计中,专门有一种EAI Step用于与其他系统进行整合。
图 2 工具栏中的EAI Step
EAI Step可以和其他的Step一样放在iProcess的流程中,实现与其他应用系统进行交互的功能,比如在某一步审批之后调用邮件服务器发送邮件、更新数据库;或者调用一个Web Service接口去为下一步准备的审批操作准备数据。
iProcess提供的EAI操作类型有如下几种,以满足用户的需要:
3 EAI Step设置界面
1. EAI_MAIL
通过邮件服务器发送邮件。
2. EAICOM
调用COM接口方法实现相应的功能。
3. EAI_WEBSERVICE
调用Web Service接口。使用该EAI Step需要启动iProcess Web Service Plugin自带的Jetty服务器。
4. EAIDB2
调用DB2数据库的存储过程。不过只能调用iProcess Engine安装所使用的DB2数据库的存储过程,且iProcess Engine的用户要有操作权限。
5. EAIJAVA
调用JAVA方法,所调用的Java jar包要放在IPE_NODE_HOME/ eaijava/libs/repository目录下。
6. EAIORA
调用Oracle数据库的存储过程。不过只能调用iProcess Engine安装所使用的Oracle数据库的存储过程,且iProcess Engine的用户要有操作权限。如果要调用其他Oracle实例上的存储过程的话,需要用到database link。
7. EAISCRIPT
调用iProcess Engine脚本。严格意义上讲这个不算EAI类型的调用,只是使用iProcess Engine来自定义一个Step,属于iProcess Engine内部实现的功能。
8. EAISQL
调用MS SQL Server数据库的存储过程。不过只能调用iProcess Engine安装所使用的MS SQL Server数据库的存储过程,且iProcess Engine的用户要有操作权限。
9. EAI_BW
调用BusinessWorks中定义的流程。TIBCO BusinessWorks是一个非常强大的集成平台产品。前面几个EAI Step类型所实现的功能都可以通过BusinessWorks来实现,而且还没有其他EAI类型本身所具有的一些限制,比如那几个数据库EAI Step的只能访问iProcess Engine安装所使用的数据库的限制。而且BusinessWorks所能提供的集成功能更为强大,几乎包含我们能遇到的所有的技术接口,比如调用TCP接口,JMS接口,EJB接口等等,具体的信息可以查阅BusinessWorks的相关资料。通过EAIBW将TIBCO的ESB产品和BPM产品进行结合,为BPM提供了强大的系统整合能力,并且非常的易于开发(BusinessWorks和iProcess类似,都有可视化的开发环境,几乎可以实现零编码开发)。
流程实例
该流程是一个招标合同审批的样例,在流程中使用EAI Step与办公自动化系统、预算管理系统和邮件系统进行集成。
图 4 流程实例