元数据建模

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

创建业务实体
组件内对象的创建
1)主键 实体必须设置主属性(主键 主键:实体必须设置主属性 主键) 主键 实体必须设置主属性 主键 2)访问器 当组件代码样式选择传统样式时,针对主子表或者多子表中主表对应的实体, 访问器要设 访问器:当组件代码样式选择传统样式时,针对主子表或者多子表中主表对应的实体, 访问器 当组件代码样式选择传统样式时 置为AggVO,即聚合 访问器,对应的子表或者仅有一个实体的组件,实体的访问器设置为 即聚合VO访问器 置为 即聚合 访问器,对应的子表或者仅有一个实体的组件,实体的访问器设置为NCVO. 3)动态信息修改类 用于动态修改实体,是IDynamicEntityFactory的实现类。(是修改实体的属性描 动态信息修改类:用于动态修改实体 的实现类。( 动态信息修改类 用于动态修改实体, 的实现类。(是修改实体的属性描 述信息) 述信息) 4)缺省表名:生成数据库时对应的表名 缺省表名: 缺省表名 5)业务接口实现类 如果实体实现了业务接口,这里可以注册实现类。 业务接口实现类: 业务接口实现类 如果实体实现了业务接口,这里可以注册实现类。
创建业务组件
业务组件的创建
版本号:记录组件当前版本, 版本号 记录组件当前版本,防止旧版本覆盖新版本 记录组件当前版本 代码风格:主要针对主子表及多子表结构 传统样式生成AGGVO,标准样式为 主要针对主子表及多子表结构, 代码风格 主要针对主子表及多子表结构,传统样式生成 ,标准样式为OO 多语言资源模块:对应多语言里的文件夹名 对应多语言里的文件夹名, 多语言资源模块 对应多语言里的文件夹名,现在按照组件划分 主实体: 一个组件里如果有实体, 主实体 一个组件里如果有实体,必须设置主实体 名称:必须全局唯一, 名称:必须全局唯一,否则不允许发布
3-3 NC元数据框架介绍 元数据框架介绍
NC元数据的整体结构 元数据的整体结构
Design Time 模型设计器
发布元 数据
Run Time 访问服务 管理工具
业 数 元 务 据 数 模 据 型 型 元数据仓库 mapping 模
元 数 据
NC企业建模组成框架及开发流程 企业建模组成框架及开发流程
在建模过程中,有自动的转换映射关系, 在建模过程中,有自动的转换映射关系,只需要 进行必要的修改,而不需要完全的手动设置。 进行必要的修改,而不需要完全的手动设置。
准备工作
业务建模也是以模块为单位进行组织的。 业务建模也是以模块为单位进行组织的。
准备工作( 准备工作(续)
如果是新创建的模块或是之前没有注册过, 如果是新创建的模块或是之前没有注册过,需要在功能建 模环境中进行模块信息注册。 模环境中进行模块信息注册。
选择添加模块
认识业务建模开发环境
认识业务建模开发环境
3
1 2 5
6
概念简介
模块、组件、实体、属性、枚举、 模块、组件、实体、属性、枚举、业务接口
1.模块是安装的基本单元,在NC产品创建或升级帐套时以模块为单位对元数据进行发布。 2.组件描述一个完整的业务功能 ,包含一个或多个实体、值对象、枚举、业务接口 3.实体是指需要有唯一标识的业务对象,NC原有的大部分VO基本上都算得上是实体
业务接口的使用
模型层的使用
Map<String, IAttribute> nc.md.model.IBusinessEntity.getBizInterfaceMapInfo(String fullIntefaceClassName) 查询实现了特定业务接口的实体中的属性和接口方法的对应关系, 如果客户实现了ICodeName<code,name,dispalyName>, 则customerBean.getBizInterfaceMapInfo(“nc.vo.bd.ICodeName”) 将返回 <”code”,CodeAttr>, <”name”,NameAttr>,<”displayName”,displayNameAttr>
创建业务接口
业务接口对应着一个JAVA接口类型,除了普通意义上的接口与实现类的关系外,还定义了一些希望获 接口类型,除了普通意义上的接口与实现类的关系外, 业务接口对应着一个 接口类型 知的属性,通过实现者(实体)配置属性的对应关系, 知的属性,通过实现者(实体)配置属性的对应关系,从而通过接口很方便的获得实现者实体特定意 义属性(如很方便的获得走流程实体的制单人、审批人等属性)。 义属性(如很方便的获得走流程实体的制单人、审批人等属性)。 暂时系统内置了两个业务接口,如果单据走流程,必须实现pfbizitf接口,如果实现 交换,则上游 接口, 交换, 暂时系统内置了两个业务接口,如果单据走流程,必须实现 接口 如果实现VO交换 单据必须实现IHeadBodyQueryItf接口 流程平台有缺省的接口实现,不需要实体去实现 ;如果想把 接口(流程平台有缺省的接口实现 单据必须实现 接口 流程平台有缺省的接口实现,不需要实体去实现) 实体做成参照,必须实现dbinterface接口。 接口。 实体做成参照,必须实现 接口 有三个地方可以设置接口的实现类。 有三个地方可以设置接口的实现类。 业务接口实现类的采用优先级: 业务接口实现类的采用优先级:实体与被实现特定接口实现关系连线上定义的实现类 > 实体上定义的 系统根据影射关系生成的实现类。 业务接口实现类 > 业务接口上定义的业务接口实现类 > 系统根据影射关系生成的实现类。 业务接口是根据NC某些特定需求 流程平台)而创建的,一般业务很少需要自己创建。 某些特定需求( 业务接口是根据 某些特定需求(流程平台)而创建的,一般业务很少需要自己创建。
创建业务实体( 创建业务实体(续)
实体属性说明
1)类型样式 主要分 类型样式:主要分 都是聚集类型, 类型样式 主要分Single,REF,ARRAY,LIST,ARRAY和LIST都是聚集类型,只是生成代码是用数组 , 和 都是聚集类型 表示还是List表示,按照 编码习惯,推荐选择 表示, 编码习惯, 形式。 表示还是 表示 按照NC编码习惯 推荐选择ARRAY形式。 形式 2)类型 可以自行选择,当建立实体间关系时,也会自动设置;主键一定要设置为 类型:可以自行选择 类型 可以自行选择,当建立实体间关系时,也会自动设置;主键一定要设置为UFID类型 类型 3)字段名称 生成数据库表列的名称 字段名称:生成数据库表列的名称 字段名称 4)访问策略:定义访问实体中属性的方式,元数据框架内部使用。聚合实体的关联子实体属性需要 )访问策略:定义访问实体中属性的方式,元数据框架内部使用。 设置成BodyofAggVO的形式。 的形式。 设置成 的形式 5) 计算属性 由其他属性计算得到,本身不需要保存到数据库,不会生成数据库的列 计算属性:由其他属性计算得到 本身不需要保存到数据库, 由其他属性计算得到, 6) 空:是否可以为空 7) 授权:用于权限控制 授权: 8) 扩展标签 可以自由的给属性加上标注 比如 扩展标签: 可以自由的给属性加上标注,比如 比如@uniqueCheck,在程序中便可以通过这个标签 , 来过滤属性。 来过滤属性。 List<IAttribute> nc.md.model.impl.MDBean.getAttributes(String tag)
基本概念
模型:对实际事物或对象的抽象, 模型:对实际事物或对象的抽象,能够描述对象 以及对象之间的关联关系。 以及对象之间的关联关系。
业务模型、数据模型、 模型等 业务模型、数据模型、BI模型等
元数据:描述数据的数据 元数据:
业务模型元数据、数据模型元数据等 业务模型元数据、
业务建模:从实际的业务需求出发, 业务建模:从实际的业务需求出发,建立起业务 所需的业务模型。 所需的业务模型。 功能建模:确定业务对象的功能及界面展现。 功能建模:确定业务对象的功能及界面展现。
操作
操作用于实现upm文件的自动生成。 文件的自动生成。 操作用于实现 文件的自动生成 仅用于服务接口及其相应实现的注册,不会进行服务接口方法的定义。 仅用于服务接口及其相应实现的注册,不会进行服务接口方法的定义。 生成的upm文件以组件为单位生成到相应模块的 文件以组件为单位生成到相应模块的META-INFO目录下。 目录下。 生成的 文件以组件为单位生成到相应模块的 目录下
实例层的使用
Customer cust = new Customer(); cust.setPrimaryKey("pkaaaaaaaaaaa"); cust.setCode1("code001"); cust.setName1("nameadfafdafasd"); NCObject custbasObj = NCObject.newInstance(cust); ICodeName codename = (ICodeName)custbasObj.getBizInterface("nc.vo.bd.customer.ICodeName"); System.out.println(codename.getCode()); System.out.println(codename.getName());
NC企业建模 企业建模
用友软件股份有限公司 NC UAP 刘昆鹏
综述
NC UAP平台所支撑的产品层次结构:产品 模块 功能节 平台所支撑的产品层次结构: 模块-功能节 平台所支撑的产品层次结构 产品-模块 点 功能节点是叶子节点, 功能节点是叶子节点,真正提供用户进行数据维护和业务 操作 功能节点是流程平台、会计平台、 功能节点是流程平台、会计平台、供应链应用等高级应用 的基础组成部分。 的基础组成部分。 基于NC UAP平台进行开发,主要工作是进行功能节点的 平台进行开发, 基于 平台进行开发 开发。 开发。 最早也是最基础的节点开发框架是ToftPanel的开发框架 最早也是最基础的节点开发框架是 的开发框架 NC企业建模整个过程最终产生的也是一个或多个功能节 企业建模整个过程最终产生的也是一个或多个功能节 点。
基于UAP UI 基于UAP
打 印 模 板 板 模 板 询 模 查 据 单
功 代

