ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:1.71MB ,
资源ID:8000972      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8000972.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(NCV55元数据建模及管理红皮书分解.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

NCV55元数据建模及管理红皮书分解.docx

1、NCV55元数据建模及管理红皮书分解元数据建模及管理红皮书NC-UAP 5.5用友NC-UAP2018-10-20目 录第一章 前言 3第二章 基于元数据的业务建模 41. 模型设计器 42. 创建组件 43. 创建实体 54. 创建接口: 95. 创建枚举: 126. 实体间的关系: 127. 元数据发布 13第三章 元数据管理 161. 元数据信息浏览和修改 162. 枚举类型的维护: 183. 元数据升级: 204. 恢复到系统默认状态: 20第四章 元数据典型应用 211. 基于元数据创建单据模板 212. 在流程平台中使用元数据: 223. 某个实体作为参照使用: 234. 元数据查

2、询 255. 基于元数据的数据访问 266. 自定义项如何使用: 28第一章 前言本文档主要介绍了如何基于元数据进行业务建模,以及如何在运行时对元数据进行管理。最后列举了元数据的一些典型应用。目的是尽可能地让大家在使用元数据的时候更加方便。关于元数据本身的代码架构,以及元数据的基本概念,请参见NCV5.5-元数据开发红皮书。第二章 基于元数据的业务建模1. 模型设计器在基于元数据建模之前,我们先来认识一下模型设计器。NC模型设计器模型设计器有5个重要的组成部分,如图所示。1是资源浏览器,2是工具面板,3是画布,4:属性面板,5:模型视图。2. 创建组件在资源浏览器中点右键,可以新建目录或者新建

3、模型文件(见下图)。模型文件(bmf文件)即对应元数据中的一个组件(IComponent)。组件描述的是一个相对独立和完整的业务块,主要是从业务层次上进行划分,比如“销售订单”可以作为一个组件,“客商档案”也可以作为一个组件,划分组件时,注意组件间的重用,且注意不要形成相互依赖。组件属于模块,一个模块可以包含多个组件。资源浏览器中组件所属的目录和组件的模块没有关系,目录只是为了更好的组织和管理bmf文件。组件是部署的基本单元,一个典型的组件会包含若干个有相互关系的实体(但只能有一个主实体),以及业务接口、枚举类型等,另外组件里还可以有服务和操作。点击中间画布空白区域,可以设置组件信息:1) 版

4、本号:记录组件当前版本,防止旧版本覆盖新版本。版本号是自动生成的,每点击一次保存,就会增加1。2) 代码风格:有NC传统样式和标准样式两种,主要针对主子表及多子表结构,传统样式生成AGGVO,标准样式为OO3) 多语言资源模块:对应以前多语言里的文件夹名,现在按照组件划分4) 是否预加载:默认false。如果选择true,而且所用的数据源也配置为预加载元数据(在preload-datasource.properties中配置),那么该组件就会在中间件启动时被预先加载。5) 主实体: 一个组件里如果有实体,则必须设置一个主实体6) 名称:该组件的名称。必须全局唯一。3. 创建实体 从工具箱中拖一

5、个实体到中间的画布上。创建实体的要点:1) 主属性:实体必须设置主属性(对应数据库表的主键)。2) 访问器:当组件代码样风格选择传统样式时,针对主子表或者多字表中主表对应的实体, 访问器要设置为AggVO,即聚合VO访问器,其他的一律选择NCVO,访问器的作用在 于适配模型与java代码的不一致性。 访问器类型有POJO,NCVO,AggVO。3) 包装类名:如果访问器类型是AggVO,则需要生成一个聚合VO类型的包装类。4) 动态信息修改类:用于动态修改实体,比如运行时增加或者设置某些属性。5) 可见性:public,protected,default,private6) 扩展标签:可以给实

6、体加任意的标签,查询时可根据标签过滤。7) 缺省表名:生成数据库时对应的表名。8) 业务接口实现类:如果实体实现了业务接口,这里可以注册实现类。在“创建接口”小节中,将详细介绍接口实现类的四种情况。 3.1 实体的属性实体可以有若干属性和操作,还可以实现接口,设置参照。实体中属性的设置要点如下:1) 对于设置为AggVO样式的实体,请检查子表属性(1-n聚合关系),比如上图中的订单明细,访问策略要设置为BodyOfAggVOAccessor。2) 类型样式:目前支持Single、REF、ARRAY、LIST四种,具体可参考元数据开发红皮书。3) 类型:可以自行选择,当建立实体间关系时,也会自动

