APP下载

电力行业快速开发平台的设计及实现

2020-09-02申蕾张晓慧张才俊李杰王宏岩

微型电脑应用 2020年8期
关键词:子系统电力行业组件

申蕾 张晓慧 张才俊 李杰 王宏岩

摘要:

在信息化改革趋势下,针对传统C/S架构构建的电力企业应用的开发维护以及扩容互通困难的问题,提出运用成熟的J2EE快速开发平台进行电力行业综合信息平台快速开发的整体设计方案。该方案基于J2EE的B/S三层体系结构,通过对组件、事务服务技术的研究及API的应用实现了平台的构建,并针对异构数据的迁移解决传统企业应用的“信息孤岛”问题,能够满足安全、稳定、可靠及高性能的要求。

关键词:

J2EE; 快速开发平台; B/S; 电力行业

中图分类号: TP 399

文献标志码: A

Design and Implementation of Rapid Application Development

Platform in Electric Power Industry

SHEN Lei1, ZHANG Xiaohui1, ZHANG Caijun1, LI Jie2, WANG Hongyan2

(1.State Grid Customer Service Center, Tianjin 300309, China; 2.Beijing ChinaPower Information

Technology Co. Ltd., State Grid Informtion & Telecommunication Group, Beijing 100085, China)

Abstract:

With the informatization trend, this paper proposes a comprehensive design scheme for the rapid development of the integrated information platform for the electric power industry using the mature J2EE rapid development platform. The solution is based on the J2EE B/S threetier architecture, implements the platform construction through the research of components, transaction service technology and API application. It solves the problem of “information island” of traditional enterprise applications for the migration of heterogeneous data and meets the requirements of safety, stability, reliability and high performance.

Key words:J2EE; rapid application development platform; B/S; electric power industry

0引言

随着通信技术和计算机网络的成熟发展,各行各业都掀起了信息化建设的浪潮。在电力行业,经过数十年的电力信息化改革[1],我国电力企业已建立了一套相对完整、规模相当的信息系统,主要涵盖了电力生产管理、市场营销、企业管理、用户服务等功能,并带来了积极的社会和经济效应。然而在全球化的市场发展中,信息的互联互通、横向传递等需求对电力企业现有的信息系统提出了新的挑战[2],越发成为企业发展道路上的绊脚石。究其原因是因为目前电力企业的信息系统由于历史发展的原因主要采用传统的C/S(Client/Server)的应用模式[36],这种应用模式总体而言主要存在以下弊端[78]。

(1)开发维护困难:业务发生变动或者数据协议发生变化,需对客户端甚至整个系统进行更新,牵一发而动全身,造成开发成本的浪费。

(2)缺乏開放性、通用性和跨平台性:C/S架构的应用标准往往是专有的,因此各应用之间的信息共享难以实现,同时传统的C/S架构的客户端软件需根据不同终端系统来开发不同软件,跨平台性差。

(3)安全性差:在 C/S系统中,客户端程序直接与数据库服务器进行连接,系统数据的安全性缺乏保障。

(4)并发处理和扩容能力有限:面临广域网集中大并发访问情形,C/S模式的处理性能有限,且发生故障时难以进行性能扩展,导致系统稳定性难以保障。

因此,从安全、维护、集成、性能等角度出发,传统模式由于技术和结构等原因的限制,给后期的维护和新功能的开发造成困扰,已无法适应电力行业“快速开发、开放互联、高效集成”的信息化发展需求,需对应用集成、跨平台共享、轻量WEB客户端技术等投入关注,而J2EE(Java 2 Platform Enterprise Edition)是目前公认的企业级信息系统[910]的架构体系,适用于快速开发和创建服务器应用程序与应用,并打通了各子系统之间的壁垒,使得信息的流通和传递更加便捷,能够很好地兼顾开放性、安全性和可扩展性等诸多优点,成为现在诸多软件开发和企业客户的选择。

