用友UAP开发平台介绍

更新时间:2024-05-08 16:45:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

用友UAP开发平台介绍

UAP作为基于多组织架构的企业应用运行平台、基于模式化的开发平台、开放的系统集成平台及统一的系统管理平台,是建立在Java语言所提供的强大功能的基础上开发的。Java是一种简单的、面向对象的、分布式的、结构中立的、安全的、可移植的、性能优异的、多线程的、动态的开发语言,适合构建基于网络计算的企业应用。由于Java的平台无关性,使得UAP可以运行在不同硬件平台、不同操作系统平台上。

基于UAP所开发的应用软件采用Browser/Server(浏览器/服务器)的方式来运行。B/S的运行方式最大限度地方便了用户部署和维护大型软件系统,保证了瘦客户机运行,从而大大降低了用户目标系统的总体拥有成本(TCO)。

UAP平台经过十几年的发展,在实际项目当中总结出许多典型的管理信息系统的应用模式,在此基础上,用友公司提供企业建模开发平台,将用友的先进的软件设计经验和先进的开发技术融入到平台当中,可全面解决企业信息化建设各种IT系统的业务场景。

1.1 基于UML的建模平台

UAP是基于元数据的模型驱动开发平台,将程序开发工作的抽象层次提高到和ERP日常业务相关的操作上,将一些常用界面(表单、报表、打印、查询)抽象成为模型,模型结合元数据定义出数据的各种展现操作方式,使用极少的代码量即可产生客户需要的模块,并且通过各个层次的抽象分离很好的支持了逆向工程,有利于产品迭代开发。

使用UAP平台进行业务实现可以分为如下几大步骤:

? 业务模型设计:使用模型设计器创建业务元数据并发布。业务模型设计

器如图14所示。

图14 NC—UAP元数据模型设计器示意图

? 自动生成数据模型:根据定义好的业务模型可以自动生成数据模型,完

成建立数据库结构工作。操作如图15所示。

图15 NC—UAP元数据自动生成数据模型示意图

? 用户界面模型设计:使用UAP集成开发工具进行单据表单模板设计、

查询模板设计、打印模板设计,通过UI组装完成完成界面模型设计工作。如图16、图17所示。

图16 NC—UAP元数据单据模板设计示意图

图17 NC—UAP元数据UI组装示意图

? 节点发布,生成代码,单据开发完成:如图18所示。

图18 NC—UAP元数据节点发布及生成代码示意图

1.2 数据访问及缓存机制

UAP元数据数据库访问居于对象-关系映射,大大提高开发效率、同时提升软件产品的可维护、扩展性。因此,在UAP的业务开发中必要通过引入对象-关系映射系统中间件,实现数据库的快速开发。

目前UAP可以通过JDBC开发了单独的持久化层,把数据库访问操作封装起来,提供简洁的API,供业务层统一调用,实现了自己的ORM系统。支持多种数据库,统一接口转换SQL语句,大大简化开发过程。通过NC数据库访问框架可以把内存中的对象持久化到数据库、把数据库中的关系数据加载到内存中,同时保证了系统频繁地访问数据库的性能,降低访问数据库的频率。

SuperVO是NC系统中比较特殊的值对象,该值对象自身已经包涵了值对象到数据库中的映射信息,所以SuperVO的持久化更为简单方便,无需构造对象映射元数据类,可以直接对VO进行持久化操作。

如下图19在最上层提供了基于元数据的持久化接口。可以实现对模型数据(NCObject)对象持久化操作,比如基本的增、删、查、改等操作。通过这些持久化服务可以进行对模型数据的数据库操作。同时业务建模框架还提供了代码生成和SQL生成的相关功能。其中代码生成用于生成模型对象(元数据实体)的类代码。

图19 元数据数据访问

在UAP的数据访问模型中,对数据的删除,是采用逻辑删除的,而非物理删除,这样可以保证在误操作的情况下还有机会恢复数据。

