论文部分内容阅读
摘要:电力市场运营系统是为了适应我国电力市场化改革的需要,部署在电力调度(交易)中心的一套自动化系统,本文介绍该系统的信息发布与数据申报子系统的设计开发与运用到的关键技术。
关键词:J2EE;JSP;Ajax;Struts;Oracle
中图分类号:TP309.05文献标识码:A文章编号:1009-3044(2008)12-20ppp-0c
Power Market Operation System Based on J2EE: Design adn Implementation of Data Process Subsystem adn Information Publieshing Subsystem
XU Bu-yun
(College of Software Engineering, Southeast University, Nanjing 210096,China)
Abstract:Power Market Operation System is an automatic system deploying at state grid. It meet the demand of the Chinese power market. This paper describes the design and implementation of data process subsystem and information publishing subsystem and the relative key technologies.
Key words:J2EE;JSP;Ajax;Struts;Oracle
1 引言
电力市场运营系统是为了适应我国电力市场化改革的需要,部署在电力调度(交易)中心的一套自动化系统,实现电力市场运营规则所要求的有关电力交易的各项业务,为电力市场中的报价、交易、结算、信息发布等提供技术支持。根据国家电力体制改革目标和国家电网公司的电力发展规划要求,适合国情的统一开放电力市场体系建设已经到来。三级电力市场交易应用平台研究成果将对我国三级电力市场的交易运营、仿真培训、分析评估与辅助决策等电力市场应用建设具有十分重要的理论价值和指导作用。开发的原型系统将可直接应用到包括国家、区域和省等各级电力交易中心,用于电力市场交易运营,并创造巨大的经济效益和社会效益。系统在设计上具有先进性、使用性、开放性等优点先进性。
因此,本项目的研究和开发成果具有非常广阔的应用前景。
2 系统设计
2.1 系统结构
本课题所属的功能模块(见图1):
4 研究方向及实施方案
4.1 研究方向
对于传统的Web应用模型,大部分界面上的用户动作都会触发一个连接到Web服务器的HTTP请求。服务器完成一些处理,例如接收数据、处理计算、再访问其他的数据库系统,最后返回一个HTML页面到客户端。在服务器处理自己的事情的时候,用户只能等待,用户得动作总是与服务器得“思考时间”同步。
在Ajax模型中,在会话的开始,浏览器加载了一个Ajax引擎:采用JavaScript编写并且通常在一个隐藏的框架中。在用户单击按钮时,使用JavaScript和DHTML立即更新用户界面,并向服务器发送异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新用户界面而不是刷新整个页面。这样Web站点看起来时即时响应的。
所以用户不用再打开一个空白窗口,等待通信。用户登录时,就会从Web服务器下载大量的Javascript代码。这些代码会在整个会话的生命周期发挥作用,它会与用户交互。
本课题是基于J2EE的Web客户端的开发,原有大部分的页面均采取JSP结合Struts框架的Action以及FormBean的开发方式。该方法在系统规模极为庞大的情况下会造成很多重复代码的冗余,配置文件极为庞大,维护困难。因此,本课题基于Ajax技术提出一种改良的数据查询及提交方式来开发JSP页面,尽量少使用JavaScript代码,利用统一的Servlet接收客户端请求,在服务器端处理后将请求结果返回给客户端。
4.2 实施方案
1.查询方式:
(1)确定的数据查询语句;
var querystr = ’substitutedInit|tradeseqId:100008000000015’;
上面的查询语句以符号“|”为各个查询的详细信息间隔; “substitutedInit”标志该查询所要调用的业务层的函数名;“tradeseqId:100008000000015”为查询数据的过滤条件,相当于标准SQL语句中的where子句;是要传递给业务层的查询参数;
(2)在项目的通用JavaScript文件添加解析数据查询语句的函数,解析数据查询语句并生成相应的查询语句的xml描述信息;
(3)在项目中的通用JavaScript文件中添加Ajax异步请求的函数,发送请求并提交数据查询的xml描述信息,将查询数据的xml描述信息发送到服务器;
(4)服务器端Servlet接受数据查询语句并生成相应的Document对象;
(5)利用Java的反射机制动态处理请求;
(6)将xml格式的查询结果信息返回客户端,解析并将相应的数据填入控件中。
2.数据提交:
(1)确定通用数据操作类中的方法;
通用数据提交操作的类类包含对各种数据提交的方法。以year_trade_bi.jsp页面为例,其中包含数据提交的功能。我们在DataCommit类中添加doYearTrade方法,该方法包含一个参数xmlStr(String类型),参数为数据提交中涉及到的各个字段的xml格式描述信息。该方法返回一个描述数据提交操作的结果信息(数据提交成功或数据提交失败),并在服务器端返回给用户以表明数据提交操作是否成功。doYearTrade方法中具体的数据提交操作由开发者根据业务要求而确定。
(2)页面发送数据提交请求;
(3)发送数据提交的具体数据信息;
(4)服务器端接受数据提交的xml参数描述并确定数据提交调用的方法。
5 结束语
系统经过立项、需求分析、系统设计、系统开发、测试以及现场安装,调试并且根据用户需求变化修改程序等一系列过程后,立时一年多时间,已经初步建立了一个全国15个网省公司普遍需要的标准版本,目前该系统在湖北、山西、浙江等多个省已经投入运行。系统具有先进性、使用性、开放性等优点先进性。
参考文献:
[1] Ted Husted, Cedric Dumoulin,George Franciscus.Struts in Action[M].Manning Publications November 2002.
[2] 杨争林,沈利华,胡俊.电力市场技术支持系统主站的三层体系方案[J]电力系统自动化,2004(02).
[3] Flanagan.JavaScript权威指南 [M].机械工业出版社,2003.
收稿日期:2008-03-27
作者简介:徐步云(1983-),男,江苏苏州人,硕士研究生,研究方向:软件工程。
关键词:J2EE;JSP;Ajax;Struts;Oracle
中图分类号:TP309.05文献标识码:A文章编号:1009-3044(2008)12-20ppp-0c
Power Market Operation System Based on J2EE: Design adn Implementation of Data Process Subsystem adn Information Publieshing Subsystem
XU Bu-yun
(College of Software Engineering, Southeast University, Nanjing 210096,China)
Abstract:Power Market Operation System is an automatic system deploying at state grid. It meet the demand of the Chinese power market. This paper describes the design and implementation of data process subsystem and information publishing subsystem and the relative key technologies.
Key words:J2EE;JSP;Ajax;Struts;Oracle
1 引言
电力市场运营系统是为了适应我国电力市场化改革的需要,部署在电力调度(交易)中心的一套自动化系统,实现电力市场运营规则所要求的有关电力交易的各项业务,为电力市场中的报价、交易、结算、信息发布等提供技术支持。根据国家电力体制改革目标和国家电网公司的电力发展规划要求,适合国情的统一开放电力市场体系建设已经到来。三级电力市场交易应用平台研究成果将对我国三级电力市场的交易运营、仿真培训、分析评估与辅助决策等电力市场应用建设具有十分重要的理论价值和指导作用。开发的原型系统将可直接应用到包括国家、区域和省等各级电力交易中心,用于电力市场交易运营,并创造巨大的经济效益和社会效益。系统在设计上具有先进性、使用性、开放性等优点先进性。
因此,本项目的研究和开发成果具有非常广阔的应用前景。
2 系统设计
2.1 系统结构
本课题所属的功能模块(见图1):
4 研究方向及实施方案
4.1 研究方向
对于传统的Web应用模型,大部分界面上的用户动作都会触发一个连接到Web服务器的HTTP请求。服务器完成一些处理,例如接收数据、处理计算、再访问其他的数据库系统,最后返回一个HTML页面到客户端。在服务器处理自己的事情的时候,用户只能等待,用户得动作总是与服务器得“思考时间”同步。
在Ajax模型中,在会话的开始,浏览器加载了一个Ajax引擎:采用JavaScript编写并且通常在一个隐藏的框架中。在用户单击按钮时,使用JavaScript和DHTML立即更新用户界面,并向服务器发送异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新用户界面而不是刷新整个页面。这样Web站点看起来时即时响应的。
所以用户不用再打开一个空白窗口,等待通信。用户登录时,就会从Web服务器下载大量的Javascript代码。这些代码会在整个会话的生命周期发挥作用,它会与用户交互。
本课题是基于J2EE的Web客户端的开发,原有大部分的页面均采取JSP结合Struts框架的Action以及FormBean的开发方式。该方法在系统规模极为庞大的情况下会造成很多重复代码的冗余,配置文件极为庞大,维护困难。因此,本课题基于Ajax技术提出一种改良的数据查询及提交方式来开发JSP页面,尽量少使用JavaScript代码,利用统一的Servlet接收客户端请求,在服务器端处理后将请求结果返回给客户端。
4.2 实施方案
1.查询方式:
(1)确定的数据查询语句;
var querystr = ’substitutedInit|tradeseqId:100008000000015’;
上面的查询语句以符号“|”为各个查询的详细信息间隔; “substitutedInit”标志该查询所要调用的业务层的函数名;“tradeseqId:100008000000015”为查询数据的过滤条件,相当于标准SQL语句中的where子句;是要传递给业务层的查询参数;
(2)在项目的通用JavaScript文件添加解析数据查询语句的函数,解析数据查询语句并生成相应的查询语句的xml描述信息;
(3)在项目中的通用JavaScript文件中添加Ajax异步请求的函数,发送请求并提交数据查询的xml描述信息,将查询数据的xml描述信息发送到服务器;
(4)服务器端Servlet接受数据查询语句并生成相应的Document对象;
(5)利用Java的反射机制动态处理请求;
(6)将xml格式的查询结果信息返回客户端,解析并将相应的数据填入控件中。
2.数据提交:
(1)确定通用数据操作类中的方法;
通用数据提交操作的类类包含对各种数据提交的方法。以year_trade_bi.jsp页面为例,其中包含数据提交的功能。我们在DataCommit类中添加doYearTrade方法,该方法包含一个参数xmlStr(String类型),参数为数据提交中涉及到的各个字段的xml格式描述信息。该方法返回一个描述数据提交操作的结果信息(数据提交成功或数据提交失败),并在服务器端返回给用户以表明数据提交操作是否成功。doYearTrade方法中具体的数据提交操作由开发者根据业务要求而确定。
(2)页面发送数据提交请求;
(3)发送数据提交的具体数据信息;
(4)服务器端接受数据提交的xml参数描述并确定数据提交调用的方法。
5 结束语
系统经过立项、需求分析、系统设计、系统开发、测试以及现场安装,调试并且根据用户需求变化修改程序等一系列过程后,立时一年多时间,已经初步建立了一个全国15个网省公司普遍需要的标准版本,目前该系统在湖北、山西、浙江等多个省已经投入运行。系统具有先进性、使用性、开放性等优点先进性。
参考文献:
[1] Ted Husted, Cedric Dumoulin,George Franciscus.Struts in Action[M].Manning Publications November 2002.
[2] 杨争林,沈利华,胡俊.电力市场技术支持系统主站的三层体系方案[J]电力系统自动化,2004(02).
[3] Flanagan.JavaScript权威指南 [M].机械工业出版社,2003.
收稿日期:2008-03-27
作者简介:徐步云(1983-),男,江苏苏州人,硕士研究生,研究方向:软件工程。