北大纵横管理咨询集团顾问 熊浩
企业采用eai(企业应用集成)技术,不仅提升了信息化水平,也是企业级it视野的一种体现。eai的应用尚处于探索阶段,我们兴奋地发现中国建设银行已经开始用企业级的it视野来看待信息化建设,并将eai技术用于构建自身it架构的信息总线。由此,在中国建设银行信息技术管理部和《网络世界》的通力合作下,“银行业应用eai技术研讨会”在国内第一次从实践的角度来认识和探讨eai的应用。
新时期的国内银行业面临着许多变革,在变革阶段最大的困扰来自于商业环境的不确定性。随着我国加入wto,商业银行之间展开了真正意义上的市场化竞争,无论是大型国有商业银行,还是中小型的股份制商业银行,都无一例外地主动调整组织机构,改变服务模式,创新产品类型。国家的金融政策及体制也在变化,金融混业经营的出现并非遥不可及,谁也不能清晰地描述出明天的银行业具体是个什么样子。所以,建立一个坚实的it架构,能够适应变化、超越变化对商业银行的意义重大。
同时,以客户为中心的经营思想逐渐渗透到国内银行经营的各个层面。以前,所有的银行it建设都是以项目和产品为中心,而不是以客户为中心。这是旧有系统的不足之处,既要保留系统的原有功能,又要加强以客户为中心的服务意识,这种改进对银行无疑是一个艰巨的挑战。
正是由于这些商业上的挑战,银行业采用eai技术有着强大的动力,有着相似近况的中国通信企业也开始了eai项目的建设。
eai究竟能给银行带来些什么呢?不妨先看看eai近几年来的发展和变化。
eai在3~4年前崭露头角的时候,主要被用于企业中不同应用系统之间的整合,采用的方法还大多是系统之间点对点的集成,总线(也有称消息代理)这种集成模式还使用的很少。近年来随着xml、web服务、特别是中间件技术的发展,赋予了eai新的内涵。eai能够进行不同应用系统之间数据的整合、应用的集成、业务流程的集成,总线的集成方式成为业内的主流。
具体而言,银行需要在变化的商业环境中寻找一个可依赖的架构,同时需要以客户为中心重新建立业务流程,eai技术正好可以起到这种承前启后、兼收并蓄的作用。
首先,eai的实施能解决各个系统之间的信息共享,也就是消灭信息孤岛。我国的商业银行都拥有繁多、复杂的应用系统,重复开发的情况严重,而且不能很好地共享数据和功能,不利于整体水平的提高。使用eai技术对遗留系统进行集成的时候,可以实现多个系统之间的整合。
eai还能够建立的体系架构来保证新的应用系统有标准可循,在这种体系架构下建立和更新应用系统,可实现系统之间快速的数据及功能的调用。
eai的另一个突破点是业务流程的集成,通过对业务流程设计、开发和管理的支持,eai使企业内的各种活动、决策,能够在一个连续的工作流里进行,通过工作流把企业各个环节衔接起来。
此外,在商业合作日益广泛的今天,银行需要对外联系,与一些合作伙伴的it系统对接。这种企业之间的应用系统也需要一个集成与交换的过程,通过eai技术制定的框架将有利于银行与众多合作伙伴之间的系统集成。
企业应用eai技术,不仅提升了信息化水平,也是一种企业级it视野的体现。在国内银行业对eai的应用尚处于探索阶段,我们兴奋地发现中国建设银行这样的大型企业已经开始用企业级的it视野来看待信息化建设,并将eai技术用于构建的自身it架构的信息总线。
在银行以往所做的项目中,大部分都是以部门、项目、产品为中心,而没有着眼于企业的整体发展,通常it项目做得很好,但业务的需求往往在项目快做完时发生了新变化,因为没有一个企业级的长远眼光,it建设的步伐总是落后于业务的变化。建设银行信息总线的建设就是要超越这种“部门级和产品级的视野”,以整个银行的发展方向来构建信息化体系,并保证it系统的适应性。信息总线是建设银行it应用体系架构中的核心部分,也是个战略性的项目,信息总线的建设包括了业务流程的集成、应用系统的集成和数据交换的标准,在这个过程中eai将大显身手。
中国建设银行信息技术管理部门这样看待eai在建行信息化建设中的作用:建设银行在今年年初的时候,重新制定了未来的科技规划,提出了it架构要满足建设银行9大类71项业务能力。这些业务能力主要是通过11个项目群来实现,用几年的时间完成这些项目群的建设,最终达到我们整个it规划的技术架构的实施。在这个规划中,我们遵循整个建设银行的发展战略目标,重新架构了我们it的应用架构和技术架构。在架构的过程中,我们提出了一个概念,就是松耦合的应用体系结构,其中最核心的一部分就是eai的应用。
近日,中国建设银行信息技术管理部与《网络世界》报社联合举办“银行业应用eai技术研讨会”国内外涉足eai领域的主流厂商悉数到场。通过这种交流的形式,国内第一次从eai实践的角度来认识和探讨eai的应用,全面介绍eai技术的理念和发展。为此,我们将从eai的层次结构、eai实施中的问题、专家的建议、eai实施方法论等几方面主题分别加以探讨。
eai的层次结构
由于eai技术本身的发展,eai的内涵有所丰富,那么对要实施eai的企业而言,eai是分层次的,也就是说,同样叫“企业应用集成”,其实内容和层次并不一定相同。eai的技术体系最下面的一层是被集成的系统,再往上去就是通信连接层,它要解决的是应用集成服务器与被集成系统之间的连接和数据交换的问题,再往上去就是应用集成层,它要解决的是被集成系统的接入问题,还有不同系统间的信息识别问题,这一层是框架的核心。应用集成层之上的就是工作流管理层,它将不同的应用系统连接在一起,进行协同工作,并提供商业流程管理的相关功能,包括流程设计、监控、规划。这是通用的eai的体系结构。
北大纵横管理咨询公司顾问认为,对于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.遗留系统的问题
建行提问:银行里遗留了许多独立的应用系统,这些系统有专门的接口和转换程序,有了信息总线后,这些老系统被联系到一起,可能在效率方面会有一些损失,有损失没关系,但这中间是一个怎么样的转变过程,是通信平台的转换,还是整个系统的更换?
专家看法:大家可能觉得业务流程管理一定是针对新系统的,实际上不是这样的,业务流程管理对已有的系统也可以实现,甚至对已有的系统用业务流程管理也可以进行监控,细到流程内部,不仅仅是跨系统之间,系统内部也可以控制,还可以进行动态的修改。