国家电网公司
应用系统统一开发平台
(SG-UAP V2.0)
高级开发手册
1.开发概述
国家电网公司应用系统统一开发平台项目组
2013 年 12 月
SG-UAP 高级开发手册
目录
1 引言 ........................................................... 3
1.1 概述 .................................................... 3
1.2 阅读导图 ................................................ 4
1.3 适用范围 ................................................ 5
1.4 名词解释 ................................................ 5
2 SG-UAP 应用开发................................................. 7
2.1 概述 .................................................... 7
2.1.1 UAP 项目的组成结构 ................................... 9
2.1.2 模块项目的组成结构 .................................. 11
2.1.2.1 模块项目的前端组成结构 .......................... 11
2.1.2.1.1 展现框架的构成 ............................................................................. 11
2.1.2.1.2 资源文件(样式、图片、主题、皮肤、国际化)................... 11
2.1.2.1.3 脚本文件(Weblet 小程序、视图、视图控制器) .................. 15
2.1.2.1.4 页面文件(JSP、HTML).............................................................. 19
2.1.2.2 模块项目的后台组成结构 ........................................................ 20
2.1.2.2.1 分层结构 ......................................................................................... 20
2.1.2.2.2 目录结构 ......................................................................................... 21
2.1.2.2.3 配置文件 ......................................................................................... 21
第 2 页 /共 23 页
SG-UAP 高级开发手册
1 引言
1.1 概述
本文定位为“高级开发参考手册”,在“快速开发实战指南”的基础上,对
平台操作功能进行了深入的介绍。本文主要分为四部分对平台进行了详细的介
绍,分别为:业务系统开发、任务调度与集成开发、即席报表与集成开发和集成
开发工具。文中对各个部分的功能及使用等都进行了详细的介绍。
业务系统开发部分又根据业务系统核心框架的组织、客户端、服务端、工作
流和权限分别展开,针对各部分包含的组件、函数、属性等进行了深入介绍,以
案例代码贯穿全文,通过示例的讲解,来达到对平台更进一步了解的目的。这一
部分作为本文的重点,按照平台的开发步骤引导读者理解基于平台的开发过程,
该章节针对平台的项目创建、场景代码生成、业务代码定制及权限集成等部分展
开介绍了常用的设计、向导、方法,并做了深入介绍。
根据各个业务环境的反馈以及用户的需求,在诸多的业务场景下都需要提供
自动化的任务执行能力,在不需要用户参与的情况下,定时得从不同的渠道获取
大量数据,将这些数据根据不同的业务规则整合与存储,然后针对规整后的数据
进行各种分析操作,最终生成满足业务需求的分析结果。SG-UAP 任务调度系统
就是为满足这一需求而形成的系统。文中对调度系统所能实现的功能及执行组件
的运行机制等都进行了具体的介绍。
报表系统基于应用系统统一开发平台,为业务应用中的报表应用提供设计和
运行支持。集成开发工具是应用系统统一开发平台提供的快速开发应用系统的环
境,它以 Eclipse 为基础,以标准插件的方式进行功能扩展,是所有基于平台进
行二次开发的统一入口。
集成开发工具提供可视化、简易化、标准化的开发环境,集成代码编写功能、
分析功能、编译功能、调试功能、测试功能、发布功能等一体化的开发软件服务
套件。为系统设计人员、开发人员和管理人员提供对系统开发、系统测试、系统
调试、系统部署等软件生命周期的协同开发、版本管理和项目管理。
第 3 页 /共 23 页
SG-UAP 高级开发手册
1.2 阅读导图
图表 1 阅读导图
第 4 页 /共 23 页
国网统一应用平台(SG-UAP)引言概述适用范围名词解释SG-UAP业务系统开发概述业务系统组成结构UAP项目的组成结构模块项目的组成结构SG-UAP业务系统之前端篇界面展现框架概述MX展现框架开发高级特性SG-UAP业务系统之后台篇技术储备后台框架概述后台开发SG-UAP业务系统之工作流篇工作流管理平台业务系统与BPM集成SG-UAP业务系统之权限篇权限管理系统业务系统与权限集成SG-UAP任务调度与集成开发概述任务调度管理配置集成执行组件开发SG-UAP业务系统之即席报表篇概述即席报表使用业务系统与即席报表集成开发阅读导图SG-UAP业务系统之缓存篇体系结构数据缓存开发概述缓存监控缓存异常缓存注解应用
SG-UAP 高级开发手册
1.3 适用范围
本文为高级开发参考手册,是在快速开发实战指南的基础上,继续深入全面
的对 SG-UAP 平台进行了介绍。在阅读本文前,需要开发人员已经阅读过 SG-UAP
快速开发实战指南,掌握 SG-UAP 平台基础开发技能。
1.4 名词解释
名词
相关解释
表格 1 名词解释
提供 SG-UAP 平台的模块,整个项目组共用一个,由项目管理人员
SG-UAP SERVER
统一维护,开发人员只需要知道 SG-UAP 平台服务端的地址。(简
称“服务端”)
SG-UAP IDE
SG-UAP 集成开发工具(SG-UAP Development Environment)
UAP 项目
依赖于 SG-UAP 平台服务端的标准的空的 Web 应用
具有 OSGi 规范(Open Service Gateway Initiative ,开放服务
模块
网关规范)特定描述的 Java 程序包,是 OSGi 规范定义的模块化实
体单元;SG-UAP 平台的动态模块框架对标准的 OSGi 模块进行扩展
形成了动态模块。以上两者统称为模块。
Weblet
是种功能独立的部件,页面的最小组成单位。
VO 对象
PO 对象
Value Object 数据对象,也称为业务对象,存活在业务层的,供业
务逻辑使用的 Java 对象。
Persistant Object 持久对象,是与数据库中表相映射的 Java 对
象。
每个任务执行步骤的业务操作的实现组件,具体可包括脚本和插
任务执行组件
件。
报表模板
报表项
报表模板由数据连接、数据查询、报表对象及布局信息组成,它在
报表设计器中被创建,并且符合 XML 规范。
页眉、页脚、数据首、数据体、数据尾、分组首、分组尾、文本、
图片及图表。
第 5 页 /共 23 页
SG-UAP 高级开发手册
数据项
数据连接、数据集、参数、系统变量及合计
报表项属性
边框、背景、绑定数据源、位置等几十种属性
报表类型
自由报表、列表、表格、分组报表、交叉报表、图文混合报表等
统一应用平台
State Grid Unified Application Platform,缩写 SG-UAP,国家
电网公司新一代应用系统统一开发平台,提供一套技术统一、架构
柔性、性能高效、安全可靠的企业级信息系统基础框架和公共套件
集,支撑业务系统的设计、开发、测试、发布、运行的全过程。
应用系统统一开发平台的集成及可视化开发环境,集设计、编码、
Studio
测试调试和部署于一体,为不同的开发阶段提供了指导和帮助,优
化了软件开发过程和团队开发流程。
统一应用平台模
提供不同版本的 UAP 的模块,整个项目组公用一个,由项目管理人
块仓库
员统一维护,开发人员只需要知道 SG-UAP 平台模块仓库的地址。
模块项目
UAP 项目中具有相对独立业务处理能力的功能模块,可被复用。
当需要对 UAP 开发平台的某个模块进行修改时,可以创建扩展模块,
扩展模块
在扩展模块中对同路径同名资源进行修改。被扩展的模块称为主模
块。
数据库中的表在 Studio 中的体现形式,按照 Herbernate 配置文件
持久模型
的规范对表进行了封装。
持久模型文件 保存持久模型信息的文件。
对用户常用的业务模块进行分析和抽象,发现这些模块的代码在结
场景
构上高度类似,具有通用性或定制批量生成特性,因此归纳出了以
界面编辑器
下常用场景:单表场景、主从表场景、树场景。
编辑 JavaScript 文件的一个可视化编辑器,用户可以通过拖放的
方式来设计前端页面。
应用系统统一开发平台中最底层的部分,其中包含核心框架和平台
平台基础设施
微内核。
统一应用平台提供的各类公共服务:如任务调度、数据报表、数据
平台公共套件
缓存、信息通信等。
一体化平台
门户、可视化体系、BPM、统一授权平台、数据中心等服务统称一
第 6 页 /共 23 页
SG-UAP 高级开发手册
体化平台。
模块框架
一个控制、管理模块运行的框架。
延 迟 加 载 / 懒 加
载
延迟加载/懒加载(lazy load),为了避免无谓的性能开销,在真
正需要数据的时候,才执行数据加载操作。
比较常用的场景:树展现组件,先只加载父节点,展开父节点时再
加载子节点; Hibernate3 中关联关系对象默认的加载方式,只有
在使用的时候,才会发出 sql 语句进行查询。
透视图
在集成开发工具上的对某个插件的开发模式,如 debug 透视图。
2 SG-UAP 业务系统开发
2.1 概述
图表 2 核心框架结构图
核心框架是统一应用开发平台的基础开发框架,为平台公共套件、业务应用
系统的开发提供统一的基础设施,屏蔽底层的技术实现,简化具体功能的开发过
程。核心框架为应用系统提供了分层体系结构,分别是界面层、交互层、逻辑层
和持久层。
界面层:基于 AJAX 框架自主开发可复用的界面标签,可以灵活组合满
第 7 页 /共 23 页
SG-UAP 高级开发手册
足不同客户的需求。
交互层:响应用户请求并将请求分发到不同展现构件,由展现构件组织
逻辑层来协同处理这些请求,返回结果到界面层。
逻辑层:提供通用组件,对通用业务逻辑、工具包以及公共套件提供的
服务进行封装,以便业务逻辑的复用和组装。
持久层:为业务系统与数据库的交互提供简单一致的接口,并优化了数
据库操作性能。实现通用数据访问服务组件,支持多种形式的数据存取,实现
数据库相关对象的 OR Mapping 机制及复杂的业务数据获取规则。
核心框架基于 Spring 实现,利用 Spring 容器管理展现构件和逻辑构件的注
入。持久层集成 Hibernate,支持不同数据库连接方式以及不同数据库访问。基
础功能包为核心框架提供服务交互、异常、日志、国际化等通用功能,以接口的
形式提供。核心框架主要功能如下图所示:
第 8 页 /共 23 页