电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

NC5客开培训资料-NCV5.5-元数据建模及管理红皮书.docVIP免费

NC5客开培训资料-NCV5.5-元数据建模及管理红皮书.doc_第1页
1/28
NC5客开培训资料-NCV5.5-元数据建模及管理红皮书.doc_第2页
2/28
元数据建模及管理红皮书NC-UAP5.5用友NC-UAP2024-05-12第1页共28页目录第一章前言.....................................................................................................................................3第二章基于元数据的业务建模......................................................................................................41.模型设计器......................................................................................................................42.创建组件..........................................................................................................................43.创建实体..........................................................................................................................54.创建接口:......................................................................................................................95.创建枚举:....................................................................................................................126.实体间的关系:............................................................................................................127.元数据发布....................................................................................................................13第三章元数据管理.......................................................................................................................161.元数据信息浏览和修改.................................................................................................162.枚举类型的维护:.........................................................................................................183.元数据升级:................................................................................................................204.恢复到系统默认状态:.................................................................................................20第四章元数据典型应用...............................................................................................................211.基于元数据创建单据模板.............................................................................................212.在流程平台中使用元数据:.........................................................................................223.某个实体作为参照使用:.............................................................................................234.元数据查询....................................................................................................................255.基于元数据的数据访问.................................................................................................266.自定义项如何使用:.....................................................................................................28第2页共28页第一章前言本文档主要介绍了如何基于元数据进行业务建模,以及如何在运行时对元数据进行管理。最后列举了元数据的一些典型应用。目的是尽可能地让大家在使用元数据的时候更加方便。关于元数据本身的代码架构,以及元数据的基本概念,请参见《NCV5.5-元数据开发红皮书》。第3页共28页第二章基于元数据的业务建模1.模型设计器在基于元数据建模之前,我们先来认识一下模型设计器。NC模型设计器模型设计器有5个重要的组成部分,如图所示。1是资源浏览器,2是工具面板,3是画布,4:属性面板,5:模型视图。2.创建组件在资源浏览器中点右键,可以新建目录或者新建模型文件(见下图)。模型文件(bmf文件)即对应元数据中的一个组件(IComponent)。第4页共28页组件描述的是一个相对独立和完整的业务块,主要是从业务层次上进行划分,比如“销售订单”可以作为一个组件,“客商档案”也可以作为一个组件,划分组件时,注意组件间的重用,且注意不要形成相互依赖。组件属于模块,一个模块可以包含多个组件。资源浏览器中组件所属的目录和组件的模块没有关系,目录只是为了更好的组织和管理bmf文件。组件是部署的基本单元,一个典型的组件会包含若干个有相互关系的实体(但只能有一个主实体),以及业务接口、枚举类型等,另外组件里还可以有服务和操作。点击中间画布空白区域,可以设置组件信息:1)版本号:记录组件当前版本,防止旧版本覆盖新版本。版本号是自动生成的,每点击一次保存,就会增加1。2)代码风格:有NC传统样式和标准样式两种,主要针对主子表及多子表结构,传统样式生成AGGVO,标准样式为OO3)多语言资源模块:对应以前多语言里的文件夹名,现在按照组件划分4)是否预加载:默认false。如果选择true,而且所用的数据源也配置为预加载元数据(在preload-datasource.properties中配置),那么该组件就会在中间件启动时被预先加载。5)主实体:一个组件里如果有实体,则必须设置一个主实体6)名称:该组件的名称。必须全局唯一。3.创建实体从工具箱中拖一个实体到中间的画布上。第5页共28页创建实体的要点:1)主属性:实体必须设置主属性(对应数据库表的主键)。2)访问器:当组件代码样风格选择传统样式时,针对主子表或者多字表中主表对应的实体,访问器要设置为AggVO,即聚合VO访问器,其他的一律选择NCVO,访问器的作用在于适配模型与java代码的不一致性。访问器类型有POJO,NCVO,AggVO。3)包装类名:如果访问器类型是AggVO,则需要生成一个聚合VO类型的包装类。4)动态信息修改类:用于动态修改实体,比如运行时增加或者设置某些属性。5)可见性:public,protected,default,private6)扩展标签:可以给实体加任意的标签,查询时可根据标签过滤。7)缺省表名:生成数据库时对应的表名。8)业务接口实现类:如果实体实现了业务接口,这里可以注册实现类。在“创建接口”小节中,将详细介绍接口实现类的四种情况。3.1实体的属性实体可以有若干属性和操作,还可以实现接口,设置参照。实体中属性的设置要点如下:第6页共28页1)对于设置为AggVO样式的实体,请检查子表属性(1-n聚合关系),比如上图中的[订单明细],访问策略要设置为BodyOfAggVOAccessor。2)类型样式:目前支持Single、REF、ARRAY、LIST四种,具体可参考《元数据开发红皮书》3)类型:可以自行选择,当建立实体间关系时,也会自动设置;主键一定要设置为UFID类型。目前元数据支持如下基本类型:4)字段名称:生成数据库表列的名称5)计算属性:由其他属性计算得到,本身不需要保存到数据库,不会生成数据库的列。6)空:是否可以为空。7)授权:用于权限控制。8)扩展标签:可以自由的给属性加上标注,比如@uniqueCheck,在程序中便可以通过这个标签来过滤属性。Listnc.md.model.impl.MDBean.getAttributes(Stringtag)第7页共28页3.2实体的操作3.3实体和属性的参照设置1)在实体的模型视图上选择参照页签,点击左上角的“设置参照”,弹出参照选择对话框(参照必须先在bd_refinfo表注册才会在这个对话框中出现)2)为实体选择对应的参照,可以多选。点击OK后,选择的参照就会出现在模型视图的参照页签。此处的参照表示该实体可以通过这些参照被引用,比如人员对应的参照为人员档案和人员管理档案参照,如果某个实体的属性是人员类型,类型样式是参照,则可以将该属性设置成人员档案或人员管理档案参照。3)必须给实体设置一个缺省参照。4)为属性设置参照:类型样式选择REF,类型选择某个实体,在参照名称下拉框中将出现该实体对应的参照,从中选择一个与该属性绑定。如果没有设置参照名称,则获取属性的参照时,将取实体的缺省参照。3.4创建自定义实体从工具箱中拖一个实体到画布上,选中该实体,点右键,选择特性->自定义档案,则该实体将第8页共28页被创建为自定义实体,其属性也将由系统自动生成。如下图所示。4.创建接口在设计器上,业务接口只能增加属性,相应会生成get方法,比如增加一个name属性,会生成一个getName()方法,方法的返回值可以自由选择。实际上,如果希望灵活运用业务接口,第9页共28页你可以摆脱设计器的限制,你在设计器上设计出一个业务接口,生成代码后,可以给业务接口增加任何方法,当然实现类也由你自己实现,此时只是通过元数据来管理你的业务接口而已。业务接口的实现类可以分为四种情况,优先级从高到低排列如下:1)实体和特定业务接口连线上的实现类2)实体上注册的实现类3)业务接口上注册的实现类第10页共28页4)系统根据映射关系自动生成的实现类实体实现了某个接口以后,如果没有在模型中注册接口实现类,则必须设置“业务接口属性映射”。系统会根据属性映射生成默认的接口实现类,类名的规则是:接口名去掉开头的I,后面再加上Impl。业务接口实现类必须有且仅有一个参数为NCObject的构造函数。第11页共28页业务接口的使用详见元数据开发红皮书。5.创建枚举创建一个枚举类型时,要注意以下几点:1)枚举类型必须设置返回值类型,当前支持Integer和String两种2)如果是自定义枚举,需要注册自定义枚举值实现类3)枚举类型不对应java类,枚举类型的fullClassName为其返回类型,即int或者String4)可以为属性设置类型为枚举类型,如下图所示:5)通过IAttribute.getDataType()便可以得到IType,如果为枚举类型,则可转型为IEnumType,通过IEnumType.getEnumValues()得到枚举类型列表。6.实体间的关系目前元数据的关系支持关联、关联引用、1-1聚合、1-多聚合、1-n关联(持久层暂不支持),以及自关联。暂不支持跨组件的1-1聚合、1-多聚合、1-多关联、继承。第12页共28页设置关系的注意事项:1)关系中必须设置源属性。2)注意:设置了关系后,属性的类型便会发生变化,但删除关系后,属性的类型不会恢复,务必要检查。另外,修改过带有关系的属性后,需要重新设置关系(即重新拉线)。7.元数据发布元数据发布的最小单元是组件。选中某个组件,或者在画布中点击右键,即可发布元数据。注意事项:第13页共28页1)必须保存后才能发布2)发布时必须启动NC中间件,因为元数据会发布到数据库中,数据库为默认数据源3)发布时会一起发布被依赖的组件,支持双向依赖,循环依赖。4)如果发布元数据时忽略版本,则完全以本地的模型文件为准,可能造成库中新版本的模型被覆盖,非特殊情况不推荐使用。5)开发环境的发布只是为了开发人员测试需要,提交产品时只需要将bmf文件提交到相应模块的METADATA目录下,安装帐套时会自行发布到数据库中。导出JAVA代码:1)可以在组件里设置代码风格,对于主子表结构,V55基本上选择AggVO,这样生成的代码和以前的兼容。2)必须启动NC中间件。3)导出java文件前,必须确保最新修改的组件已经被发布。4)生成的代码都实现了SuperVO。生成建库脚本:第14页共28页1)生成建库脚本前,必须确保元数据已经被发布到数据库。2)建库脚本可以直接在当前数据源所对应的数据库执行。3)对于聚合关系,不管是1-1还是1-多,均会在子表里生成外键。注册服务并发布:1)服务可以在模块间调用,操作只可以在模块内调用2)服务在设计器里无需建立,直接注册java接口和实现类即可3)发布服务,可以直接形成upm/usm文件,upm/usm是基于原有module文件优化而来,具体参考中间件培训文档。第15页共28页第三章元数据管理元数据管理工具主要用于在运行时对已发布的元数据进行管理。它包含以下功能:1)对元数据信息进行浏览,修改元数据的显示名称、描述信息等可编辑字段;2)维护枚举类型;3)元数据的升级;4)元数据恢复到系统默认状态。1.元数据信息浏览和修改元数据管理功能节点在“客户化/二次开发工具/系统管理工具/”下。界面如下图所示:左侧面板中是一棵元数据树,树的第一级是模块,选中某个模块,会显示该模块下的所有组件和子模块。选中某个组件,右侧面板上将显示该组件所有的实体,枚举,值对象,分别显示在不同的页签上(组件中的业务接口目前并没有在此处显示):第16页共28页选中某个实体,可以看到该实体的属性,及该实体实现的接口信息:点击“修改”按钮,可以修改当前页签上的蓝色字段。第17页共28页2.枚举类型的维护可以在元数据管理节点增加用户自定义的枚举类型,或者修改已有的枚举类型。选中组件,可以新增枚举,如下图所示:选中枚举,点击“枚举”按钮下的子按钮“修改”,即弹出枚举类型维护对话框:第18页共28页在该对话框上可以对枚举类型的各项信息进行修改。第19页共28页3.元数据升级:点击升级按钮,会弹出文件选择对话框,可以选择要升级的bmf文件。应用场景:在元数据发布以后,如果对个别组件又进行了修改,此时可以在元数据管理节点对修改过的bmf文件进行升级。升级时会将该组件及其依赖的组件重新发布。例外情况是如果组件的版本低于数据库中的版本,则不会重新发布。4.恢复到系统默认状态:选中某个组件,点击“系统默认”,将从数据库中删除用户在运行时修改过的内容,恢复到刚发布或者升级后的状态。第20页共28页第四章元数据典型应用1.基于元数据创建单据模板在单据模板设置界面选择元数据组件:第21页共28页模板上不再需要定义公式,直接从元数据模型树上拖拉需要显示的业务字段即可。第22页共28页2.在流程平台中使用元数据首先单据类型必须支持元数据。在单据类型管理界面,选择该单据类型所属的元数据组件,如果不选,认为该单据类型不支持元数据。对于支持元数据的单据类型,在审批流转移条件设置和工作项配置的时候就可以选择元数据。第23页共28页数据交换管理界面也会以元数据而不是传统单据的样式展现:3.某个实体作为参照使用通常情况下需要经过以下几个步骤:(1)实体必须实现基本档案接口(IBODObject),否则无法正确显示名称和编码。第24页共28页(2)设置实体的业务接口属性映射。第25页共28页(3)建一个实现了IRefModel的参照类,并在bd_refinfo表中注册。(4)为实体设置参照。在实体的模型视图中选择参照页签,点击“设置参照”,详见3.3节实体和属性的参照设置。以上只是针对一般情况,对于特殊情况,比如说接口的属性不能直接映射实体的属性,那么就需要开发人员另外去写接口实现类了。4.自定义项如何使用如果在单据模板上需要有自定义项,则可以在模型设计器中给实体增加一个属性,将其类型设为“自定义项”。类型为“自定义项”的属性可以在元数据管理界面修改它的类型和类型样式。双击自定义项属性的类型编辑框,弹出元数据实体选择框,第26页共28页5.元数据查询元数据对外部提供的查询服务主要有两个:(1)MDBaseQueryFacade:前后台均可调用,提供元数据基本的一些查询,如查询模块、组件、实体、值对象、属性等。支持前台缓存功能。如果开发人员在开发环境需要频繁的修改元数据,则为了避免必须重启JStarter才能使得修改生效,可以在JStarter的启动参数里增加参数,在开发时临时关闭前台缓存功能。-Dnc.md.detectEachTime=true第27页共28页(2)MDQueryService:后台查询,前台请不要调用。MDQueryService服务为元数据自身查询服务的统一入口,通过此入口类可以请求不同的查询服务。在后台,如果是一些简单查询,比如通过名称,则优先使用nc.md.MDBaseQueryFacade提供的查询方法。特别注意:前台全部使用MDBaseQueryFacade,否则会导致严重后果。在元数据中,属性的查找都是通过先查找Bean,再调用Bean的相关方法来实现的(bean.getAttributeByID(attributeID))。6.基于元数据的数据访问元数据的数据访问,是指在得到了Bean的情况下,要取得属性的值。元数据取数完全基于模型角度,不用了解数据库结构。可以支持复杂条件查询,支持批量取数,有效提高数据访问效率。基于元数据的数据访问主要用到DASFacade及NCObject类。详见元数据开发红皮书。第28页共28页

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

NC5客开培训资料-NCV5.5-元数据建模及管理红皮书.doc

您可能关注的文档

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信