陈洋
摘要:综合分析送电线路设计中电气、结构和测量等多个专业业务逻辑和功能的特点,采用SOA的组件模型建立和层次划分技术,通过对比基于CAD/GIS的电力勘测设计软件,证明了面向服务的架构方案相对于传统面向对象的架构方案具备更灵活和独立自治的特点,并在项目的开发过程中验证了所提出架构方案的可行性。
关键词:SOA;送电线路;三维协同设计
1引言
架空送电线路设计是由电气、结构、测量、水文、地质和技经等多个专业的設计人员,协作设计出的一条从起点变电站到终点变电站的高压铁塔和导线走向、并从技术和经济上综合最优的路径。送电线路设计三维协同设计系统,是在三维GIS平台上,利用三维影像地图、三维模型和实时动画等模拟真实场景,为所有设计人员提供一个共享的可视化环境,并且为各个专业提供定制化服务,共同设计出最佳运行线路的软件系统。
近年来,送电线路的信息化设计手段已逐渐丰富。例如,基于CAD或GIS的电力勘测设计软件:为电气专业设计人员提供二维CAD或三维GIS视图下的选线或排塔功能;杆塔结构设计软件:辅助结构专业设计人员设计出符合荷载条件、安全的杆塔;工程造价软件:为技术经济专业人员提供估算、概算和预算等经济计算的软件;导地线机械特性计算程序:为电气专业人员进行导地线弧垂及张力的计算程序。这些信息化手段为线路设计提供了不少便利,提高了工作效率。但是市面上相似功能的专业软件种类繁多,并且大部分电力设计院会根据自己的需求定制开发,导致同样功能的软件存在标准不一、接口无法对接等问题,重复耗费了人力、物力。另外各个专业软件比较封闭,需要输入的内容重复率高,比如工程基本资料等通用信息需要各专业重新配置载入系统;而输出内容格式又通常不符合下一专业的期望。在线路设计中许多工作是多个专业设计人员协同设计完成,这些独立的信息化软件不能够进行信息交流和成果共享,更缺乏实时协同设计的功能。
为了提高架空送电线路工程设计的效率和质量,统一成果转化标准,实现接口无缝对接等,国内外学者和机构进行了大量的研究和实践。本文针对其调研结果,深入分析架空输电线路的设计流程以及各专业的设计工作,提出了一种基于SOA服务、WebService接口协议,面向GIS三维可视化的架空送电线路协同设计平台的架构方案。
2 SOA与WebService
面向服务架构(Service-OrientedArchitecture,SOA)是一种系统设计方法,包括组件模型建立和层次架构搭建两部分。建立组件模型是指将业务功能分解成更小的功能单元,然后通过聚合技术,将相似的单元组合为大的功能模块,称之为组件,组件之间定义了良好的接口和契约进行外部交互。其中,组件接口也称之为服务,其独立于硬件平台、编程语言和操作系统。
建立好组件模式之后,SOA会通过搭建层次架构对组件和服务进行有效管理和调用。层次架构从上到下分为5层,即表现层、业务处理层、服务层、组件层和数据层。表现层是系统与用户的交互界面,用户请求通过该层传入下一层;业务处理层建立系统的业务模型,使用计算机语言对业务逻辑进行完整描述;服务层是SOA的核心层,起承上启下作用,其屏蔽了组件层的细节,向业务处理层提供接口服务;组件层是平台相关的,实现了具体的功能操作;数据层是基础数据及信息集成层。
SOA架构强调的是组件间和层间的松散耦合,以及独立的接口服务。WebService是目前最适合实现SOA架构的技术。WebService利用标准化的XML消息传输机制,该技术隐藏了服务实现的细节,允许通过独立与服务实现、独立于软硬件平台及独立于编写服务所用的编程语言的方式使用该服务。
WebService具有独立的功能实体、大数据量低频率访问和基于文本的消息传递3个特点。1)独立的功能实体。动态改变一个服务的提供方时无须影响客户端的应用程序配置。这是由简单对象访问协议SOAP、Web服务描述语言WSDL和通用描述-发现-集成UDDI实现的。体现了WebService面向组件、松散耦合的特点。2)大数据量低频率访问。通过使用WSDL和基于文本的SOAP请求,实现能一次性接收大量数据的接口。使得WebService能向上提供大量接口。3)基于文本的消息传递。WebService的核心技术SOAP、UDDI和WSDL均以XML形式表达,WebService的一切都是建立在XML技术之上,这保证了使用WebService体系结构的平台无关性、语言无关性和人机交互性能。WebServices的这种松散耦合、面向组件和跨技术平台的特点,使其能很好地满足SOA的需求[1]。
3基于SOA的送电线路三维协同设计系统架构设计
根据SOA的设计思路,可以将架空送电线路设计过程拆分成功能明确的组件集。例如,电气、结构和测量等所有专业都有基础数据需要管理,只是数据类型不同;例如,电气专业的导线、金具串等数据,结构专业的杆塔、基础(承重构件)等数据,其数据的管理方法是相同的(增加新数据、删除一条或多条数据、修改旧数据等,经分解再组合之后形成数据处理组件,对外部组件提供的就是数据处理的接口服务)。同样电气、结构及测量等专业都会使用CAD操作方法,组合后便得到CAD操作集组件,对外提供CAD操作的接口服务。最终获得本文的层次架构,如图3.1所示[2]。
从图3.1中可以看出,SOA将数据和操作分开,系统中所有数据存放于数据层中,操作全部封装于组件层中。这样做的好处是便于数据的分类管理,也保证软件代码的复用,提高了软件开发的效率。传统的架空送电线路设计工作是以设计人员面对面交流为主导的协同模式,使用各专业之间信息不互通的软件完成的。这些软件之间都是独立的信息孤岛,不存在架构上的设计工作。图3.1与传统的线路设计工作比较而言,很明显地体现出了协同设计上的优势,并且便于维护和扩展。
4核心服务的划分及技术实现
对架空送电线路设计过程中服务的划分严格遵循SOA高内聚低耦合的特性,即功能都是内部相关,与外部服务基本无耦合关联。各个服务的变化对其他服务产生最小的影响。服务粒度。粒度过大,系统的复杂性比较低,性能较高但灵活性减弱,服务的复用性不高;粒度过小,虽然服务复用性好,可以方便地编排装配新的业务流程,但编排更复杂。综合高内聚低耦合和服务粒度粗细原则,本系统根据业务将送电线路划分为17个服务(见图3.1)。主要介绍4个核心服务:GIS操作集服务、设计计算服务、同端多模块同步服务和自动建模服务。
4.1 GIS操作集服务
本平台三维可视化环境是基于GIS环境的,因此向设计人员提供GIS二维和三维操作集服务。对设计人员提供的GIS操作集服务,任何使用GIS环境进行线路可视化设计的设计人员都会调用到该服务。Common2DTool提供二维GIS地图展示服务,包含对二维GIS环境下的地图、模型等进行放大、缩小、漫游、点选和距离量算等操作;Common3DTool提供三维GIS地图多视角展示服务,包括点位量算、高度量算、面积量算、空间分析、点选和空间漫游等操作;Edit2DTool提供二维GIS地图编辑服务,包括接受编辑、停止编辑、添加(删除/编辑/保存)图层、添加(删除/编辑/保存)点线面对象、管理二维避让区和管理二维交跨物等功能;Edit3DTool提供三維GIS地图编辑服务,包括添加(删除/编辑/保存)三维模型、添加(删除/编辑/保存)图层、管理三维避让区和管理三维交跨物等功能;SystemCoordManager提供坐标系统管理服务,包括新建(删除)二维/三维坐标系统、新建三维椭球体和管理投影类型等功能。
4.2设计计算服务
设计计算服务顾名思义是为设计人员提供计算服务的。CalculationSingleton为上层设计人员提供设计计算服务,使用GetInstance创建设计计算的对象,然后调用相应的设计计算函数,例如电气设计人员调用计算服务中的风偏角计算函数,结构设计人员调用计算服务中的杆塔荷载计算函数,在这里使用了面向对象的多态,即根据前端设计人员输入的计算参数的不同智能判断后台执行的计算函数;CalResult提供输出设计计算结果服务,在这里使用WebService标准化的XML传输机制,将计算结果均序列化为数据流形式,因此消除了不同设计计算结果输出内容及格式的差异,在前端根据响应位置的不同智能反序列化为设计人员需要的计算结果。
4.3同端多模块同步服务
同端多模块同步服务主要指二维GIS与三维GIS同步、二维GIS与二维CAD同步及三维GIS与二维CAD同步,设计人员可以同时在同步窗口中进行线路设计。SyncModules便是提供同端多模块同步服务的接口,包括建立同步连接,同步添加、同步删除、同步编辑和同步刷新等功能。
4.4自动建模服务
三维GIS操作环境下,会有杆塔、金具和地物等模型,自动建模服务为用户提供参数化自动建模服务。ModelAnalyze即为设计人员提供自动建立杆塔、金具等模型的服务接口。
5架构方案分析
取架空送电线路设计软件中典型的子系统,以电气专业使用的基于CAD或GIS电力勘测软件为例,解释所采用的基于SOA与WebService架构方案为送电线路的协同设计和资源共享提供了一种新思路。对比这些传统的送电线路子系统,基于SOA构建的软件架构还拥有易扩展和松散耦合的优势,WebService技术又为前端设计人员封装了后台操作的复杂性,并为设计人员提供了清晰的服务接口。虽然基于CAD或GIS电力勘测软件本身是供电气专业人员使用的,但是要在其上增加结构专业或其他专业的功能则十分困难,传统的面向对象设计方法使电力勘测软件成为一个信息孤岛,各构件间紧密耦合。而SOA架构将各个通用模块划分成独立的服务,前端需要何种服务便调用相应的接口。例如,电气专业的三维路径选择功能会调用GIS操作集服务中的三维操作接口、设计计算服务的电气计算接口以及数据处理服务的数据处理接口。如果需要增加新功能,只需要调用通过WebService技术封装的SOA服务接口便可以扩展出新的逻辑单元和功能模块。同样,若要维护旧功能模块,只需要重新更新服务的逻辑便可实现。
6结语
与传统的软件系统结构相比,基于SOA的架空送电线路协同设计平台在电气、结构、测量、水文、地质和技经等多个专业的基础上建立协作,综合多专业的业务逻辑和功能,将其分解组合成为更小的逻辑和单元模块,并通过聚合技术,构建具备独立功能的业务逻辑单元,使得服务间相互松散耦合。基于SOA和WebService技术,在现有软件产品的基础上,设计出了面向服务的送电线路协同设计平台软件体系架构,该体系架构分为展现层、业务处理层、服务层、组件层和数据层,其中业务逻辑层分为7个逻辑单元,组件层包含17个独立的服务单元,各个服务间符合高内聚、低耦合的特点。基于SOA的软件架构便于旧功能的维护和新功能的扩展。并且,在随后的架空送电线路协同设计平台的应用过程中,充分证明了本架构在技术上的可行性和应用上的高效率。下一步工作将致力于对各个专业功能的完善和补充。
参考文献
[1] 熊晓光. 输电线路三维数字化设计平台建设与应用研究[J]. 电力勘测设计,2013(3):66-70.
[2] 高妙仙,胡天硕. 输电线路设计智能一体化系统设计[J]. 科技经济导刊,2017(12):26-27.
(作者单位:中国能源建设集团甘肃省电力设计院有限公司)