1、开发平台技术要求开发平台技术规范1 范围本规范中描述的开发平台,指国家电网公司自主开发的、支撑以B/S应用方式为主的业务应用系统的基础开发平台。本规范根据国家电网公司应用软件开发的经验积累和最佳实践,规定了开发平台应当具备的各类功能性和非功能性的技术指标,并对各类指标的具体要求做出了规定。本规范适用于国家电网公司总部,各区域电网公司、省(自治区、直辖市)电力公司、相关直属单位,承担国家电网公司信息化项目的研发单位。2 规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件:GB/
2、T 18336-2001 信息技术安全技术信息技术安全性评估准则OASIS Reference Model for Service Oriented Architecture (SOA) 1.0Extensible Markup Language (XML) 1.1Business Process Model and Notation (BPMN) Specification3 体系结构图1 开发平台的体系结构图开发平台是以业务为导向和驱动的,可快速构建应用系统的软件平台,可以为业务应用系统的建设屏蔽大量的底层技术细节,起到了承上启下的作用。开发平台是服务于业务应用建设团队的基础软件产品,它提
3、供了丰富的开发功能,提升了开发效率,降低了建设成本,优化了系统质量。同时,开发平台的存在奠定了业务应用的技术架构,基于此开发出来的业务应用,具备了一致的技术架构,不仅有利于应用自身的建设,而且由于应用接口的统一,使得集成也变得更加简单。表1 开发平台中提供的功能表功能必备性基础框架是安全权限是工作流是集成开发环境是第三方集成是系统监控是数据报表否消息机制否远程部署否任务调度否数据缓存否矢量图形否平台功能当前以组件接口方式供业务应用系统调用,逐渐演进为以服务方式提供平台功能。4 功能性规范4.1 基础框架基础框架是开发平台的核心组成,通过屏蔽大量较为底层的技术实现,大大简化具体应用功能的开发过程
4、。基础框架应符合JEE标准,适用于多层次分布式应用模式,基于标准格式的数据交换、统一的安全模式和灵活的事务控制,具有良好的开放性、兼容性、可扩展性及可靠的稳定性。表2 基础框架主要功能点表功能描述必备性表现层针对业务场景可提供多种形式的页面展现组件和展示效果,提供丰富的编程和自定义扩展接口。是服务层负责实现系统业务逻辑;支持本地和分布式事务管理,负责处理事务的回滚与提交;提供异常处理功能,能捕获并记录异常产生的堆栈信息;提供日志服务功能,能对平台运行状况分等级进行记录和查询;提供与其它层之间的接口,增加灵活性,实现最大程度的解耦。是数据访问层提供实体关系映射功能,提供通用的数据持久化方法;对应
5、用层屏蔽底层数据库的差异性,至少支持Oracle,SQL Server 等主流数据库,屏蔽数据存储位置和物理结构;数据访问接口需要屏蔽业务层对各类资源(数据库连接、网络连接、文件I/O、JMS连接等)的获取和释放操作,避免出现资源泄露;实现不依赖于服务容器的数据库连接池机制;可以提供对数据分布(如分库、分区)的透明支持(注:数据分布透明支持为可选功能)。是4.2 安全权限平台必须具备可以为业务应用系统提供完备的安全运行保障的的安全组件,对应用系统和业务数据的访问权限进行有效控制。表3 安全权限主要功能点表国家电网公司开发平台技术规范第4页功能描述必备性身份认证通过用户密码、数据证书或其他身份认
6、证方式,确定业务系统访问者的身份信息。(注:需要支持与国家电网公司统一目录系统进行集成)是用户管理对系统用户信息进行注册、变更、注销等操作。(注:需要支持与国家电网公司统一目录系统进行集成)是角色管理对系统用户按业务职责划分,实现角色管理,主要包括角色定义、角色变更、角色注销、为用户分配角色等功能。(注:需要支持与国家电网公司统一权限系统进行集成)是组织结构管理组织结构是企业级应用的基础,主要提供组织机构建模、组织机构变更、组织类型定义、组织结构版本管理、工作日历管理等功能。(注:需要支持与国家电网公司统一目录系统进行集成)是授权管理将访问资源分发给授权用户或从用户处将资源访问权限收回的功能。
7、(注:需要支持与国家电网公司统一权限系统进行集成)是访问控制确保具有访问权限的用户才能够访问到相应的资源。是审计管理能够实现对每一项重要的操作或事件进行记录,通过审计日志,可追溯相关操作的详细记录。是信息防御需要具备基本信息安全主动防御能力;具有抵御跨站脚本攻击、SQL 脚本注入等方式的能力;具备对用户口令等安全信息进行保护的能力。是资源管理能够对功能资源、菜单资源进行管理,支持资源的注册、注销等操作。是4.3 工作流平台必须提供可动态定义业务过程并控制其运行的业务流程组件,以满足应用系统内部业务流程正常流转的需求,同时具备与国家电网公司统一选型的BPM产品的集成能力。表4 业务流程组件主要功
8、能点表功能描述必要性流程引擎工作流引擎是工作流程运行和控制的中心,引擎主要有以下功能:流程定义解析、流程版本管理、缓存管理、流程规则管理、任务时限管理、流程事件管理、人工任务管理;提供客户端调用的API 接口;提供定义表单和表单权限控制功能。是流程建模工具提供可视化的业务流程建模工具,在流程设计期对人工任务和自动流程进行图形化建模;支持设定活动的参与者及对应的业务表单。是流程统计分析提供对所有业务流程,根据不同的流程模板、流转状态进行查询、统计分析等功能,为业务改进提供依据。是流程监控提供对权限范围内的所有业务流程实例的流转状态进行监控的功能。是流程集成具备与国家电网公司统一选型的BPM、BA
9、M 产品的集成能力。是4.4 集成开发环境作为应用系统的开发平台,必须提供一套满足方便应用系统快速开发和调试的集成开发环境(IDE)。一般需要具备如代码编辑器、编译器、调试器、单元测试、版本管理等多种与开发相关的能力。国家电网公司开发平台技术规范第5页表5 集成开发环境主要功能点表功能描述必要性可视化开发具备UML 建模功能;具备可视化数据建模功能,并支持直接生成数据库脚本,至少支持Oralce、SQL Server 等常见数据库;具备可视化表单设计、可视化业务流程设计功能;具备对XML、XSD、DTD 的可视化开发能力;可生成框架代码以及部分简单业务逻辑的代码。是版本管理具备版本管理功能,至
10、少支持SVN、CVS 等源码管理工具。是调试与测试功能在应用开发平台上支持断点、单步等在线调试能力,支持与应用服务器远程调试功能;支持单元测试功能。是打包发布支持应用程序的打包部署,至少支持ant 等脚本工具。是与应用服务器集成能力支持与常用应用服务器的集成,进行应用发布,远程调试,应用服务器的停止以及启动等操作,至少支持WebLogic、Tomcat 等应用服务器。是协同开发支持多人协同开发,包括任务分派、信息分享、问题跟踪等。否4.5 第三方集成开发平台应当具备与第三方平台例如门户、目录等集成的能力,并提供相应的标准组件以供应用系统与第三方平台集成,从而减少应用额外开发量,并促使应用与第三
11、方平台集成标准化。表6 第三方集成主要功能点表功能描述必要性与门户集成能力实现页面集成、待办事宜集成等功能。是与目录的集成能力支持目录认证功能;支持单点登陆/注销;支持与目录用户数据的同步。是与总线的集成能力具备以消息、Web 服务等多种方式按照国家电网公司既定的标准格式与总线集成的能力。是与流程平台的集成能力具备按国家电网公司既定的标准格式与统一选型的BPM 产品进行集成的能力。是与数据中心的集成能力支持按国家电网公司既定的格式与主数据平台、非结构化数据中心、结构化数据中心、电网空间数据中心、海量实时历史数据中心等集成。是与SAP ERP 的集成能力提供与SAP ERP 集成的可行方案,并提
12、供与SAP ERP 进行交互具备标准接口的组件集。是与统一权限管理系统的集成能力支持与国家电网公司统一权限管理系统的集成。是其它业务系统的集成能力提供与其它业务系统的集成能力。否4.6 系统监控平台需要提供了对业务应用、服务器、操作系统及数据库的监控功能。帮助开发和运维人员管理业务系统的运行,发现并解决应用系统运行过程中的各类问题,确保业务系统高效无故障地稳定运行。表7 系统监控主要功能点表国家电网公司开发平台技术规范第6页功能描述必备性应用内部监控实现对URI 请求耗时的综合分析;实现对模块访问、模块异常信息、模块用户访问情况进行监控和分析。是应用外部环境监控实现对操作系统资源的CPU、内存
13、,对JAVA 虚拟机的堆/非堆内存、线程,应用服务器的运行状况,数据库执行SQL 进行监控和分析。否系统分析报告系统根据相关的监控信息,自动分析系统的健康状况和可能的问题点,生成系统性能报告,以便于系统管理人员能够对整个系统的运行有一个宏观的视图。是图形化全景展现为系统使用者提供可统一、可定制的图形化全景展现视图;提供常见的饼图、柱图、曲线等图形化的界面;以图形化的方式对各分散的服务节点进行集中管理和监控。否4.7 数据报表平台可提供可动态定义和展现的数据报表功能模块,实现与平台自身的数据模型、安全策略、展现组件等更好的集成。数据报表模块实现报表模板的定义和解析,以及报表展现等功能。表8 数据
14、报表主要功能点表功能描述报表模板可视化定义提供报表模板可视化定义工具,定义报表的数据来源、布局、显示样式、计算公式等,形成中立格式的报表模板,并具备报表生成预览等功能。报表模板动态解析服务提供报表模板解析服务,根据报表模板、实时访问数据源并生成格式中立的报表数据。报表浏览与输出提供基于Web 页面浏览最终报表的功能,具备多维列表、矩阵、柱图、饼图、嵌入图片等数据展现方式,并支持打印,以及可将报表输出为PDF、Excel、Word 等格式的文件。报表数据维护可在报表Web 浏览页面直接编辑数据、并回填至数据源,支持对数据回填的权限控制。多源数据报表同一报表上的数据支持来自多个不同的数据源。报表快
15、照支持报表快照功能,通过快照方式缓存已生成过的报表,提高报表浏览的效率。报表定时生成提供数据报表的按计划定时生成的功能。4.8 消息机制平台消息机制提供消息传递和辅助通知等功能,一方面可实现平台内模块间的消息通信,另一方面也可实现平台与国家电网公司统一的服务总线之间的消息交互。表9 消息机制主要功能点表功能描述消息模式支持消息队列和订阅/发布两种消息传递模式。消息管理提供可视化的定义工具,定义消息的主题、来源、传输方式、队列信息、消息处理器、持久化方式等。消息总线服务可封装或自主实现标准接口的消息总线功能,客户端可通过多种协议方式接入总线,总线可通过同步或异步方式响应消息输入,并根据消息主题定
16、义的规则调度可扩展的消息处理器。安全机制提供消息客户端的安全接入机制,可设定满足条件的客户端可接入,可以限定单客户端的连接数、数据包大小等,可记录发送、接收日志等审计信息。国家电网公司开发平台技术规范第7页异常处理机制消息传递异常时,可自动记录异常数据、可自动重试;可设定重复次数、异常处理策略等。消息辅助通知服务端可主动将消息推送给客户端,满足客户端获得消息的及时性要求,并提供Email、手机短信等方式的辅助通知功能。消息统计支持对各消息通道上的消息传递情况的统计。4.9 远程部署远程部署指的是开发平台的远程独立部署,而非将业务应用系统远程部署到应用服务器上。在部署层面,将开发平台组件和应用系
17、统业务组件分离,开发平台组件单独统一部署,应用系统直接从远端下载并加载平台组件模块,平台资源统一管理,便于平台的升级和维护。表10 远程部署主要功能点表功能描述远程加载提供API 或是URL 地址等方式来使得业务应用系统可以通过编程或声明的方式来从远程加载平台的功能。版本识别提供API 或是配置文件等方式来使得业务应用可以通过编程或声明的方式来指定要加载的平台具体版本。安全控制提供API 或是配置文件等方式来使得业务应用在从远端加载平台时受控,不允许无权限的使用人员加载平台功能。可定制替换当业务应用有自己的特定需求时,可以通过平台提供的API 或配置文件等手段来将自己定义的功能替换掉平台默认提
18、供的功能。4.10 任务调度平台可提供任务调度组件,实现以指定的间隔时间或指定时间点上执行各类后台操作的功能,主要用来完成一些无需用户交互的计划性的任务。表11 任务调度组件主要功能点表功能描述任务定义支持对任务执行的起止时间、执行频率、周期等调度规则,以及任务对应的执行逻辑进行设置。任务执行逻辑定义对各任务执行逻辑组件的运行参数可进行可视化定义;平台缺省提供常用的如报表定时生成等任务执行逻辑组件,执行逻辑可二次扩展开发。任务引擎提供对任务执行逻辑和调度规则的解析功能,实现任务的定时执行;提供对任务池的相关管理;提供多任务的执行进程隔离。任务监控提供对实例级任务的维护,包括任务实例的启动、暂停
19、、继续、停止等功能。4.11 数据缓存平台可以提供数据缓存功能,以提供应用系统的运行性能和效率。缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源直接访问的频次,从而提高了应用的运行性能。表12 数据缓存主要功能点表功能描述缓存读写实现缓存数据的存放与读取。国家电网公司开发平台技术规范第8页缓存同步必须确保缓存数据的有效性和实时性,保障缓存数据与物理数据库的一致性。缓存策略支持内存缓存和磁盘缓存;提供LRU、LFU 和FIFO 缓存策略;提供缓存时效功能。缓存分布式支持RMI、JGroups、JMS 等方式进行多节点间的缓存通讯;提供可靠的缓存分发机制,保证多个服务节点中
20、的缓存数据的同步刷新;支持以同步和异步方式进行缓存数据的拷贝。缓存监控与统计提供对缓存对象相关的信息进行监控统计与展示,包括缓存名称、缓存对象占用内存大小、缓存对象被访问次数、缓存命中率等。可扩展缓存接口提供可扩展接口,实现用户自定义业务数据的缓存接入。4.12 矢量图形平台矢量图形模块提供通用的、与具体业务应用无关的矢量图元定义、矢量图形服务和展示交互组件等功能。表13 矢量图形主要功能点表功能描述矢量图元定义工具提供对矢量图元的形状、样式、状态等属性的定义功能,并支持图元分类管理,可生成中立格式的矢量图形数据。矢量图形设计工具提供通用的图形设计工具,包括可视化浏览、编辑功能,支持图纸的绘制
21、和管理,图形对象支持和具体应用信息的关联、查询、分析等,方便二次开发应用。矢量图形服务提供矢量图元管理服务、图形数据的存储服务、版本管理服务、拓扑分析服务等。矢量图形展现交互组件提供业务应用二次开发使用的图形展示交互组件,基于该组件暴露的标准接口,业务应用系统可实现专题图的编辑、浏览、图元状态控制、图层控制、持久化服务调用、拓扑分析、打印等功能。5 非功能性规范5.1 性能平台在设计容量、响应时间、资源占用率等方面的性能指标包括但不限于:平台的设计容量,单服务器节点支持并发用户数50,在线用户数500。在设计容量下,每笔请求平均响应时间5 秒。复杂业务场景、数据量大时,响应时间10 秒。支持同
22、时打开10 个以上的业务处理界面。单个浏览器页面的内存占用不超过150M。设计容量下,应用服务器和数据库服务器平均CPU 和内存占用率在60%70% 。5.2 可用性平台可用性方面的指标直属包括:平台在设计容量范围内,能够保证正常不间断的7*24 个小时运行;同时能够保证平台运行稳定和满足业务需求的处理速度。平台在超过设计容量30%的压力情况下,至少能维持稳定运行24 小时以上。平台在超过设计容量100%的情况下,至少能维持稳定1 小时。5.3 鲁棒性国家电网公司开发平台技术规范第9页开发平台应该具备在以下情况下仍能正常运行的能力:开发平台应具备抗干扰能力。用户发起非法操作或恶意操作时,平台具
23、备一定的抵御能力,保证系统稳定运行。开发平台应能具备一定的容错能力。开发平台在运行期应能捕获业务应用错误,并屏蔽其对平台造成的影响,同时,提供相应的错误处理机制。开发平台应当具备自恢复的能力,运行期开发平台软件无法提供服务时,可自动恢复到正常提供服务的状态。开发平台在超负荷运转或其他异常导致系统运行不稳定状态下,当压力恢复或异常排查后,平台的各项功能和性能指标应能恢复正常。5.4 可伸缩性开发平台必须具备良好的伸缩性,包括:对基于平台开发的业务应用系统,支持根据业务量大小动态调节运行参数,保证在不同业务量情况下均能稳定运行,而无需对软件系统本身进行编程级的修改。应用系统支持集群环境部署。当系统
24、业务量增大时,可以通过增加服务节点的方式提高性能,并能正确处理多服务器集群环境的消息同步处理、定时服务、缓存同步等。5.5 安全性开发平台在安全性方面的要求包括:开发平台安全应达到GB/T 18336-2001 信息技术安全技术信息技术安全性评估准则的第三级标准。开发平台应具备向合法用户提供服务,以及阻止非法授权用户使用的能力。5.6 易用性易用性方面的规范包括:开发平台应提供友好的人机界面,易于用户使用,提供在线帮助。能根据实际业务需要,以参数配置或组件化方式对平台功能进行裁剪。需要提供完整的安装、开发、使用方面的帮助文档,内容连贯、浅显易懂。应考虑选用应用广泛,易于获得持续维护、升级和支持
25、的开源软件。5.7 可维护性开发平台应当提供日志服务,对运行状况进行分等级记录和查询,便于快速定位和修正软件的BUG 等缺陷。开发平台提供完备的错误号清单列表,及常见问题解决办法(FAQ),便于问题的快速排查和解决。5.8 可移植性应用开发平台应符合J2EE/JavaEE标准,具有良好的可移植性。包括:支持主流操作系统(如Windows、Linux、Unix)。支持多种数据库类型(如:Oracle、DB2、SQL Server 等)。支持主流应用服务器(如:Websphere、WebLogic、JBoss、Tomcat 等)。5.9 知识产权国家电网公司开发平台技术规范第10页开发平台在引入开
26、源软件时,应在不影响国家电网公司对应用软件拥有整体自主知识产权前提下,选用BSD、Apache Licence 2.0、LGPL协议的开源软件,不允许使用更严格协议的开源软件。为了防止法律纠纷,在使用任何一种开源软件之前,或者使用现有开源软件的新版本之前,都必须要检查是否会产生知识产权的侵权。各开发平台的提供商必须严格执行上述规定,并在开发平台的产品文档中明确标注出使用了哪些开源软件。6 部署规范基于平台开发的应用系统部署时,应能够满足以下要求:应用系统支持集群部署。应用系统支持国家电网公司集中一级部署、总部和网省两级部署等多种部署模式。应用系统支持基于虚拟化环境的部署方式。应用系统中各组件模块可根据自身的特性进行分布式部署,也可以将一些与其他应用交互频繁且资源占用率高的组件以独立应用服务器的方式部署。应用系统部署时,建议数据库服务器采用集群部署模式。应用系统部署时,建议应用服务器采用集群部署模式,实现负载均衡,集群服务器节点数视业务容量决定。_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1