国网驻马店供电公司 河南驻马店 463000
摘要:随着用户对于用电安全性和经济性要求越来越高,电力监控系统已经不仅仅局限于SCADA功能。而是以SCADA系统为基础,集合了两票子系统、故障分断FA子系统、设备管理子系统、高级计算子系统等其他高级应用功能的集成系统。阐述了采用SOA的设计思想,采用SCA编程模型,使用Apache Tuscany SCA实现技术,进行电力监控系统内子系统之间的异构集成。结果表明采用SCA可以实现电力监控系统内子系统之间的基于SOA的无缝集成,提高了软件的可重用性、可扩展性。
关键词:面向服务的构架;基于服务的构件架构;电力监控系统
一、前言
早期的电力监控系统,其功能大多局限于SCADA系统功能。随着应用的发展,用户对于输变配电中的安全性、经济性提出了更高的要求,电力监控系统也相应扩充为SCADA子系统、两票子系统、故障分断FA子系统、设备管理子系统、高级计算子系统等。这些应用子系统之间需要交互数据,例如,故障分断FA子系统需要SCADA子系统的实时数据;故障分断FA子系统产生的操作命令,也需要传输给SCADA子系统。而且往往各子系统是分布在不同的机器上,基于不同的操作系统,采用不同的编程语言。因此电力监控系统内部的子系统之间的数据交互问题就较为棘手,既要解决不同操作系统的差异,也要考虑不同编程语言,例如C与Java之间的差异。虽然目前已经有DCOM、CORBA等组建模型,但它们在支持不同操作系统方面,在协议标准性方面,在编程的简单性方面,在支持的编程语言方面都有着或这或那的缺陷。
近来,SOA的提出与实现,给人们解决这些问题提供了新的思路和方法。面向服务的构架SOA是一种架构风格,服务是最核心的核心手段,业务被划分为一系列粗粒度的业务服务和业务流程。其中,服务是指业务流程中的服务。SOA通过UDDI注册和查找服务,通过WSDL描述服务,通过SOAP进行通讯。借助Web服务可以方便、安全、高效地实现企业应用集成。SCA是一种用于构建SOA应用和解决方案的编程模型,是一种很好的SOA解决方案,无论是同构系统还是异构系统,都可以实现基于XML的信息交换,达到信息共享,实现高度的互操作性和可扩充性,尤其对于采用C编程很广泛,有些子系统又是用Java编程的电力监控系统更是如此。
二、SCA编程模型
SCA是一种用于构建SOA应用和解决方案的编程模型,它的基本思想是业务功能总是由一系列的服务组成的,这些服务装配在一起就构成了能满足一定商业需求的应用和解决方案。SCA使得开发者更关注于业务逻辑。
SCA最基本的是组件(component),是系统的构成单元,也是提供服务的基本单元。一个SCA组件由四个部分组成:
(1)服务,表示本组件提供给其他组件使用的功能。
(2)实现,表示提供了特定功能的代码段。
(3)属性,是功能运行需要的数据值。
(4)引用,表示本组件的实现所依赖的其他组件提供的服务。
而构件则描述了一个SCA应用的内容以及不同SCA应用之间的连接,也就是若干组件如何装配成一个完整的解决方案。
所以,SCA具有如下特点:
(1)松耦合。SCA中的服务的定义,实现和使用是分离的。组件和构件以接口的方式提供服务,服务的调用者只看到接口而无须关心里面的实现细节,组件在服务确定的前提下可以采用任意的实现技术,相同的服务可以通过不同的绑定方式供不同客户端调用。这种松耦合结构可以使SCA应用灵活,易于搭建,易于扩展,可适应多变的应用。
(2)异构。SCA支持众多的编程语言,例如Java,C+ +,BPEL,PHP,JavaScript等,可以在不同的操作系统上实现。SCA支持常见的通信和服务访问技术,例如Web服务、消息系统和RPC。
(3)重用。SCA的组件和构件是SCA应用的构建单元,可以通过“搭积木”的方式构成不同的应用,而且原有的非SCA系统也可以通过作为SCA组件实现的方式加入到SCA系统。
可以看出,利用SCA对电力监控系统内的各子系统进行整合,可以充分地利用电力监控系统原有的各种资源,通过合理地规划服务和接口,可以在较少的代价前提下,实现电力监控系统内部的异构子系统之间的数据交互和应用整合。
三、电力监控系统设计
电力监控系统以SCADA子系统为基础,而SCA-DA子系统原来就有一套完整的数据采集、数据处理、数据传输、数据显示的流程,SCADA子系统对性能要求非常严格并且功能要求非常明确。所以,在新一代的电力监控系统中,SCADA子系统被保留,原有的数据流和显示功能不变。着力要解决的是如何利用SCA做到各子系统之间的无缝拼接,异构集成。
在新一代电力监控系统中,各个监控子系统之间需要交互数据,而且用户请求的服务往往不是一个子系统的功能可以实现的。所以,各个子系统之间的交互数据、协同运作就需要每一个子系统都具备提供服务以及从其他子系统获取数据信息的能力。利用SCA构架子系统之间的服务发布和调用是解决这种需求的一种很好的方法。
在系统架构上,将新一代的电力监控系统划分为六个层次;在功能上,把服务划分为实时数据服务、历史数据服务、两票服务、FA服务、设备服务、高级计算服务。如表1为电力监控系统架构表。
应用层:采用良好人机界面的应用程序,Web浏览器。着力于采用丰富的手段显示电力监控系统中的各种数据,例如:表格,曲线,棒图,饼图等。采用良好的界面供用户查询、检索。SCADA子系统应用层保留原有机制,其他应用层可以通过SCA服务接口访问服务。
服务层:基于Apache Tuscany的SCA服务,包括历史数据服务,实时数据服务,两票服务,FA服务,设备服务,高级计算服务等六大类。
构件层:基于Apache Tuscany的SCA构件,各个构件通过组合组件的方式实现了各种各样的独立功能,提供了完整的应用服务。要实现服务功能时,只要选择不同的组件加以组合就可以了。
组件层:基于Apache Tuscany的SCA组件,各个组件实现了各种各样的独立的功能。
数据层:电力监控系统的实时数据和历史数据。
系统层:包括各种数据库管理系统,Apache Tus-cany SCA软件包,各种操作系统。
服务层是设计的核心部分,采用SOA的理念设计和规划服务,使其具有独立性、自描述性、松耦合性、异构性、可组合性、开放性等特点。而组件层是构建服务的基础,充分考虑组件的独立性、可重用性来规划组件,增加组件之间搭配的灵活性。
四、结束语
在充分考虑电力监控系统应用发展的基础上,提出了新一代以SCADA系统为主体,结合多种高级应用子系统的电力监控系统的SOA解决方案。该方案采用SOA的设计思想,采用SCA编程模型,使用A-pache Tuscany SCA实现技术,开拓性地进行了电力监控系统内子系统之间的异构集成的实现。当然,服务质量、传输效率等因素是需要进一步考虑和解决的问题。而SOA下的事务处理的协同性、脆弱性与冗余性也是将来解决事务处理需考虑的因素。
参考文献
[1]钟鹏飞 谭浩.一种运行时可重构的SCA规范兼容扩展方案[J].微计算机信息.2009(03)
[2]刘俊臣 施竣武.SCA核心框架安全服务的研究与实现[J].电脑知识与技术.2009(24)
[3]谢天 张丹松.基于SCA的ERP系统架构研究[J].商业时代.2009(27)
论文作者:齐敬阳
论文发表刊物:《建筑学研究前沿》2017年第19期
论文发表时间:2017/12/18
标签:子系统论文; 监控系统论文; 电力论文; 组件论文; 功能论文; 数据论文; 系统论文; 《建筑学研究前沿》2017年第19期论文;