基 SQL 码 生 成 于 Eclipse Eclipse 生 成
源自文库
能 建 模 集 成 开 发 环 境
基于元数据的持久化 MDPersistenceService 基于元数据的数据访问 DASFacade/NCObject 元数据
的 模 型 设 计 器
mapping
元数据
数据
基于UAP基
元数据
数据模型介绍
数据模型对对象的存储结构以及存储结构之间的 关系进行描述。 关系进行描述。
按不同的应用层次分为:概念数据模型、 按不同的应用层次分为:概念数据模型、逻辑数据模型和物理数 据模型
在NC业务建模的过程中,也同时完成了数据模型 业务建模的过程中, 业务建模的过程中 的创建。此处主要完成实体对应的数据库表结构、 的创建。此处主要完成实体对应的数据库表结构、 属性以及表之间的主外键关联关系。 属性以及表之间的主外键关联关系。
快速创建业务实体
如何快速创建业务实体
创建枚举
枚举是对有限值域信息的列举表示。 枚举是对有限值域信息的列举表示。 枚举类型必须设置返回值类型,当前支持Integer和String两种,即枚举的真实值可以是 两种, 枚举类型必须设置返回值类型,当前支持 和 两种 即枚举的真实值可以是Integer 或者String类型。 类型。 或者 类型 枚举类型不对应java类,由元数据框架负责存储特定枚举类型的所有可能取值。 枚举类型不对应 类 由元数据框架负责存储特定枚举类型的所有可能取值。 可以在实体的属性设置中将类型设置为枚举对象类型,则存储的即为该枚举的返回值。 可以在实体的属性设置中将类型设置为枚举对象类型,则存储的即为该枚举的返回值。 通过IAttribute.getDataType()便可以得到 便可以得到IType,如果为枚举类型,则可转型为 如果为枚举类型, 通过 便可以得到 如果为枚举类型 则可转型为IEnumType, 通过 IEnumType. getEnumValues()得到枚举类型列表。 得到枚举类型列表。 得到枚举类型列表 枚举类型在单据模板中会自动以下拉框的形式展现。 枚举类型在单据模板中会自动以下拉框的形式展现。
相关文档
最新文档