数据抽取
数据抽取是指将业务数据从应用系统的数据库中抽取到数据中心的过程。数据的抽取是由业务驱动的。当业务人员完成他的某项任务时,业务中心通过以插件形式配置到工作流引擎中的数据抽取组件向应用数据库发出数据抽取的命令,并通过部署在应用端的消息代理将指定的业务数据抽取并存储到数据中心数据库。
数据发送
数据发送是指将订阅者订阅的业务数据从数据中心发送到应用数据库的过程。与数据的抽取相同,数据的发送也是由业务驱动的。一个可能的场景是,当业务人员处理他的某项任务之前,需要先从数据中心获取最新的业务数据,这时就可以把负责发送数据的组件以插件的形式配置到工作流引擎启动活动之前的时刻。这样,当活动启动时,业务中心即可将数据通过部署在应用端的消息代理发送并存储到应用系统数据库中。
数据的发送同样涉及数据的打包,类型转换的过程。
数据订阅
客户端应用如果要从数据中心获取数据,首先要向数据中心订阅自己所需要的数据。数据中心提供了用户可以订阅的消息主题。
3.2.3 消息中心
消息中心对外向企业应用提供了发布/订阅及点对点的通讯模式,在本方案中,基于InforBus/Q实现的消息中心是企业应用之间进行通讯的中继路由机构,通讯的模式可以是发布/订阅模式,也可以是点对点模式。
消息代理是消息中心在客户端的本地代理,业务人员可以使用安装在客户端的消息代理向消息中心发布/订阅消息。消息中心接收到消息后,可以对消息进行持久化(存储到数据中)。消息中心收到客户端发出的消息后,也可以发起对某个业务集成组件的调用。一个典型的情况是,当某类业务人员对自己管理的计划进行变更后,需要将变更的数据传递到数据中心,以供数据中心给所有订阅此变更消息的应用系统发送数据。在这种情况下,数据的集成事件的触发是由消息驱动的,而非由任务驱动的。与任务驱动方式相比,消息驱动的数据集成是一种更为灵活的集成策略。然而,这种集成策略本质上违背了业务之间的承接关系,是对规范化管理的一种破坏,因此,应该尽量的避免过多的使用这个策略。
仍以客户订单管理的流程为例,使用消息触发的集成策略如下图所示:
图8.消息驱动的集成策略

