TIBCO iProcess实战系列:TIBCO iProcess Engine进程说明

 

iProcess Engine启动后,在swadm管理工具中键入show_processes命令,可以看到iProcess Engine中各个进程的状态。如下图所示:

 

 

除了这些进程,iProcess Engine的运行还需要Sentinel进程等其他一些进程,这些进程在swadm中是无法看到的。那这些服务进程在iPE(iProcess Engine)中的究竟有什么样的作用呢,本文将进行详细地介绍。

为了更好的了解这些服务进程的关系,我们可以把这些进程分成四个部分。

 

 

iPE进程操作于ForegroundBackground层,Foreground处理与用户的交互、列出队列和队列中的内容;Backgound执行BPM Case的处理;Mbox为两层之间提供了通讯通道;Sentinel进程负责控制iPE节点中的所有iPE进程。

 

Process Sentinel

Sentinel进程对应的可执行文件为SWDIR/etc/procmgr,在Sentinel启动后,会看到两个进程,<node_name>_worker<node_name>_watcherSentinel的职责包括:

l         启动进程,iPE所有的进程都要在Sentinel进程启动后才能启动

l         检测运行失败的进程并重新启动它们

l         关闭进程,Sentinel进程要在所有的iPE进程关闭之后才能关闭

l         暂停整个系统,一组进程或者单个进程

l         检测sw_errorsw_warn文件并通知swadmin用户

l         监控其他的Sentinel进程并且在他们运行失败的重新启动它们

l         维护活动的登录列表

 

Foreground Process

Foreground进程负责与iPE客户端进行通讯,用来向Background进程传递客户端的请求数据,比如提交工作项的请求。Foreground进程包括如下进程:

WQS(Work Queue Server): WQS进程与操作每一个队列的WIS进程的RPC地址(包括RPC端口号和服务器名称)一起,在系统中提供一个完整的工作队列列表。它包括了所有用户和组的列表,并且对谁能够访问哪个队列进行控制。

WIS(Work Item Server): WIS进程对工作队烈的内容进行缓存并且为客户端提供工作项列表。多个WIS进程可以并发的产生消息(在事物的控制之下)放置在后台MBox集合中。每一个WIS进程从WISMBD中接受消息。这些消息被临时存放在一个内存缓冲区中(每一个物理的工作队列又一个内存缓冲区),为下一次WIS进程从MBox中进行更新作准备。

WISMBD(WIS MBOX Daemon): WISMBD进程负责将消息从WIS MBox集合中取出,并且将他们传递给适当的WIS进程进行处理。

RPC监听器和池服务器: RPC监听器和Pool Server管理并且分配RPC连接。对于每一个通过客户端登录到iPE的用户,监听器都会分配一个到SWRPCSVR池进程的连接。每一个池进程维护了一个连接(客户端)池。

 

Background Process

Background进程负责处理从客户端收到的消息,比如提交一个step或者转发一个step。他们也会对BPM流程中的DeadLine进行监视和处理,管理案例预报和监视案例活动。

MBox Daemon(BG进程的一部分): 负责从MBox集合中将消息从队列中取出。可以有多个MBox Daemon进程并发的取消息。通过设置process_attribute表可以设置读取制定的MBox集合。

Case Instruction Processor(BG进程的一部分): Background进程的核心,解释在iProcess Modeler中定义的业务规则。它用来执行那些类似在BPM流程中要走哪一个分支上的step;用新的信息更新数据库和处理超时的deadline等指令。

BGPREDICT(Case Prediction Process): 负责将更新的预报数据存储到数据库中。不论何时一个Case指令结果发生了变化,都要更新预报数据。

DLMGR(Deadline Manager): 监控流程中案例的Deadline

IAPJMS: 负责接收BG进程发送的活动监控信息,并且将他们路由到已经配置好的JMS topic或者queue中。

RPCBG: 这个进程作为一个执行Backgound事务同步的方式,并且专门用于设计TIBCO iProcess对象/SAL函数/SUSPEND/UNSUSPENDJUMPTO

 

MBox Sets

MBox集合负责ForegroundBackground进程之间的信息通讯,是用来存储和处理客户端和服务器之间请求数据的信息系统。MBox集合包含一个或者多个消息队列。

Oracle版本的iPE中,MBox集合使用Oracle数据库提供的一个事务性消息系统。在DB2或者MS SQL Server版本的iPE中,MBox集合使用TIBCO自己的事务性消息系统并使用DB2或者MS SQL Server数据库中的表。

消息系统将消息存储在数据库表中。这样消息队列就具有很高的可扩展性并且有可靠的传输机制。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值