本文借助基于成熟的J2EE快速开发平台[11]并将其应用于电力行业,研究了通过中间件技术尤其是EJB(Enterprise JavaBean)技术,结合B/S(Browser/Server)多层模式架构实现电力企业综合信息应用的快速开发和构建,并通过实现电力企业不同职能部门间的异构数据进行共享,解决大型企业中常见的“信息孤岛”难题。

1电力行业综合信息平台建设的总体架构与分析

1.1平台总体架构

电力行业信息化的总体需求是,首先通过综合自动化的平台建设,从平台的内、外部而言,分别实现平台的各项主要应用服务间、各部门业务应用系统间,应当做到数据的统一,从而实现不同部门间信息的联通;其次,通过统一化信息数据模型及中心数据库实现数据在整个信息系统内的动态性和一致性。本文从电力行业角度出发,所研究的电力企业综合信息平台的总体架构,如图1所示。

主要包括办公自动化子系统、电力营销自动化子系统、生产自动化子系统以及网络门户与平台安全子系统。综合信息平台的主要功能实现各子系统间数据的存储、整合及二次处理,规范化工作流引擎。

1.2平台需求分析

技术层面上,系统总体基于J2EE快速开发结构设计并采用B/S架构,实现各子功能的模块化设计和参数化设置,并支持组件的选调和动态加载。同时应具备较高的扩展和容错能力,对于客户端使用基于WEB浏览器的方式进行与服务器的访问及管理。

在运行性能方面,整个基于B/S体系架构的综合信息系统能够实现全天候7*24小时无间断工作,整体无故障率>99.9%,在网络条件不出现瓶颈的条件下,普通操作的局域网响应时间<2秒,广域网应<5秒,网站的WEB静态页面最大可接入超过600用户的并发访问操作以及2000用户同时在线,业务处理功能最大用户接入量为400。在系统正常运行的情况下,系统服务器的CPU平均使用率应小于25%。

2J2EE快速开发平台在电力行业中的应用

2.1J2EE组件与服务技术

J2EE组件技术的主要作用是构建用户接口并建立业务逻辑,这样就能够有效保证模块设计的精确性,进而被较多的企业所应用,因此不必针对不同的应用进行功能的逐一开发,从而提高了整个系统的开发效率,是实现快速开发的重要概念。而服务技术通过提供事务服务或数据存储服务,使应用组件更高效地发挥功能。

2.1.1J2EE组件技术

(1)Web 组件

B/S架构主要是基于浏览器模式,所以采用的是web组件生成的UI,并响应给用户。J2EE平台包Web组件由Servlet和JSP构成。

(2)EJB(Enterprise Java Beans)组件模型

EJB是一种部署于服务器端的分布式组件模型,用来开发安全可靠、扩展性强、可重用的多用户事务处理组件单元。具体组件结构,如图2所示。

EJB为于EJB容器中,每一个EJB都是通过本地与相应的接口进行调用的,这样就弱化了位置关系。EJB组件可以分为以下3种,分别是实体Bean、会话Bean以及消息驱动Bean。

2.1.2服务技术

服务技术主要包括事务服务于数据存储服务:

(1)事务服务(Java Transaction Service,JTS)主要用于保障分布式的环境中组件间、数据库间等事务处理的完整性和一致性。