对于一些经常被访问的基础数据,UAP提供服务器端和客户端的缓存机制,这样可以大大减少前后台的远程调用次数,减少了对数据库的访问,从而提高了业务处理速度,提高客户端响应速度。要做到合理的利用缓存机制,需要考虑到下面几个方面:

1. 合理分配缓存数据到内存和文件,内存级缓存访问速度快,但容量有限; 2. 有效判断缓存数据的时效性,即是否为更新数据; 3. 动态监听基础数据的变更,及时更新缓存数据;

4. 处理好应用服务器集群之间的缓存共享和同步;

5. 对文件缓存要加密保护,不能被更改,尤其是客户端文件级缓存;

6. 对缓存的读写操作,需要很好的封装,以便开发过程中的调用和缓存策略的升级。

1.3 数据权限管理

UAP平台提供对常用的基础数据的访问权限控制,包括:科目、组织机构、人员、存货等。系统提供启用数据权限的设置功能,如下图20所示:

图 20 数据权限

UAP不仅预置了对常用基础数据的权限控制,还提供了对新开发功能数据的权限控制接口。对新开发的基本档案、基础数据、业务数据如果要进行权限控制,需要开发人员做好以下两步:

1. 实现权限插件类,继承平台提供的基类

nc.ui.uap.rbac.editor.tree.DefaultTreeResBusiService即可实现;

2. 生成权限表和注册权限脚本,在表sm_powerresource里插入一条注册信息即可。

1.4 可定制的界面模型

单据界面模板在UAP开发中占有非常重要的地位,NC绝大部分节点都是通过单据模板来定制展现的。

1.4.1 单据模板 1.4.2 模板设计器

下图21为向导中的单据模板设计器。单据模板用于定义整个单据的展现形式,分为表头、表体和表尾三个区域。编辑器的元数据部分显示的是当前单据模板所依据的业务组件的实体树结构。设计者将相应的组件实体拖拽到相应的区域即可。

图21 NC—UAP单据界面模板设置示意图

1.4.3 公式编辑器

通过设置界面规则,配置公式,更加灵活,高效,能够让使用者和开发者的工作高度重叠,实施人员可以快速根据用户需要,编辑界面数据显示规则。帮开发人员从本来需要修改复杂代码才可以实现功能的途径中走出来,大大降低界面代码为以前的 1/6,减少个性化开发工作量。公式语义层屏蔽了复杂的数据库结构。利用NC内置函数,方法等快速配置公式,填充表单元素。例如:字段显示与否,编辑与否,类型控制、长度控制,计算关系begindate->\,控制规则