7、设置;主键一定要设置为UFID类型。目前元数据支持如下基本类型:4) 字段名称:生成数据库表列的名称5) 计算属性:由其他属性计算得到,本身不需要保存到数据库,不会生成数据库的列。6) 空:是否可以为空。7) 授权:用于权限控制。8) 扩展标签:可以自由的给属性加上标注,比如uniqueCheck,在程序中便可以通过这个标签来过滤属性。List nc.md.model.impl.MDBean.getAttributes(String tag) 3.2 实体的操作3.3 实体和属性的参照设置1) 在实体的模型视图上选择参照页签,点击左上角的“设置参照”,弹出参照选择对话框(参照必须先在bd_re

8、finfo表注册才会在这个对话框中出现)2) 为实体选择对应的参照,可以多选。点击OK后,选择的参照就会出现在模型视图的参照页签。此处的参照表示该实体可以通过这些参照被引用,比如人员对应的参照为人员档案和人员管理档案参照,如果某个实体的属性是人员类型,类型样式是参照,则可以将该属性设置成人员档案或人员管理档案参照。3) 必须给实体设置一个缺省参照。4) 为属性设置参照:类型样式选择REF,类型选择某个实体,在参照名称下拉框中将出现该实体对应的参照,从中选择一个与该属性绑定。如果没有设置参照名称,则获取属性的参照时,将取实体的缺省参照。3.4 创建自定义实体从工具箱中拖一个实体到画布上,选中该实

9、体,点右键,选择特性-自定义档案,则该实体将被创建为自定义实体,其属性也将由系统自动生成。如下图所示。4. 创建接口 在设计器上,业务接口只能增加属性,相应会生成get方法,比如增加一个name属性,会生成一个getName()方法,方法的返回值可以自由选择。实际上,如果希望灵活运用业务接口,你可以摆脱设计器的限制,你在设计器上设计出一个业务接口,生成代码后,可以给业务接口增加任何方法,当然实现类也由你自己实现,此时只是通过元数据来管理你的业务接口而已。业务接口的实现类可以分为四种情况,优先级从高到低排列如下:1)实体和特定业务接口连线上的实现类2)实体上注册的实现类3)业务接口上注册的实现类

10、4)系统根据映射关系自动生成的实现类 实体实现了某个接口以后,如果没有在模型中注册接口实现类,则必须设置“业务接口属性映射”。系统会根据属性映射生成默认的接口实现类,类名的规则是:接口名去掉开头的I,后面再加上Impl。 业务接口实现类必须有且仅有一个参数为NCObject的构造函数。 业务接口的使用详见元数据开发红皮书。5. 创建枚举 创建一个枚举类型时,要注意以下几点:1) 枚举类型必须设置返回值类型,当前支持Integer和String两种2) 如果是自定义枚举,需要注册自定义枚举值实现类3) 枚举类型不对应java类,枚举类型的fullClassName为其返回类型,即int或者Str

11、ing4) 可以为属性设置类型为枚举类型,如下图所示:5) 通过IAttribute.getDataType()便可以得到IType,如果为枚举类型,则可转型为IEnumType, 通过IEnumType. getEnumValues()得到枚举类型列表。6. 实体间的关系 目前元数据的关系支持关联、关联引用、1-1聚合、1-多聚合、1-n关联(持久层暂不支持),以及自关联。暂不支持跨组件的1-1聚合、1-多聚合、1-多关联、继承。设置关系的注意事项:1) 关系中必须设置源属性。2) 注意:设置了关系后,属性的类型便会发生变化,但删除关系后,属性的类型不会恢复,务必要检查。另外,修改过带有关系

12、的属性后,需要重新设置关系(即重新拉线)。7. 元数据发布元数据发布的最小单元是组件。选中某个组件,或者在画布中点击右键,即可发布元数据。注意事项:1) 必须保存后才能发布2) 发布时必须启动NC中间件,因为元数据会发布到数据库中,数据库为默认数据源3) 发布时会一起发布被依赖的组件,支持双向依赖,循环依赖。4) 如果发布元数据时忽略版本,则完全以本地的模型文件为准,可能造成库中新版本的模型被覆盖,非特殊情况不推荐使用。5) 开发环境的发布只是为了开发人员测试需要,提交产品时只需要将bmf文件提交到相应模块的METADATA目录下,安装帐套时会自行发布到数据库中。导出JAVA代码:1) 可以在

13、组件里设置代码风格,对于主子表结构,V55基本上选择AggVO,这样生成的代码和以前的兼容。2) 必须启动NC中间件。3) 导出java文件前,必须确保最新修改的组件已经被发布。4) 生成的代码都实现了SuperVO。生成建库脚本:1) 生成建库脚本前,必须确保元数据已经被发布到数据库。2) 建库脚本可以直接在当前数据源所对应的数据库执行。3) 对于聚合关系,不管是1-1还是1-多,均会在子表里生成外键。注册服务并发布:1) 服务可以在模块间调用,操作只可以在模块内调用2) 服务在设计器里无需建立,直接注册java接口和实现类即可3) 发布服务,可以直接形成upm/usm文件,upm/usm是

