1.09k likes | 1.32k Views
BOS Studio 开发指南. ------ 随需应变. 金蝶软件(中国)有限公司. 目录. 整体介绍 详细功能介绍 元数据概述 元数据建立 元数据发布 课程小结. 目录. 整体介绍 详细功能介绍 元数据概述 元数据建立 元数据发布 课程小结. 传统 软件开发面临的挑战. 金蝶 BOS 工具的目标: 以 MDA 的理念解决管理软件如何开发的问题. BOS Studio 是什么. 面向行业开发专家 如总部 EAS 开发、高级实施人员 设计期建模工具 用于元数据模型的建立与转换 是业务建模工具的基础
E N D
BOS Studio开发指南 ------随需应变 金蝶软件(中国)有限公司
目录 • 整体介绍 • 详细功能介绍 • 元数据概述 • 元数据建立 • 元数据发布 • 课程小结
目录 • 整体介绍 • 详细功能介绍 • 元数据概述 • 元数据建立 • 元数据发布 • 课程小结
传统软件开发面临的挑战 金蝶BOS 工具的目标: 以MDA的理念解决管理软件如何开发的问题
BOS Studio是什么 • 面向行业开发专家 • 如总部EAS开发、高级实施人员 • 设计期建模工具 • 用于元数据模型的建立与转换 • 是业务建模工具的基础 • 业务建模工具与Studio采用一个模型,两种视图 • 对业务建模结果的精细调整,如数据库表字段的类型 • 实现技术基于Eclipse平台 • 与业务建模工具、工作流建模工具、JDT有效集成 BOS Studio被称为: 设计开发工具
BOS Studio的核心功能 元数据模型建立 各项元数据的定义。 元数据模型校验 元数据的校验 元数据模型变换 元数据发布 实体导成表 元数据的导入、导出
目录 • 整体介绍 • 详细功能介绍 • 元数据概述 • 元数据定义 • 元数据发布 • 课程小结
Meta Meta Meta BOS元数据体系结构 • 元数据是用来描述业务数据模型结构的一种模型。 BOS元数据体系 HardCode EntityObject Relationship CoreMeta Façade.entity uiobject.entity Entityobject.entity MetaMetaData Voucher.entity Voucher.facde VoucherListUI.ui MetaData Voucher(“1f+IAwEKEADgACOdwKgTyEjaOnE=”) User(“5MD1gQEKEADgAK2+wKgTyEjaOnE=”,”张三”) BizData
BOS元数据的分类 • 解决方案(Solution) • 包(Package) • 实体(Entity) • 关系 • 数据表(Table) • 查询(Query) • 用户界面(UI) • 功能(Façade) • 业务功能(Function) • 枚举(Enumeration) • 异常(Exception) • 权限(Permission) • 多语言资源(Resource) • 规则(Rule) • 业务数据类型(Data Type) • 日志(Log)
目录 • 整体介绍 • 案例分析 • 详细功能介绍 • 元数据概述 • 元数据定义 • 元数据发布 • 课程小结
解决方案 解决方案是元数据的最大载体,对应于一个元数据集合,任一个元数据都必须归属于某个解决方案。譬如,EAS就是一个解决方案。 解决方案的定义包括: 名称、别名、描述 支持语言 发布方案
包 • 提供了元数据的Namespace管理。 • 提供了一种分类和查看的方式。 • 类似于目录结构的一个树状模型。 • 元数据必须属于且只属于一个包。 • 包定义的名称必须与文件的命名一致。 • 在定义期,包会映射到元数据存储的实际目录。
包-基础信息设置 • 注:包名称只能是英文,别名可以是中文
实体 是数据存储的一个逻辑视图 对应于业务系统中的实体类 实体对象分类 “常规”(Normal):是可永久存储的数据对象 “抽象”(Abstract):不定义与数据对象的映射,实体对象可以继承它。
实体-基础信息 • 注:名称不能输中文,该名称将会在定义实体,生成源代码,创建数据表时被引用
实体-设置或修改实体的基础信息 设置或修改实体的一般信息。 注:别名一般都必须加上。 设置或修改实体对象的扩展属性,常用的扩展属性包括: codingRuleEnabled、 editUI、listUI、defaultQueryUI、OrgType等 此处可修改实体对象的所继承的父类对象及实体所关联的数据表
实体-定义实体的属性 设置字段的详细信息:数据类型、数据长度、默认值、映射的数据表字段等 定义自有属性及关联属性 增加及设置实体属性的扩展属性,常用扩展属性有: isForMapping、isForGrouping、isForWrittenBack、isInCode、isVisibleForKDTable等。 些处设置实体属性所对应的数据表字段信息。
实体-定义实体的方法 设置修改各实体方法的一些基本信息,主要包括:名称、别名、访问级别、事务属性及返回值类型等。 根据实际业务的需要添加实体方法,或导入基类已有的方法。 定义或修改实体方法所涉及到的参数,主要包括参数的名称、数据类型等。
实体-实体的事件 此外定义事件的一些参数,这些参数会是工作流运行过程中赋值,并传递所引用的方法。 添加实体的事件定义,此处定义主要为工作流所用。 些处定义当相应事件发生时所调用的方法,并根据参数映射将事件参数传递给相应方法。 此处建立方法参数与事件参数之间的映射关系。
实体-定义实体的缺省视图 通常为空,系统会自动生成一个默认的实体
实体关系 • 关系是指实体对象之间的连接关系。 • Studio中在实体中添加链接属性时,需要先建好实体与实体间的关系, • 关系分为以下几种: • 关联(Association)——学生和课程 • 聚合(Composition)——汽车和车轮
实体关系-详细定义 实体关系的详细定义,此处应重点关注实体关系的类型及多重性设置。
查询 • 查询 是实体的查询视图,可以在数据访问过程中只获取视图中指定属性的数据,并按照过滤、排序条件进行数据的过滤和排序。 • 查询的数据组织形式是二维模型的,可以分为: • 连接查询; • 联合查询。
查询-定义查询 可进行查询对象的导入或增加,并定义对象的关联类型,如:父对象所有行子对象所有行
查询-定义查询的字段 定义查询字段的计算式,此处#0代表下框中选择的第一个字段,#1代表第二个,依此类推,且可定义计算式,如:#0-#1 设置查询字段的扩展属性,常用扩展属性有: isCommonQueryFilter、isCommonQuerySorter、displayFormat、editFormat、isVisibleForKDTable、colWidthInKDTable等
用户界面 • 人机交互界面的抽象性描述 • 采用可视化的拖拽方式进行定义 • 主要定义内容包括: • 控件类型 • 控件的属性 • 控件的布局 • 界面的多语言 • 菜单栏 • 工具栏 • 界面状态 • 界面控件的事件响应 • Action
用户界面-工具栏编辑 此处可对工具栏按钮进行添加、删除操作,并可在属性视图修改所选的工具栏按钮的属性值。
用户界面-菜单编辑 此处可对菜单项进行添加、删除操作,并可在属性视图修改所选的菜单项的属性值。
用户界面-界面状态设置 设置各类Status下界面的状态信息。