过程自动化和EAI
摘要:过程自动化就是EAI所要达到的目标。虽然这其中存在很大的难度,但是很多EAI解决方案供应商正忙于使过程自动化成为他们提供的EAI技术的一部分。
我们知道EAI是集成很多应用系统和数据存储系统以便他们相互之间能够提供有价值的信息的科学,过程自动化(有时指工作流)是以正确和适当的方式管理数据移动和过程调用的科学。过程自动化还提供一层能够方便的定义和集中化管理存在的一些过程的系统,它位于应用系统中的数据和过程的顶部。
如果从过程自动化的角度来看中间件,中间件的作用是连接存在于企业中的相关的过程以便支持它们之间的信息流动和过程逻辑。中间件通常提供容易使用的可视化接口以便将这些过程绑定在一起,顺便建立一个可视化的过程自动化或工作流模型。
有些人可能会问过程自动化与EAI的关系是什么?我们认为过程自动化就是EAI所要达到的目标。虽然这其中存在很大的难度,但是很多EAI解决方案供应商正忙于使过程自动化成为他们提供的EAI技术的一部分。他们正把一些高端的过程自动化建模工具加入到他们新提供的EAI使能的中间件(如:消息代理和应用服务器)中。
什么是过程的自动化?
在今天的企业中,很多过程已经实现了自动化,同时这些自动化的过程之间是一种松散结合,并且它们是存在于不同的系统中。例如:增加一个顾客到财务应用软件包中可能在一个系统中建立了顾客的信息,但是必须使用另一个系统去处理信用卡的信息,还要使用另一个系统处理发票信息等。显然,这些系统不仅需要分享信息,而且需要以一种正确的顺序和高效的方式进行分享。
过程自动化或EAI的目的是实现数据移动和过程流的自动化,以便存在于它们之上的另一层过程自动化系统对其进行管理,换句话说,过程自动化完善EAI,允许集成系统不仅能够容易的分享信息,而且用一种容易使用的工具管理这些分享的信息。
过程自动化最好的定义是:集成系统中信息的合理流动和业务规则的合理使用以实现一个特定的业务目标。不管业务过程有没有实现自动化,这都是一个事实。
过程流逻辑通常只与过程流有关,它不是一个传统的编程逻辑(如:接口处理、数据升级、事务执行)。在很多过程自动化计划中,业务逻辑与应用逻辑是分开的,它单独负责协调和管理源系统和目标应用之间的信息流动。例如:在过程自动化之前,为了处理一个报销单,一个雇员先将它输入报销汇报系统,然后将其打印出来上交部门经理批准。在经理审查报告后和签字后,雇员再将报销单交给财务部门处理,如果在这个过程中发现了问题,报告还要退回进行更正。很难想象还有比这更加低效费时的过程了。
但是实现了过程自动化后,在报销汇报系统中的信息可以直接送到经理手中(如:通过企业内部的邮件系统),如果以更好的方式实现,报销单自动通过预先规定的标准处理层,自动对报销单进行审批处理。如果审批通过,报销单据自动送到财务系统处理。在这个过程中,经理能够收到自动化的通知,雇员能够收到单据正在进行处理的通知。
上面这样一个系统是按三层技术进行操作的。最上面一层是过程自动化或工作流层,这也是过程自动化建模工具和工作流引擎所在的地方,信息移动的方法也在此定义。
接下来的一层是信息格式转换、路由选择和规则处理层,信息的移动和格式转换是在这一层。这一层典型的是一个消息代理,但是面向事务处理的中间件和分布式对象也可使用。这一层还使用系统之间信息移动规则,必要的信息格式转换和直接或使用适配器对目标接口的读写操作。
消息传输层位于最低层,这是负责不同的连接应用之间的信息移动的系统。这一层的典型应用产品是面向消息的中间件,如IBM的MQSeries,JMS,或微软的MSMQ。
这种结构清楚的表明,最基本的层出在系统的底层,而更复杂的层在系统的顶层。信息从底层源信息向上移动、处理,然后再下传到目标系统,系统的结构示意图如下所示。