4. 接口参考模型与适配器架构
4.1. 设计理由和风险
适配器完成的功能是实现应用系统与EAI HUB之间的连接接口,主要包括数据与通讯两个层面。在适配器设计与选型方面,EAI技术提供的方案有多种形式,根据不同的情况作不同的选择。下面对常用的适配器类型进行分析。
基于数据库的接口与适配器
应用系统对外提供的接口是应用数据库,适配器通过对应用数据库的操作来实现EAI与应用间的交互。此类接口是应用系统可对外提供的最底层的接口类型,允许适配器直接访问应用的数据。针对此方式,尽管这也是常用方式之一,但其中有很多严重的不足。
使用数据作为应用的接口,意味着将数据的结构体设计暴露出来。当应用发生改变时,通常需要重新分析、甚至改变此数据接口。当应用系统的数据改变时,为了触发外部应用,通常需要使用基于应用数据库的外部触发器或使用低效的循环查询策略,这不是一个"干净"的解决方案,外部应用对维护数据的完整性也将负有责任,为此需要理解需要集成的应用系统的结构。总之,其结果将是一个难以维护的交错系统。
基于API的接口与适配器
应用软件,通常提供内置于软件库的API,作为与应用系统交互的接口。相对数据库接口而言,此类接口是一个更为"干净"的解决方案。其问题是相对某种平台,如操作系统、编程语言,此API库可能不存在,为解决此问题,需要开发底层的代码并进行长期的维护。同时当支撑其运行的产品进行升级时,通常需要对此API进行升级以保证其兼容。另外,基于API技术,当一用系统有事件发生时,一般难以提供自动通知功能,需要外部系统进行低效的循环查询。
基于组件的接口与适配器
基于J2EE与CORBA的分布式对象技术,使应用系统的接口有较好的可移植性。此类接口,可以屏蔽操作系统、编程语言的不同。此类接口属于紧耦合模式,属于发展中的技术,由于应用系统本身需要提供组件接口,在实际应用中限制了其应用。
基于消息队列的接口与适配器
应用系统对外交互的接口为消息队列,同时提供消息/数据传输的可靠性保障。业界领先的消息中间件同时提供同步、异步两种通讯方式。使用消息队列,消息系统可以管理很多通讯细节。此种接口方式为典型松耦合模式,是EAI技术普遍使用的方式之一,可以实现接口的重用能力。
4.2. 主流的的实现方式
分析各电信运营商EAI平台的建设情况,需要接入的业务应用系统,如:综合客服系统、资源管理系统、计费帐务系统,采用各自的应用服务器或交易中间件,具有不同的架构模式,对外提供不同的接口方式。在这种状况下,不利于整体系统的统一维护、后期升级改造,以及今后其他业务系统的接入。在此综合考虑以下几方面关键因素,EAI业界推荐采用基于消息队列的适配器,如下图所示。