14、基于原有module文件优化而来,具体参考中间件培训文档。第三章 元数据管理元数据管理工具主要用于在运行时对已发布的元数据进行管理。它包含以下功能:1) 对元数据信息进行浏览,修改元数据的显示名称、描述信息等可编辑字段;2) 维护枚举类型;3) 元数据的升级;4) 元数据恢复到系统默认状态。8. 元数据信息浏览和修改元数据管理功能节点在“客户化/二次开发工具/系统管理工具/”下。界面如下图所示:左侧面板中是一棵元数据树,树的第一级是模块,选中某个模块,会显示该模块下的所有组件和子模块。选中某个组件,右侧面板上将显示该组件所有的实体,枚举,值对象,分别显示在不同的页签上(组件中的业务接口目前并没

15、有在此处显示):选中某个实体,可以看到该实体的属性,及该实体实现的接口信息:点击“修改”按钮,可以修改当前页签上的蓝色字段。9. 枚举类型的维护可以在元数据管理节点增加用户自定义的枚举类型,或者修改已有的枚举类型。选中组件,可以新增枚举,如下图所示:选中枚举,点击“枚举”按钮下的子按钮“修改”,即弹出枚举类型维护对话框:在该对话框上可以对枚举类型的各项信息进行修改。10. 元数据升级:点击升级按钮,会弹出文件选择对话框,可以选择要升级的bmf文件。应用场景:在元数据发布以后,如果对个别组件又进行了修改,此时可以在元数据管理节点对修改过的bmf文件进行升级。升级时会将该组件及其依赖的组件重新发布

16、。例外情况是如果组件的版本低于数据库中的版本,则不会重新发布。11. 恢复到系统默认状态:选中某个组件,点击“系统默认”,将从数据库中删除用户在运行时修改过的内容,恢复到刚发布或者升级后的状态。第四章 元数据典型应用12. 基于元数据创建单据模板在单据模板设置界面选择元数据组件:模板上不再需要定义公式,直接从元数据模型树上拖拉需要显示的业务字段即可。13. 在流程平台中使用元数据 首先单据类型必须支持元数据。在单据类型管理界面,选择该单据类型所属的元数据组件,如果不选,认为该单据类型不支持元数据。 对于支持元数据的单据类型,在审批流转移条件设置和工作项配置的时候就可以选择元数据。数据交换管理界

17、面也会以元数据而不是传统单据的样式展现:14. 某个实体作为参照使用通常情况下需要经过以下几个步骤: (1)实体必须实现基本档案接口(IBODObject),否则无法正确显示名称和编码。(2)设置实体的业务接口属性映射。(3)建一个实现了IRefModel的参照类,并在bd_refinfo表中注册。(4)为实体设置参照。在实体的模型视图中选择参照页签,点击“设置参照”,详见3.3节实体和属性的参照设置。 以上只是针对一般情况,对于特殊情况,比如说接口的属性不能直接映射实体的属性,那么就需要开发人员另外去写接口实现类了。15. 自定义项如何使用如果在单据模板上需要有自定义项,则可以在模型设计器中

18、给实体增加一个属性,将其类型设为“自定义项”。类型为“自定义项”的属性可以在元数据管理界面修改它的类型和类型样式。双击自定义项属性的类型编辑框,弹出元数据实体选择框,16. 元数据查询元数据对外部提供的查询服务主要有两个:(1)MDBaseQueryFacade:前后台均可调用,提供元数据基本的一些查询,如查询模块、组件、实体、值对象、属性等。 支持前台缓存功能。如果开发人员在开发环境需要频繁的修改元数据,则为了避免必须重启JStarter才能使得修改生效,可以在JStarter的启动参数里增加参数,在开发时临时关闭前台缓存功能。-Dnc.md.detectEachTime=true(2)MD

19、QueryService:后台查询,前台请不要调用。MDQueryService服务为元数据自身查询服务的统一入口,通过此入口类可以请求不同的查询服务。在后台,如果是一些简单查询,比如通过名称,则优先使用nc.md.MDBaseQueryFacade提供的查询方法。特别注意:前台全部使用MDBaseQueryFacade,否则会导致严重后果。在元数据中,属性的查找都是通过先查找Bean,再调用Bean的相关方法来实现的(bean.getAttributeByID(attributeID))。17. 基于元数据的数据访问元数据的数据访问,是指在得到了Bean的情况下,要取得属性的值。元数据取数完全基于模型角度,不用了解数据库结构。可以支持复杂条件查询,支持批量取数,有效提高数据访问效率。基于元数据的数据访问主要用到DASFacade及NCObject类。详见元数据开发红皮书。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1