$Error->iif(enddate

单据模板公式配置如图22所示。

图22 NC—UAP单据模板公式配置示意图

1.4.4 模板角色对应管理

真正实现不同用户,不同权限,不同模板。不同角色显示对应其关注内容,减少不必要冗余信息干扰,同时在另一方面也加强的数据的安全性。如图23所示。

图23 NC—UAP单据模板-角色对应示意图

1.4.4.1 查询模板

查询模板在单据进行查询时定制查询条件。下图为查询模板的设计器。设计器上方部分为基本信息设置,其中所关联的元数据组件不能修改。下方为属性设置,选择用户可以使用定制查询条件的属性字段拖拽到右边区域。对右边字段可以进行属性设置,比如是否锁定、默认值等。如图24所示。

图24 NC—UAP单据查询模板示意图

下图为查询模板在使用时的展现形式。主要有两个编辑区:普通和高级。普通区的每个条件之间是AND的关系,可以用于比较简单条件的定制;高级区通过对树形结构的操作实现条件语句的定义,也支持拖拽操作。对于常用的查询条件可以通过保存操作放到收藏夹中。NC—UAP查询模板条件设置如图25所示。

图25 NC—UAP查询模板条件设置示意图

不同角色不同的查询条件。图26 NC—UAP查询条件示意图

图33 数据交叉功能

更为复杂的面向分块报表的区域扩展,交叉投影技术,分组,过滤,排序,汇总,连接,颜色着重渲染等。

图34 数据交叉功能

1.5.2 报表格式设计

格式模型(又称界面模型)的设计包括引用查询设计、界面可视化设计、绑定数据集设计、数据预处理设计等几部分。数据预处理设计,又分为公式列设计、小计合计设计等几种设计方式。公式列设计如图35所示。

图35 公式列设计功能

1.5.3 报表发布展现设计

报表查询设计和格式模型设计完成后,可以通过向导式的发布界面进行发布,如图36所示。

图36 向导式的报表发布

报表发布后,界面模型在运行态还提供了几种数据处理功能,包括查找,排序,过滤,公式列,小计合计,交叉和穿透等。查询引擎报表展现示意如图37。

图37 查询引擎报表展现示意图

1.6 工作流引擎

工作流技术是当今一项飞速发展的技术,它最基本的特性就是它能够结合人工和机器的行为,特别是能够与应用程序和工具进行交互,从而完成业务过程的自动化处理。工作流技术从出现到现在,已逐渐发挥越来越重要的作用。工作流能够为企业应用提供业务流程建模、管理和控制功能。工作流技术已成为企业信息化建设方案中必不可少的内容之一。从简单的办公自动化系统的开发,到企业ERP系统的实施,再到为提高企业运营效率而出现的BPR及BPM系统,工作流技术都发挥了相当重要的甚至是关键的作用。

UAP工作流引擎负责解释执行由业务流设计器和审批流设计器设计的流程定义。 UAP工作流引擎在流转过程中还可以调用各种自动应用,包括电子邮件、脚本以及Web服务等。业务流程框架还提供了管理监控工具对运行中的流程实例进行状态查询和管理。对于流转过程中涉及到的数据交换,工作流引擎将调用交换引擎根据规则进行数据映射

UAP业务流程,提供图形化设计器,如下图38所示:

图 38 业务流程

UAP审批流程,提供图形化设计器,如下图39所示:

图 39 审批流设计器

UAP审批流程可跟踪,如下图40所示:

图 40 审批流跟踪

上图中红色节点即为当前审批节点,可以看到整个流程的执行情况以及各处理环节的详细时间、审批意见等。

1.7 文档资料

UAP平台经过十几年的发展,提炼出很多高效、易用的解决方案,可全面解决企业信息化建设各种IT系统的开发需求。下面,将从开发框架、高速数据访问模型、元数据管理、界面模型、数据报表模型、工作流引擎、消息引擎、任务预警引擎等几方面分别介绍。此外,用友也提供应用集成产品,以解决企业系统间应用集成的需求。由于UAP平台中每个解决方案的功能都很强大,限于篇幅,这里只能进行概要介绍,深入介绍可以查阅UAP平台的红皮书。

1.8 开发与代码管理

1.8.1 代码部署和补丁管理

新开发的模块代码,将部署在该模块下面的指定目录下。

运行安装程序,将解压模块下的所有jar包到指定的nchome目录下,形成UAP-NC的目录结构(如下图所示)。所以在压缩jar包时需要安装该目录结构进行压缩。

UAP标准产品的代码与新开发模块或二次开发的代码将部署在不同的目录中,在运行时,类加载器将优先加载二次开发的代码。如果进行系统的升级,在升级过程中,只覆盖原标准产品的代码目录,二次开发的目录将保留,这样就实现了新老版本替换后,原来二次开发的成果将继续保留使用,实现了新老版本的兼容性。

模块代码目录 模块数据库脚本目录 产品目录层次 模块目录层次 数据库脚本目录结构

1.8.2 版本管理

UAP的开发工具,可以引入第三方的版本管理工具,能实现版本管理工具与

开发平台的集成应用。

推荐的第三方版本管理工具:SVN、ClearCase、VSS

用友公司研发中心内部使用的便是IBM的ClearCase,如下图41所示:

图 41 内嵌版本管理

UAP平台还提供运行态的版本管理。针对已安装的各模块的版本、以及正准备安装的版本,都能进行浏览和对比。如下图42所示:

图 42 运行态的版本管理

本文来源:https://www.bwwdw.com/article/77wg.html

Top