EAI的层次结构
由于EAI技术本身的发展,EAI的内涵有所丰富,那么对要实施EAI的企业而言,EAI是分层次的,也就是说,同样叫“企业应用集成”,其实内容和层次并不一定相同。对此,东方通科技技术支持服务中心副总经理许丽丽谈到,EAI的技术体系分成这么几层,最下面的一层是被集成的系统,再往上去就是通信连接层,它要解决的是应用集成服务器与被集成系统之间的连接和数据交换的问题,再往上去就是应用集成层,它要解决的是被集成系统的接入问题,还有不同系统间的信息识别问题,这一层是框架的核心。应用集成层之上的就是工作流管理层,它将不同的应用系统连接在一起,进行协同工作,并提供商业流程管理的相关功能,包括流程设计、监控、规划。这是通用的EAI的体系结构。
BEA系统(中国)公司首席技术顾问喻思成认为,对于EAI,很多厂家可以说出不同的答案。EAI有很多层次,最原始、最朴素的整合就是数据整合,让这个系统的数据能为其他系统使用。 还有一个层次是应用集成,例如应用A能被应用B调动,有的是实时的,有的是有约定的,所有的用户能够在统一的界面下管理,这些做完了以后,可以开始和外部的合作伙伴进行集成。 再高一个层次,我们通过一个业务流程把所有的应用、数据都管理起来,让它贯穿很多应用系统,贯穿很多数据,贯穿很多用户,贯穿很多合作伙伴。当我们把所有的集成手段和层次加在一块,我们才能做到最后的这一层次,就是业务流程的集成。业务流程的管理平台是由业务人员来控制,而不是给IT人员控制,给他一个完全开放的平台,给他一个设计的手段,让业务人员通过鼠标把一个流程从头到尾设计出来,让业务人员监控整个业务的变化,通过这样一个流程集成的手段,真正做到EAI的最高层次。
微软(中国)公司顾问经理何江这样说,企业应用EAI的趋势。首先是应用跟应用之间的整合,接下来是跟业务伙伴之间信息的传送,它的信息传送对我的整个业务过程的影响。然后是整个业务流程的自动化。微软EAI的解决方案是面向应用跟应用之间的整合,企业跟合作伙伴之间业务的整合,同时它更专注的是整个业务过程如何实现自动化,它的解决方案面向整个企业的EAI的需求,同时满足企业在实施EAI时所需的相关特性,比如安全性。
实施问答
EAI是个实施性很强的项目,实施中可能会遇到的种种问题,其中一些问题非常典型,我们把这些问题列举出来,采用问答的形式进行讨论。
1.技术标准如何选择?
建行提问:在实施EAI的过程中,虽然要采用松耦合的方式,但是具体来说耦合的方式是哪些,采用的是什么技术?这需要确定。比如说我们是采用JCI的方式,还是用JMS的方式,虽然我们用的是松耦合,但是一定要知道采用的技术标准是什么。
厂商看法:如果把交易系统集成到EAI框架里面看,不一定非要采取JCI这样的标准去封装它。建行交易系统的业务逻辑已经开放成一个服务,去做集成的时候,我们可以把这些服务以适配器的方式,就可以去调用,可以实现集成,这样的工作量可能小一点,复杂度也可能更小一些,是一种选择的思路。
2.EAI的技术架构与产品之间的关系
建行提问:从技术路线上来看,各家厂商之间也存在着一些不同,我们的架构和我们的产品选择之间有没有相互依赖的关系,这种依赖关系强不强?是不是只有确定了产品之后,才能决定架构,还是有其他的选择?
厂商看法:架构不可能完全独立于产品,至少有80%依赖于产品,然后再看这个产品能不能适应这个架构。可能这个架构在最后实施的时候会被影响一部分,但主要是自己要制定一个架构,比如我们通常说选一个EAI架构,应该有一个确定的业务流程,具体需要选择一个相应的组件来实现架构,市场上可供选择的组件也不多,可能在建行里面有很专用的组件,也可能以后有新的组件。你选择一个架构以后,这个架构通常涉及到应用之间是什么样的关系,但是具体到应用的时候,还是需要开放的架构会比较成熟。
3.数据标准先行,还是EAI先行?
建行提问:我们现在的信息处理没有统一的格式,在做EAI之前,是否应该把银行的信息处理格式做好?
厂商看法A:这就像鸡生蛋还是蛋生鸡的问题,总要有一个先做好。假如你已经有了10个不同的应用系统,通过EAI可以定义出信息处理的规则和标准,所有的应用系统往上靠就可以了。这个向标准靠的过程非常烦琐,有一定的工作量,但是一旦投入下去,效果会越来越明显。
厂商看法B:很多企业在让我们实施的时候,都提出要做一个规范的数据模型,但是从我实施的经验来看,大部分数据模型都是逻辑上的,有这么一个逻辑上的模型定义各个系统之间数据模型,可以通过映射在语法和语义上来定义。
4.遗留系统的问题
建行提问:银行里遗留了许多独立的应用系统,这些系统有专门的接口和转换程序,有了信息总线后,这些老系统被联系到一起,可能在效率方面会有一些损失,有损失没关系,但这中间是一个怎么样的转变过程,是通信平台的转换,还是整个系统的更换?
厂商看法:大家可能觉得业务流程管理一定是针对新系统的,实际上不是这样的,业务流程管理对已有的系统也可以实现,甚至对已有的系统用业务流程管理也可以进行监控,细到流程内部,不仅仅是跨系统之间,系统内部也可以控制,还可以进行动态的修改。
5.项目管理的问题
建行提问:我们觉得就银行的IT管理体系来讲,EAI的项目对管理体系有比较大的影响。我们觉得在开发过程中的管理,包括项目管理,以及我们的运营维护系统管理等等,这些都和EAI的架构密切相关,我想问的问题是:在我们目前整个EAI架构逐渐规划和落实的过程当中,我们配套的IT的一些管理政策,开发的管理、运维的管理、系统的管理,这种配套政策如何制定,之间是一个什么样的关系,我们目前需要做哪些工作?
厂商看法A:
从我们过去的经验来看,科技部这方面应该以EAI做为牵头的项目,科技部可能要成立一个工作组或者是工作协调委员会,这个委员会实际上是利用EAI这件事情,整个作为一个驱动后面工作协调的一个工作组,或者是说工作流程重组的工作小组,应该有这么一个工作小组进行驱动,跟其它项目结合起来。
厂商看法B:
EAI的项目开发跟其他项目的开发有一些不同,EAI尤其在以业务流程为主导的开发,总结起来就是:架构要早,而且还要小步快跑,EAI是一个很大的系统,你一定要非常清楚,规划的时候不要太大,要能看得见、摸得着;还要天下为公,尽量把各个系统的服务都能够抽象成一个公共的服务。通常像我们在国外做EAI的时候,如果能够确认100个业务流程的话,通常都是按照业务的功能,比如说第一批我们先做三个环节,能够完成一个具体业务功能,下面再确认几个,一步一步把业务流程实现,实现一批调试一批,比传统的系统开发有更多的阶段。
6.EAI与安全系统的关系
建行提问:你们认为用EAI技术进行系统集成后的安全控制应该是怎样实现的,或者说因为信息整合以后,它的安全性应该怎么整合,你们是提供现成的技术产品,还是靠我们自己建立安全平台或者其他的一些方式来实现?
厂商看法:系统从网络层面、应用层面、数据层面来看,安全机制都是要确定的。你问哪个系统去控制业务层面,这是要针对不同的业务系统。系统安全这块,EAI都会提供安全的认证技术,或者是开放性的接口,可以很好地跟安全产品做衔接,但是最关键的就是安全政策。因为企业本来就有安全体系,怎么样适合在企业已有的安全环境,然后针对新开发的应用和已有的业务系统做出好的安全的规划,这是最关键的。从基础层面上来看,数据加密传输或者是XML的加密,或者是用户级别的控制,各家厂商都会有办法,但是安全政策的这块东西还是你们自己考虑。