元数据一、元数据概念对于元数据的业务模型,开发人员首先需要了解的关键概念包括:模块,组件,实体,值对象,业务接口,属性,业务操作,方法,参数,元素,容器,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_class1属性(IAttribute):对应实体里的每个字段,对应数据库表md_property业务操作(IBusinessOperation):表达一个完整的外部服务或者内部服务(service)。业务操作也定义在组件里。对应数据库表md_busiOperation。业务接口(IBizInterface):供实体或者值对象实现的接口,接口本身定义了特定的访问方法。对应数据库表md_class备注:在设计器上,业务接口只能增加属性,相应会生成get方法,比如增加一个name属性,会生成一个getName()方法,方法的返回值可以自由选择。实际上,如果希望灵活运用业务接口,你可以摆脱设计器的限制,你在设计器上设计出一个业务接口,生成代码后,可以给业务接口增加任何方法,当然实现类也由你自己实现,此时只是通过元数据来管理你的业务接口而已。二、NC模型设计器的环境介绍1、安装模型设计插件插件安装的方法跟普通插件安装的方法一样,检查插件是否安装成功的方法:Help->AboutEclipsePlatform->PluginDetails,如果看到被红线圈住的插件就说明插件已经安装成功。插件最新版本是1.0.8.7b,以后还会更新。访问http://uapserver03/ncmdp/ncmdp_site下载插件。22、打开模型视图(1)、插件安装成功之后,Windows->OpenPerspective->Other,选中下图红线部分3(2)、进入模型视图之后,可以选中工程中的某一个目录点右键新建模型文件,文件的后缀名是bmf,一个模型文件相当于一个元数据组件,是部署的基本单元。(3)、然后可以在组件中创建实体、业务接口等等。在模型视图中有业务组件工具箱和关联关系工具箱,可以通过拖拽的方式创建实体、业务接口、关联关系等等。4三、制作典型主子表元数据1、创建主实体(1)、给主实体添加属性实体创建完之后,要给实体设置主属性,也就是主键。5在例子中,主键是id,在一般情况下主键的类型要设置成UFID,类型样式为SINGLE。类型样式有四种:SINGLE:单一样式,大部分属性都选择这个样式。REF:引用样...