BizTalk RFID:异步事件处理与命令处理详解
1. 异步事件处理
在RFID应用中,异步事件处理是核心部分,它涉及到如何创建、绑定和执行RFID流程。
1.1 执行RFID流程
创建好流程并将其绑定到设备后,接下来就是启动执行并处理事件。对于RFID流程,模型和应用是一体的,可以直接部署和启动。下面来看看其运行时架构以及应用创建的产物。
事件从物理设备层开始,通过提供者渗透到BizTalk RFID内部的一个组件,可将其视为路由引擎。路由引擎有两个主要功能:
- 对于来自特定设备和源的特定事件类型,确定对该设备感兴趣的流程。
- 为每个这样的流程关联一个单独的队列,即事件队列。路由引擎将事件存入队列后,继续处理下一个事件,这样事件的排队与实际处理就完全解耦了。
事件处理运行时的核心是存储 - 转发功能。当事件在队列中可处理时,事件调度引擎将事件调度到激活的RFID流程。激活的RFID流程包含由运行时粘合在一起的事件处理程序类的实例,以便将前一个事件处理程序的事件传递到下一个合适的事件处理程序。在事件处理过程中,如果任何中间事件处理程序返回空值,则认为该事件已被过滤并被拒绝。
BizTalk RFID还会创建一个队列来保存“拒绝”的事件,即无法成功处理的事件。这符合事件最多处理一次的原则,解决了单个格式错误的事件可能导致事件处理停滞的问题。问题事件会被智能地移动到挂起队列,事件处理继续正常进行。BizTalk RFID提供了管理API来检索和清除挂起队列。
1.2 激活和托管
在流程启动时,运行时会创建所有事件处理程序类的单例实例,并为每种事件类型
超级会员免费看
订阅专栏 解锁全文
12

被折叠的 条评论
为什么被折叠?



