摘要:
随着电力体制的深入改革,在宏观上怎样去引导电力信息化的发展,有大量的工作要做:代码的标准化、管理的规范化、信息化安全等。
从省公司、集团公司到国家电网公司,要做到"开发及推广应用的统一"极其困难,甚至是不可能的,而信息的互通又是必须要做的工作。在业务系统中,上下之间的信息要互通;在专业系统之间、企业与企业之间的信息也要互通。要实现互通,我们一直强调代码统一、数据库统一、应用统一。确实有的专业系统为此经过多年的努力,做了大量工作,取得了很好的成效,然而从宏观上看,却有大量的问题存在。如果我们一直在代码、数据库、应用的统一上去做大量的工作,可能成效甚少,在这里我们能不能换一种思维呢?
一、问题的提出
原国家电力公司在2001年信息工作会议上提出信息化建设"四统一"的原则,即统一领导、统一规划、统一标准和统一组织开发。
统一组织开发,主要是指应用软件平台。首先,公司统一组织研究制定整体框架,各种主要业务管理功能,各种业务的纵向流程、哪一级需要哪些数据,哪一级保留哪些数据,使用哪些数据。再研究各种业务之间横向交换的数据流程,主要交换哪些数据,在哪一级交换哪些数据。这里讲的数据是一种广义的内容,至少包括生产、统计、资金、计划等方面的数据、文件、资料等。这些数据之间的接口、数据格式、数据流向都应重点研究,制定统一的编码、交换标准。据此开发涵盖以上这些业务,建立在统一操作系统平台、统一数据库之上的、可纵横向运行的集成应用软件平台,利用这个平台在省公司构建统一的应用环境。
在国家电网公司系统范围内,如何实现统一组织开发?从纵向看:就是各个应用子系统的统一,从上至下共用一套数据信息,充分体现应用子系统内部的数据共享;从横向看:各个应用子系统之间也存在着数据共享的问题。能综合处理好这2方面统一的问题在国外大型企业中也不多见。因此我们必须从实际出发,针对电力系统应用需求的特点,制定出符合电力系统自身的有特色的统一的软件平台方案。
我们从纵向和横向2个方面认真分析了国家电网公司系统范围内的多个应用子系统的主要功能及使用情况。从纵向看:各个地方的信息化建设水平参差不齐。在很多业务上国家电网公司下发了应用软件,如:计量、安监、财务等,这些应用程序在一定程度上从纵向统一了一些信息的内容格式,但是国家电网公司这些直线向下的应用程序基本上是要求基层单位上报数据(即报表)而开发使用的。它的本质是数据的交换,并不涉及应用真正意义上的业务,是单独的一块。数据需要录入,与基层的一些业务管理程序之间有重复录入数据的矛盾,资源共享体现不够。从横向看:在各个应用子系统之间的数据交换都是通过编写特定的接口程序实现的,这些接口程序相互独立、功能单一,根本无法建立统一的接口标准,同时建立各个应用子系统之间的数据共享缺少统一的基础:首先数据代码不统一,在生产子系统与计划子系统中的单位代码就不*统一;其次相关数据的定义不统一,如有些宇段在生产子系统中定义为DATA型,而在其他子系统中却定义为TIMESTAMP型;还有中间件不统一,有些子系统使用*的3层结构,但是这3层结构的应用服务平台不一致,有的用WebLogic系列而有的用WebSphere系列等。而为了处理好这2方面的问题,建设统一的平台又相当困难,甚至是不可能的。
国家电网公司在"十五"信息化发展目标中提出:将按照现代企业管理系统的理念开展信息标准化工作,制订统一的信息标准规范,统一编码规范,统一数据格式,统一的数据存储、交换、管理方式;统一编制和发布信息化建设标准、技术标准和指导性原则,规范电力信息化工作。经过分析我们认为实现"统一组织开发"就是要统一信息交换(数据交换),制定出统一的交换标准。因此,如何在国家电网公司系统范围内建立起统一的信息交换己经成为当务之急。
随着现代科技的日新月异,IT技术的不断更新、层出不穷,以及互联网技术的不断发展,不断地给我们启示,其中zui振奋人心的是XML技术的出现,它的出现为我们的统一信息交换提供了新思路和技术上的保障。
二、XML技术的介绍
XML(ExtensibleMarkupLan-guage可扩展的标记语言)是从SGML继承而来的,XML是SGML的一个子集。XML是一种界定文本数据的简便而标准的方法。XML的标记用来说明你所描述的概念,而属性则用来控制它们的结构。XML的标记(元素)和属性都可以由用户自己来定义,可以被定义地非常简单直观,可以使用中文来定义您想要的标记与属性,让其他人一看就明白是什么意思。XML的数据描述机制意味着它将成为互联网上共享信息的*途径,因为XML是开放的,它可以在不同的用户和程序之间交换数据,而不论其平台如何;XML的自描述特性使其对于B2B和企业内部网解决方案来说是一种有效的选择;无需事先协调(容易读懂),我们就可以在程序之间共享数据。
在使用XML技术的时候,DTD(DocumentTypeDefinition)文本类型定义是一个*的部分。DTD是一个简单的文本文件,它可以是一个独立的文件,也可以内嵌在XML文件中。在DTD中可以定义XML的元素用来描述一些实体,定义一些属性来描述实体的一些具体特点。DTD文件是可以用来对XML文件进行语法检查的,同时根据DTD文件可以构造相关的XML文件。目前在IT业界,XML的应用非常广泛,如VoiceXML:它为语音技术定义了一整套完整的描述规范,而VoiceXML本身就是一个DTD文件。类似的还有WML(无线标记语言)、CML(化学标记语言)等。
我们在使用XML的时候会碰到显示的问题,例如将XML文件输出到测览器中。如何使XML文件在浏览器中的显示优美直观?我们首先的反应就是用HTML语言来把XML文件中的内容描述出来,也就是要实现XML与HTML之间的翻译。为此在XML的家族中出现了XSL(ExtensibleStylesheetLanguage)可扩展样式语言。使用XSL可以方便地实现:从一种XML术语转换成另一种,就象翻译一样;对XML文档进行重组、过滤、部分排序;向另一种解释语言转换。
在一篇讨论影响未来生活的技术的文章中,XML技术位列第二。可见XML是一项具有巨大生命力的、有广泛而深远影响的技术。在目前的互联网上,XML的技术应用已经相当广泛,尤其是在网上的商店、图书馆等地方。例如:有人想在网上商店中购买一双鞋,首先他要登陆该,然后选择想要的鞋的款式,zui后根据鞋的尺码、颜色等信息查询有没有想要的鞋。在这个的业务处理中可以充分使用XML技术,使数据得到充分的共享,如图1。
客户通过浏览器发出请求,在WEBServer上的服务程序接受到请求后把它处理成XML的表单,发送到DBServerl进行查询,若查到则结束查询,将结果以XML的形式返回给WEBServer的服务程序,经过处理(可直接通过XSL进行转换变成较为美观的HTML文件)后再返回给客户,若查不到则到DBServer2上进行查询,……直到搜索完所有数据服务器(这里的数据服务器是在不同地方的)。这里采用XML技术的好处是,中间层开发不必考虑后台数据库的平台,对于返回的XML形式的数据由于格式统一因此处理方便,便于移植;对于分布在不同地域的数据库服务器端,则不必考虑发请求方的技术细节和zui终返回数据的形式,仅仅需要知道事先约定好的XML的格式或是一个约定好的DTD文档,使应用相对独立便于使用不同的开发工具进行开发完戊。
三、规范化的数据交换
正是由于上述XML技术的特点,我们认为国家电网公司实现统一信息交换的*方式是:通过使用XML技术,规范交换信息数据的格式,同时制定出相应的一些标准。那如何把XML技术使用到信息交换中去呢?由于国家电网公司系统范围内各地区的信息化建设很不平衡、参差不齐,因此针对各种情况我们设计以下几套方案。
3.1同步方式
实现数据在网络中的同步传输。这种方式主要用于在国家电网公司范围内,网络质量较高的环境下,可以随时恨据XML形式的数据请求,得到XML形式的数据响应,以完成相应的操作,如图2。
对于单个数据信息的查询:在定义好相关的数据格式即DTD文档后,我们只需将查询条件形成符合数据交换标准的XML流,发送到相应的基层服务器上,由基层服务器上的服务程序处理这个XML流,然后进行查询,并将获得的结果生成符合数据交换标准的XML流,发送到请求端,zui后由请求的程序处理这个返回的XML流,并结合XSL文件将zui终的结果返回给用户。
对于汇总信息的查询:根据定义好的相关数据格式即DTD文档,我们将请求发送到中间服务器上,由中间服务器上的服务接收并处理成XML流,对若干个基层公司的数据进行轮询,而基层公司的相应处理程序将查询结果以约定好的XML格式返回XML流,中间服务器上的服务对接收到的XML流进行合并形成一个完整的XML流,发送给特定的处理程序,zui终得到汇总信息。
对于整个国电系统内部同层次之间的相互沟通(跨专业的数据共享):对需要共享的数据进行分析,制定共享的格式即DTD文档,在子系统A使用子系统B的数据时,B事先定义好对象及相关的方法和属性,A只需调用B的相关对象方法和属性,就能得到包含数据的XML流,A对得到的XML数据流进行解析就得到了数据。
对于2个同级单位之间的数据交换:在定义好数据交换的标准即DTD文档后,各单位只要对相关的数据设定好不同的共享级别,就可以保护本单位的私有信息,在单位A访问单位B的数据时,B的相关处理程序返回给A一个XML的文档,在这个XML的文档中,一些私有数据会根据A的访问级别确定是否标记为空,这样可以方便地保护自己的数据。
3.2异步方式
实现数据在网络中的异步传输。这种方式主要用于在国家电网公司范围内,网络质量较差的环境下,可以事先将需要共享的数据以XML形式,通过SMTP、SOAP、FTP等方式上传到的服务器上,需要这些数据的地方通过相应的处理程序直接到本地的服务器上去读取XML文档,处理后显示结果,从而达到异步获得数据。与同步方式相比数据不是以流的形式传递而是以文件的方式传递。对于单个数据信息的查询、汇总信息的查询、整个国电系统内部同层次之间的相互沟通(跨专业的数据共享)、2个同级单位之间的数据交换这四种形式,与同步方式相比不需要远程访问,只要本地处理就可以了。
在上述2种数据传送方式中,XML数据都可以用各种加密方式进行加密并传输,这也正是XML技术安全可靠的体现。
综上所述,建立基于XML技术的数据交换体系和制定基于XML技术的数据交换标惟,对今后国家电网系统范围内的信息化建设走上一个新台阶将起到不可估量的作用。在使用统一的数据交换标准后,作为国家电网系统的领导管理机构,国家电网公司在今后的各种信息共享和获取基层各种信息时,不必再考虑基层单位的信息平台、生产厂商及数据库等问题,摆脱了大量无标准可施的困境;同时摆脱了无处下手的局面,它为我们提供了一个非常好的切入点,并且具有很强的可操作性。由于XML技术具有令人振奋的优点,使数据的交换实现实时统一并且安全保密。同时在使用XML技术的基础上,代码体系的实施就变得可用可不用。
四、建议
在国家电网公司系统范围内,实施基于XML技术的统一数据交换的过程中,国家电网公司要站在zui高处,领导、组织、协调各个专业部门与基层单位,制定出一个统一的、明确的数据交换体系并形成相应的标准;负责协调、监督原各个应用子系统中的各种数据交换方式的修改,使之符合制定出的数据交换标准。而基层单位在国家电网公司的领导下,积极配合、组织制定各种数据交换的标准,并在此基础上修改原各个应用子系统中的各种数据交换方式,使之符合制定出的数据交换标准。在这个过程中,首先要确定一个交换体系,按轻重缓急来逐步实现一个一个的交换标准,从粗到细、从宏观到微观、从单项到综合、从简单查询到综合分析。具体分以下几步实施:
*,制定标准的标准,即制定出编制信息交换(数据交换)标准的一些规范,在规范的基础上再编制各种信息交换(数据交换)的标准;
第二,组织实施,选择几个典型的应用子系统,编写出信息数据交换的DTD文档,再选择几个典型的基层单位和国家电网公司进行试点,通过编程实现信息数据交换;
第三,在第二步成功的基础上在国家电网公司系统范围内进行信息数据交换的全面分析,制定出一整套信息数据交换的标准,即DTD文档;
第四,在国家电网公司系统范围内全面推广信息数据交换的标准。
在制定好信息数据交换的标准并且发布推广后,要对原有的程序进行升级,在信息数据交换的两端分别进行程序的开发,对于新开发的应用子系统软件中的信息数据交换要以此为标准。