3. EAI的解决方案
分析问题解决问题,我们利用现有技术提出了一套EAI解决方案,回过头来,再看看传统EAI平台是什么样的。EAI与SOA在技术层面的解决思想一脉相承,就是通过提供一套统一的数据接口定义来互联具有不同数据,不同接口的已有软件或者系统。EAI平台提供已有系统数据和接口到统一数据和接口之间的转换,同时提供流程的编排驱动工具,方便跨不同系统的业务流程的开发。下面以TIBCO EAI平台为例介绍传统的EAI平台的构成。
EAI平台一般包含两个产品,流程编排和驱动工具+适配器。
a)适配器的主要功能是做已有系统和中间层之间的数据转换;已有系统接口调用的封装,统一接口和已有系统接口的适配。TIBCO适配器名为Adapter。简单的适配器包含在流程工具Business Works中,提供一些简单操作的封装,如文件操作,JMS消息收发等;复杂适配器封装复杂的技术,软件或者系统,如CORBA,MQ , SAP等,复杂适配器有独立于Business Works的引擎,两者通过消息中间件交互。
b)流程工具的主要功能是基于调用适配器功能操作,编排自动的操作流程,编写各个操作之间的数据计算和映射,引擎来执行这些流程。TIBCO的流程编工具名为Business Works,提供这些操作的流程编排和驱动,操作之间基于XSLT来做数据间的映射。多个Business Works的流程可以分布式运行,彼此通过消息交互。
TIBCO的适配器提供很多技术,产品和系统的连接支持。通过适配器支持的组件技术有COM,CORBA,EJB和Web Service; 流程工具Business Works有自己的流程编排和驱动技术,同时也支持BPEL规范来编排组装Web Service服务。TIBCO EAI平台的一个特点就是分布式,包括大量的Adapter实例,Business Works流程实例都可以运行在不同的节点或进程内,彼此通过消息互联。这个特点方便其使用SOA的设计思想来构建企业应用。
以上可以看到我们使用Web Service+BPEL和使用Adapter+Business Works来解决跨已有系统构建新业务应用的需求时,两种方案的中心思想,基本解决思路都是一致的。透过现象看本质,很多技术都有着相同的思想。对于这些思想,我们甚至不需要具备计算机专业知识,依靠逻辑常识也可以理解。
TIBCO EAI平台结构图如下