闻杰 王健 茹琦
1.浙江浙能天工信息科技有限公司 浙江 杭州 311121;
2.浙江浙能技术研究院有限公司 浙江 杭州 311121
近年来,信息化集成技术被广泛应用在电力企业中。但是,在电力信息集成的实际应用过程中,受诸多因素的限制,仍然存在一些问题,使得其发展速度相对较慢。其中,比较典型的问题有电力企业资源共享不到位、信息交流存在障碍等。对此,电力企业需要根据信息集成现状,合理运用信息集成关键技术,以推动电力企业信息集成的高速发展。
目前,我国电力信息集成主要经历了单点集成、中间件集成和分布式通信集成这三个发展阶段,以不断适应时代发展趋势。
单点集成主要是通过系统之间函数的调用来完成,因此比较适用于少量系统之间的集成,其集成速度相对较快。但是,如果在多个信息系统之间采用单点集成则会涉及多个系统的整合点,使系统集成的复杂程度相对较高。一旦其中有一个点发生变化就会影响多个整合点,影响信息集成效果[1]。中间件集成是利用中间件实现电力信息系统之间的数据交互。中间件主要是利用私有总线API或者应用程序的API与信息系统相连接,而应用程序需要全面准确地熟悉了解应用程序相关的内部工作方式,否则很容易导致信息系统集成故障。这也对中间件及相关应用程序提出更高的要求,这种集成方式同样不适用于复杂或者数量较多的信息集成系统。分布式通信集成主要是在非Web服务环境中,充分利用CORBA、DCOM和RMI等通信技术,采用分布式的方式对复杂信息系统加以集成。但是,这种集成方式是不能应用在Web服务环境中的,同时,不同通信技术具有不同的数据定义方式、传输方式和访问模式,因此,每种通信技术的应用连接方式有所不同且技术难度较高。此外,不同通信技术的生产厂商之间是竞争关系,增加了分布式通信技术的集成难度[2]。对此,对于当下电力信息集成中的各种问题,仍然需要不断完善,去寻求一种高效合理的信息集成技术。
(1)数据层集成技术。数据中心的建设会涉及数据迁移、数据转换、数据集成中间件等多种技术。对于数据层集成技术,其主要使用工具就是ETL工具,以实现数据的抽取、加工和加载。其具体实现过程就是ETL工具在多个分散的子系统中对特定的业务数据进行筛选和提取,并经过清理、过滤和转换,使业务数据满足初始数据要求,并按照特定的要求将其进行整合与关联,以形成统一的全局数据,对某个系统进行精准的描述[3]。同时,数据中心还包含XML、接口数据表、数据文件等多种数据接口方式,为数据集成的实现提供了更多的技术渠道。其中,XML是比较常用的数据集成接口方式,其集成方式主要是在集成服务器上定义Schema,并根据集成服务器与接口来源或目标的Schema之间的映射关系进行集成服务器的适配,实现数据集成。接口数据表则是一种相对比较成熟的数据接口技术,其数据集成不仅可以建立在业务逻辑层面,也可以建立在数据层面上,具有较广的适用性。
(2)服务/消息层集成技术。JBI是以插件来组建集成架构,其常用插件包括支持服务引擎的插件和绑定组件插件。绑定组件与传统EAI技术中的适配器具有相同的系统角色和系统功能。根据绑定组件的特性可以将其与不同的应用系统加以连接,并将系统中的特定协议转化成该系统所认可的标准化消息,以满足应用系统接口适配的要求。因此,在选择绑定组件时应该充分结合业务系统的现有状况,了解该系统中所使用的厂商产品或者系统技术,然后借助合适的绑定组将使其与JBI环境相连接,确保不同应用系统利用接口实现交互访问。此外,如果集成系统要求与MQ服务器实现连接和访问,则需要采用JMS绑定组件,并利用该绑定组件将MQ服务器的接口发布一个服务[4]。这样,这个服务就可以为上层应用程序和MQ服务器之间的调用提供交互渠道,而JMS绑定组件就会自动将JMS消息转换成XML标准格式的消息。
(3)流程层集成技术。对于流程层集成技术,通常采用一种业务流程执行语言BPEL,这种执行语言是基于 Web服务的,在业务流程集成中发挥着重要的技术支撑作用。BPEL是一种高层次的编程语言,具有一定的抽象性,更加侧重应用在高层面的业务流程方面,而不用于去实现具体的业务逻辑。同时,BPEL业务流程执行引擎对于其他各个应用系统之间的调用与协调主要是通过服务的形式,这种服务一般由应用系统来发布,彼此各执其能共同配合完成相应的系统任务[5]。而业务规则也是企业服务总线中发布的一种服务,其业务过程主要是利用一种规则来触发相对应的规则,更重要的是,业务规则在应用过程中也可以根据业务变更进行相应的修改与调整。而Drools业务规则引擎就具有强大的业务规则管理功能,并且可以根据集成需求进行灵活调用。BPEL流程的功能在于能够将各个应用系统中相对分散的业务流程加以高效合理的整合,这样使其形成相对完整有条理的业务流程,实现业务流程集成的最终目标。
综上所述,电力企业信息化集成经历了不同的发展阶段,仍然需要结合当前的现状去不断完善。对于电力信息集成的关键技术,如数据层集成技术、服务/消息层集成技术、流程层集成技术,需要把握住技术精髓,合理应用在相应的基础层面,以科学高效的实现不同层面的信息系统集成。