(2)数据存取服务指的是J2EE规范中提供的一种接口,这种接口能够应用系统所需要的存取接口,保证业务与数据之间能够建立联系,并能够实现不同企业共同访问数据库。在本文的电力企业应用构建中,EJB组件通过DB2数据库的JDBC驱动(jdbc:db2://)来对后端数据库进行操作和访问。

2.2J2EE三层B/S体系结构

为了实现电力行业的应用和功能快速开发需求,系统采用了目前J2EE的三层B/S架构。即通过引入中间件技术,将以往传统的C/S复杂逻辑进行解耦,同时提供可扩展伸缩、易访问和管理的解决方案,可实现分布式部署多种应用于不同服务器,分布式应用借此技术可实现负载均衡和集群服务,从而提升应用的高可靠性和高资源利用率。中间件独立于用户机和服务器的操作系统之上,可实现跨网络和计算资源的统一管理,支持标准协议和接口,保障互操作性。本文所设计的电力行业的综合信息管理平台基于J2EE经典的三层结构[12],即表示层、业务逻辑层和数据层,如图3所示。

(1)表示层

网页客户端与Web组建构成了表示层,表示层的功能即通过可视化的HTML页面形式将后端数据和事务的操作邏辑进行呈现,并实现与用户的交互。

(2)业务逻辑层

业务逻辑层主要由EJB组件构成。每个EJB都负责承担一部分的应用事务处理逻辑。本文中提出的电力行业应用所涉及的业务逻辑实现均于EJB中完成。JTS服务技术也将在此体现对EJB组件的支持。

(3)数据层

JDBC能够为J2EE平台提高数据库连接方案,保证J2EE平台能够对数据库进行增删改查,为用户提供所需要的服务。因此,在开发应用程序时只需按照JDBC规范编写并安装与相应的数据库驱动便可支持任意数据库的连接。

2.3应用程序前后端技术工作流程

首先用户通过浏览器的客户端对系统进行操作,通过web能够发送相应的请求,然后呢通过JSP/Servlet能够接受请求,然后在进行处理,并与会话Bean的业务接口交互。

对于数据实体的操作,实体Bean响应对接会话Bean,通过接口能够返回相应的数据实体,最后将数据返回给前端回话Bean作进一步的业务处理。后端则通过JDBC对接书库句,完成与后台数据库接口,完成数据的存取。整个系统的内部工作流程,如图4所示。

3异构数据迁移

由异构数据[13]引起的信息孤岛是目前在多数企业中经常会遇到的问题,常见的数据库有微软SQL数据库、Sybase数据库、DB2等,不同的子系统中使用不尽相同。为了能够保证各个子系统都能够顺利接入综合平台,这是选用的数据库是DB2,因此需将其他子系统数据库中的信息自动化地复制到DB2数据库中。

本文给出对解决方案是通过微软提出的标准化应用程序接口ODBC(Open Database Connectivity,开放数据库连接)[14]使用结构化查询语句 SQL [15]作为数据标准访问语言,ODBC提供了一套针对数据库访问的标准 API,从而屏蔽了数据库系统间的不同。

在ODBC中,ODBC API通过DM(Driver Manager,驱动程序管理器)与数据库进行交流。DM将API的调用转达给适配的驱动程序,经过处理后将操作結果经DM反馈给应用程序,其结构关系,如图5所示。

4综合平台的性能测试

根据本文给出的电力行业综合平台的方案,选用2台HP Server RP5470作为中间层以及数据库储存的服务器硬件平台,使用Sun Storage 7110磁盘阵列进行数据的存储。服务器采用HP UNIX双活解决方案进行热备。基于如上硬件配置环境,进行综合平台的静态和动态压力测试。

4.1静态性能压力测试

静态压力测试中设定的压力策略为每5秒增加5名虚拟用户,每个用户连续访问多个电力行业综合平台的网页模块,直到

1 000名虚拟用户同时在线为止。经多次测试,综合平台系统的静态性能,如表1所示。

通过表1可知,在1 000用户同时在线的情况下,综合平台系统能够实现亚秒级相应,满足系统的设计要求,CPU的负载情况来看,两台服务器的负载分担合理,功能实现正常。

4.2动态性能压力测试

动态压力测试中在静态访问的基础上加入查询操作指令,调用后端数据库进行整个系统的压力测试。多次测试的动态性能及平均响应时间,如表2所示。

由图可见1 000用户同时在线时,综合平台系统的平均响应能够实现在秒级。另外,通过CPU的log记录可知用户数的增加对整个系统的平均响应时间影响较小,没有发生由于用户数的增加而产生积聚效应导致整个系统响应能力降低的情况。

5总结

本文针对J2EE快速开发平台进行了分析和探讨,通过组件和服务技术以及B/S三层架构的研究,针对电力行业中综合信息平台的构建进行了设计和实现,并得出如下结论:

(1)传统的C/S架构的应用开发与维护困难且不经济,基于B/S架构开发的应用具有更高的安全性,更好的开放性、通用性和跨平台性,并且具有更强的扩容能力。

(2)借助J2EE快速开发平台,能够真实有效地为企业在生产环境中部署应用,业务逻辑清晰,实现敏捷开发,解决了传统应用架构下各子系统间信息无法交互的“信息孤岛”问题。

(3)通过在硬件平台上部署,实际验证了在高并发状态下,基于J2EE快速开发平台的电力行业综合信息平台能够很好地实现双机热备,负载均衡并运行稳定。

综上所述,J2EE快速开发平台适合为电力行业提供企业级的应用输出,能够满足安全、稳定、可靠及高性能的要求,同时也可作为其他行业快速开发构建企业级应用的框架平台。

参考文献

[1]税正威.基于docker的Java Web快速开发部署平台的设计与实现[D]. 北京:北京邮电大学, 2018.

[2]王波.新形势下网络技术在电力信息通信中的应用[J].通信电源技术,2018,35(7):162163.

[3]宿杉.C/S模式下的财务管理系统构建探析[J].财会学习,2019(8):79.

[4]王斌,杨昌云,朱兴飞.基于C/S(Client/Server)模式的网络管理系统设计[J].信息系统工程,2018(10):114.

[5]任妹娟,张磊,庞丽丽, 等.基于C/S模式的地下水监测信息管理系统开发[J].中国水利,2018(15):6364.

[6]高梓焱.基于C/S模式下的中间件的应用与发展[J].信息系统工程,2018(9):131.

[7]唐菁敏,高张宝.基于B/S架构的企业综合管理系统的研究与设计[J].信息技术,2019(03):144148.

[8]吴晓珊,曹旭东,王森,等.基于B/S架构的管理系统软件开发[J].计算机测量与控制,2019,27(2):123128.

[9]寇建立,孙建华.基于J2EE轻量级框架的能源管理系统设计[J].电脑编程技巧与维护,2019(3):101102.

[10]王佳琪.基于J2EE架构的分布式企业级Web应用研究[J].计算机产品与流通,2018(10):27.

[11]庄巧蕙.基于J2EE的电子商务平台的研究与构建[J].大庆师范学院学报,2018,38(6):5963.

[12]段红义,折如义.三层B/S结构网络教学平台设计与实现[J].电脑编程技巧与维护,2017(11):1418.

[13]金红军.大数据背景下的校园一卡通异构数据集成研究[J].数字技术与应用,2019,37(2):9899.

[14]刘伟.Windows 7 64位平台下Oracle ODBC的配置[J].网络安全和信息化,2018(11):5253.

[15]毛旭.Oracle数据库SQL语句的性能优化分析[J].电脑迷,2018(12):159160.

(收稿日期: 2019.05.31)

作者简介:申蕾(1981),女,硕士,工程师,研究方向:电力信息系统建设管理、人工智能应用。

张晓慧(1984),男,硕士,工程师,研究方向:电力信息系统建设管理、技术架构及标准管理。

张才俊(1980),男,本科,副高级工程师,研究方向:电力信息系统建设管理、人工智能应用。

李杰(1984),女,硕士,工程师,研究方向:电力信息系统建设管理、智慧客服应用。

王宏岩(1987),男,本科,工程师,研究方向:电力信息系统建设管理、智能客服应用。

文章编号:1007757X(2020)08013204

猜你喜欢

子系统电力行业组件
电力行业工业控制系统安全防护技术应用
创建Vue组件npm包实战分析
光伏组件热斑对发电性能的影响
智能机械臂
网络空间供应链中入侵检测及防御子系统的投资机制研究
网络空间供应链中入侵检测及防御子系统的投资机制研究
团队与知识管理的关系研究
电力企业文化与企业文化建设
电力行业的节能减排与低碳经济
浅谈中职学校新型模块化机房建设