说明:图中蓝色区域为重用体系,对应用连接提供统一接口。
采用基于消息的适配器比较其它方式有较为明显的优势,特别是对整体架构的规划与实施有较大的参考作用,随着系统承载平台的逐步完善,此架构会有更为显著的生命力与综合优势。下面简单对此进行陈述如下:
?提供统一的接口模式,最大程度地满足IT规划的总体要求,保障最大的ROI,在新系统构建之出至关重要。
?提供基于松耦合的接口方式,提高整个系统承载平台的可重用性,将系统的重用范围从流程扩展到接口层面。
?提高整体系统的可维护性,统一接口技术,并逐渐标准化,避免采用多种不同技术规范。一方面使承载平台维护人员专注在业界领先的标准技术上;另一方面便于系统的统一升级换代。
?基于消息队列的技术是一种成熟、稳定、开放的技术,开发维护简单、便利的技术手段,利于在实际项目中进行实施,降低项目的风险。
4.3. 对实现技术的要求
为实现此类统一架构,对消息中间件(队列)提出如下基本要求:
?支持多种操作系统。
?提供包括C、C++、Java、ActiveX等多种语言的API接口,从而实现与不同编程语言的应用系统连接。
?稳定可靠,保证数据传输一次而且只有一次。
?高性能。
5. 电信业务流程模版
提供行业流程模版或通用模版是第四代EAI解决方案的特征。通过参照模版,一方面可以缩短开放周期、提高代码质量,另一方面可以规范业务流程,实现流程优化。
IBM WBI提供遵循TMF规范的业务流程模版及通用模版。对业务流程模版的提供方式,一方面是提供文档,更重要的是提供基于IBM EAI的代码实现。
在IBM EAI解决方案中,针对电信行业提供了基于TMF规范的业务流程模版,在此仅列表说明:
用例(业务范围):
1. Customer Order Handling
2. Customer Service Configuration and Activation
3. Resource Provisioning and Allocation
4. Customer Billing Management
5. Customer Problem Handling
6. Product Development and Retirement
针对以上6个用例,提供基于产品的流程模版。对每一用例提供一类工作流模版,每一工作流模版又与对应的自动化协调流程相配合。
6. 流程的交易补偿的实现
当一组流程需要与不同的应用系统发生交易时,如果其中之一出现失败,则需要进行交易在流程层面的回滚。在EAI领域,此类技术称之为流程的交易补偿,是保证交易与数据一致性的重要手段。IBM EAI提供流程的交易补偿机制,只需要定义相关的补偿节点。
7. EAI的高端解决方案--业务行为监控(BAM)
BAM(Business Activity Monitoring)是EAI技术当前发展最为快速、业务高级优化最有效的手段,其宗旨在于实时获得业务流程运行的状态,自动提供客观分析报告,以优化、改进业务流程,其改进包括技术层面,也包括人员、管理层面。从技术层面分析,包括流程建模的仿真,业务运行中各节点的分析反馈,业务报表生成。
提供能力:IBM可提供统一技术的适合不同操作系统、不同编程语言的适配器。
BEA:从应用层面,只能提供Java的实现技术,对C无此能力(通过Gateway转换)。
1. 解决EAI性能瓶颈
重要性:性能是困扰EAI在电信实施的重要问题。
提供能力:IBM WBI的性能是BEA技术的10-100倍,可提供专业测试报告
IBM EAI产品包提供了一整套的产品用来定义、分析和监控您的业务流程。在EAI的建设、试运行、生产环境不同的阶段,针对业务流程都需要提供实时的分析,报告和模拟仿真功能。
8. 解决EAI性能瓶颈
采用EAI中间件技术,关键业务流程都通过EAI HUB来实现,因此系统的性能对于电信行业是一个关键因素。其中工作负载集中体现消息中间件与EAI在路由、格式转换方面(Message Broker)。另外EAI系统对内存的分配管理技术、对高峰值的内存数据报的处理理论与技术、对高峰值的可靠传输的保障理论与技术多至关重要。这些将在实际项目的实施中至关重要,也是一些不成熟的EAI厂家在细节层面有意忽略(或根本没有意识)之处。
IBM EAI技术在业界的性能处理能力一直处于领先地位,这也是基于多年的产品发展日益成熟起来的。
9. 电信行业EAI项目管理实施经验
EAI技术被定位为企业的神经系统,是企业IT的架构基础。因此在业界的共识是,EAI的采用一方面是衡量某类产品的成熟度、可用性;更重要的是用户在选择一个长期的合作伙伴。同时我们必须面对的是EAI这种复杂技术的实施的风险。从全球角度来讲,只有50%的成功率,重要原因在于技术的复杂度与实施能力。
从国内EAI项目的实施状况来看,考虑到技术的复杂度与实施经验,目前主要采用与原厂商合作或全球知名的IT咨询服务商合作来进行。
10. 总结
以上论及内容是EAI技术的基础与主流,并未涉及产品层面的细枝末节,对于电信运营商通盘考虑EAI的选型应有一定的借鉴作用。
[1] [2] |