元数据使用入门.doc_第1页
元数据使用入门.doc_第2页
元数据使用入门.doc_第3页
元数据使用入门.doc_第4页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

元数据一、 元数据概念 对于元数据的业务模型,开发人员首先需要了解的关键概念包括:模块,组件,实体,值对象,业务接口,属性,业务操作,方法,参数,元素,容器,IBean等。模块(IModule)对应目前我们部署环境里modules下的各个目录,比如uap,uapbd,uapeai等,只是部署环境里的module是平级的,而元数据里模块是一个属性结构,也就是说模块可以有子模块,比如uap的子模块有uapbd,uapeai,uapportal,uapqe等。对应数据库表md_module模块是安装的基本单元,元数据所有产生的脚本是以模块为单位导出初始化脚本的。组件(IComponent)描述的是一个相对独立和完整的业务块,主要是从业务层次上进行划分,比如“销售订单”可以作为一个组件,“客商档案”也可以作为一个组件,划分组件时,注意组件间的重用,且注意不要形成相互依赖。组件属于模块,一个模块可以包含多个组件。对应数据库表md_component组件是部署的基本单元,一个典型的组件会包含若干个有相互关系的实体(但只能有一个主实体),组件内还包括服务和操作,服务可以直接生成usm配置文件,操作可以直接生成upm配置文件,另外组件里还可以有业务接口,枚举类型等。实体(IBusinessEntity)是指可以通过一系列连续性(continuity)和标识(identityID)来定义的业务对象,NC原有的大部分VO基本上都算得上是实体。实体属于特定的组件,一个组件可以包含多个实体,组件可以没有任何实体,(比如只有业务接口),但如果有实体,则必须设置一个主实体。对应数据库表md_class值对象(IPropertyType):如果一个对象代表了领域的某种描述性特征,且没有概念性的标识,比如颜色,地址,但也不能一概而论,有些需要取决于具体的业务场景。值对象同样定义在组件里,一个组件可以包含多个值对象。对应数据库表md_class值对象与实体的另一个差别:值对象可以通过判断其所有的属性是否相等来判断值对象是否相等,而两个实体即使所有属性都相等,但主键不相等,也不能说两个实体相等。从这个意义上可以说,值对象是无生命的,而实体是有生命的。自定义实体(ICustomEntity):表达拥有特定属性的一类实体,对应NC里的自定义档案,自定义实体是一种特殊的实体。对应数据库表md_class属性(IAttribute):对应实体里的每个字段,对应数据库表md_property业务操作(IBusinessOperation):表达一个完整的外部服务或者内部服务(service)。业务操作也定义在组件里。对应数据库表md_busiOperation。业务接口(IBizInterface):供实体或者值对象实现的接口,接口本身定义了特定的访问方法。对应数据库表md_class备注:在设计器上,业务接口只能增加属性,相应会生成get方法,比如增加一个name属性,会生成一个getName()方法,方法的返回值可以自由选择。实际上,如果希望灵活运用业务接口,你可以摆脱设计器的限制,你在设计器上设计出一个业务接口,生成代码后,可以给业务接口增加任何方法,当然实现类也由你自己实现,此时只是通过元数据来管理你的业务接口而已。二、 NC模型设计器的环境介绍1、 安装模型设计插件插件安装的方法跟普通插件安装的方法一样,检查插件是否安装成功的方法:Help- About Eclipse Platform-Plugin Details,如果看到被红线圈住的插件就说明插件已经安装成功。插件最新版本是b,以后还会更新。访问http:/uapserver03/ncmdp/ncmdp_site下载插件。2、 打开模型视图(1)、插件安装成功之后,Windows-Open Perspective-Other,选中下图红线部分(2)、进入模型视图之后,可以选中工程中的某一个目录点右键新建模型文件,文件的后缀名是bmf,一个模型文件相当于一个元数据组件,是部署的基本单元。 (3)、然后可以在组件中创建实体、业务接口等等。在模型视图中有业务组件工具箱和关联关系工具箱,可以通过拖拽的方式创建实体、业务接口、关联关系等等。 三、 制作典型主子表元数据1、 创建主实体(1)、给主实体添加属性实体创建完之后,要给实体设置主属性,也就是主键。在例子中,主键是id,在一般情况下主键的类型要设置成UFID,类型样式为SINGLE。类型样式有四种:SINGLE:单一样式,大部分属性都选择这个样式。REF:引用样式,当属性引用别的实体的时候,设置为应用样式。ARRAY、LIST:当该属性是作为1-n关联或者1-n聚合关系的源属性时,设置成ARRAY、LIST样式。一般情况下,类型样式是会自动设置的,比如:当属性引用了其他的实体时,类型样式会自动变成REF,某属性被1-n关联关系设置成源属性时,该属性的类型样式会自动变成ARRAY。但是把REF或者ARRAY变回SINGLE时要手动设置,比如,当去掉主实体和子实体的组合关系时,一定要把源属性的类型样式手动从ARRAY设回SINGLE。(2)、设置实体参数。要设置一些参数,就是在后面生成脚本时的表名和生成java源文件的VO类名 对于主实体来说访问器类型要设置成AggVO生成java文件时聚合VO的类名java主VO的类名对应的数据库表名2、 创建子实体创建子实体的方法和创建子实体的步骤类似设置实体参数时跟主实体有点不同,主要是访问器类型设置为NCVO,而且访问器参数没有包装类名那一项。3、 建立主实体和子实体之间关系元数据中实体中有多种关系:继承、依赖、1-1组合、1-n组合等等,一般在设计主-子表关系时,选择1-n组合关系。在选中1-n组合关系时,必须要给该组合关系设置源属性,这个属性比较特殊,在进行元数据设计的时候,它是主实体的一个属性,但是在最后生成数据库表结构的时候它实际上是子表的一个字段,是子表对主表的外键(关于生成建库脚本后面还会介绍),该属性的访问策略要设置成BodyOfAggVOAccessor。最后大家确认一下该属性字段名必须与主表主键名相同,否则保存会丢外键。在把主实体中的属性设置成源属性之后,该属性的类型样式会自动变成“ARRAY”4、 发布模型在发布模型之前:(1)、把组件的主属性设置成主实体 (2)、保存(3)、启动中间件(4)、发布元数据,发布元数据有两种方式:忽略版本和不忽略版本。如果发布元数据时忽略版本,则完全以本地的模型文件,可能造成库中新版本的模型被覆盖,非特殊情况不推荐使用。开发环境的发布只是为了开发人员测试需要,提交产品时只需要将bmf文件提交到相应模块的METADATA目录下,安装帐套时会自行发布到数据库中。5、 生成java VO源文件总共会生成三个源文件:nc.vo.so2.test.AggTestHVO,nc.vo.so2.test.TestHVO,nc.vo.so2.test.TestBVO(类名是在给实体设置参数的时候设置的),第一个VO是聚合VO继承了nc.vo.trade.pub.HYBillVO,后两个VO都继承了SuperVO。6、 生成建库脚本总共会生成两个表:test、test_b(表名是在设置实体参数的时候设置的)和一个子表对主表的外键

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论