UBF开发工具介绍
概述
UBF(Ufida Business Framework)是采用元数据驱动的、分布式的、面向服务的架构,它提供了统一的编程抽象模型,是一个适合应用软件开发及部署的全角色平台。
UBF 的主要特征:
- 提供了基于SOA的运行框架平台
- 应用平台架构,实现业务与技术分离
- 基于DSL(领域描述语言)的模型驱动开发(MDD)
- 支持智能客户端(Smart Client)
- 实现全业务流程管理(BPM)
- 集成的可视化开发环境(UBF Studio),友好一致的界面风格
- 和第三方的版本管理工具集成,支持大规模的团队开发
- 面向“产业链”的全角色,全过程平台
- 以文档为中心的使用方式,用户只需关心要操作的业务数据
应用架构
UBF 应用架构分为Designtime 和 Runtime 以及一系列工具组成。
设计期生成系列元数据模型,包括UI 模型、服务模型、实体模型、流程模型和分析模型(包括报表和BI)。
通过代码生成器生成框架代码和测试用例,减少了机械性代码的工作量,使开发人员专注于业务逻辑代码的开发
运行期的Framewok 支持:
应用开发流程
UBF Studio为应用开发人员提供了规范的模型驱动的应用开发流程(如下图所示)。
在上图中,
- 蓝色的活动和制品分别表示模型的设计活动和元数据文件。
- 粉色的活动和制品分别表示界面模型的设计过程和界面文件。
- 绿色的活动代表使用VS .Net IDE进行编码的过程,绿色的制品是C#代码。
- 黄色的活动和制品分别表示数据库的设计过程和文档。
- 红色的活动代表部署过程,红色的制品代表运行时刻的应用服务器。
在核心的开发过程中,起始点是业务模型的设计。可以使用UBF Studio的模型设计工具设计实体组件、业务操作组件、服务组件,以及数据表组件和OR映射组件。
业务模型设计完成以后,可以使用UBF Studio中的相应工具将模型代码生成为C#的框架代码,开发人员在此基础上提供或者扩展模型的实现,编写业务逻辑;同时,设计完成的模型可以发布到运行态元数据库中。
基于业务模型,可以使用UBF Studio的界面开发工具设计抽象界面模型,以及表单、页面、门户、菜单和参照等具体界面,进而使用代码生成工具产生UIP框架代码,以实现界面的交互逻辑;同时,界面设计文件发布到运行态元数据库中。
词汇表
中文 | 英文 | 解释 |
---|---|---|
产品包 | Application Package | 这是指具有完整功能的业务产品集合,如采购、销售、库存、总帐等功能模块。产品包可以由多个小的产品包构成。每个小产品包由多个服务组构成。 |
应用解决方案 | Application Solution | 是应用功能的基本部署单位,既可以是一个完整的应用——包括服务和界面,也可以是一组服务。一个应用解决方案内的所有服务、业务实体和业务操作必须被部署在一个站点内。在UBF Studio中,解决方案被作为操作的主文件,并对应一个服务组。 |
服务组 | Service Group |
|
业务实体组件 | Business Entity Component |
|
业务操作组件 | Business Process Component | 业务操作组件包含一组业务逻辑的实现类——Business Process。业务操作组件由两个程序集组成,一个是Business Process程序集,另一个是Business Process Agent程序集。Business Process程序集是业务逻辑的具体实现。Business Process Agent程序集包含的是Business Process的远程代理,负责通过远程调用策略调用Business Process的实现。 |
服务组件 | Service Component | 服务组件包含一组服务——Service。Service既可以是一个Business Process的包装,也可以是一个开发人员编写的业务逻辑。Service不能被任何Business Process或Service直接调用,只能被流程的定义和引擎使用。 |
数据库组件 | Database Component | 数据库组件用于业务实体组件的持久化,包括数据表组件和OR映射组件两种。 |
用户界面组件 | UI Component | 用于和用户的界面交互,改善用户体验,有UI模型、表单、页面、菜单、参照等几种不同的类型,用于完成人机交互中的不同任务。 |
数据分析组件 | Analysis Component | 数据分析组件包含数据立方体、维度、KPI、报表、打印几种组件。 |
工作流组件 | Workflow Component | 用于完成工作流的流程定义。 |
DSL | Domain Specific Language | 特定领域的描述语言。在UBF中,设计态用XML表示,运行态是DLL的形式。 |
安装环境配置
工作环境要求见安装篇
UBF安装步骤见安装篇
使用UBF Studio开发应用
开始使用UBF
集成开发环境配置
在使用UBF Studio前,需要正确配置模型代码生成路径和界面生成路径到有效的目录。
从UBF Studio的主菜单上选择 工具 → 配置,出现配置对话窗:
界面中的控件解释:
名称 | 控件类型 | 说明 |
---|---|---|
安装路径 | 只读文本框 | UBF Studio的安装路径 |
系统引用库路径 | 文件夹参照 | 系统引用库PubRef的所在路径 |
模型代码生成路径 | 文件夹参照 | 模型代码的生成路径,在模型设计完成后生成代码时会用到 |
测试用例生成路径 | 文件夹参照 | 供UBF开发者自己使用 |
界面生成路径 | 文件夹参照 | |
界面库路径 | 文件夹参照 | |
应用组件运行库路径 | 文件夹参照 | 组件发布为运行态时保存的路径,应用模型层级树的设置文件也保存在该目录下。 |
发布站点地址 | 文件夹参照 | 站点发布和部署时使用的路径。 |
说明: 配置对话框的配置信息均保存在安装目录下的IDEConfig.xml文件中,直接修改该文件同样有效。
集成开发环境介绍
UBF Studio是一套完整的基于模型驱动的可视化开发工具,用于建立企业应用产品业务分析模型。UBF Studio提供了仿MS Visual Studio.NET的界面风格,熟悉微软开发工具的用户无需学习即可轻松使用。
UBF Studio开发工具族中包含业务模型开发工具、用户交互界面开发工具、流程设计开发工具、报表设计工具、打印风格格式设计器、商业智能元模型开发工具等。这些工具全部集成在统一开发环境中(IDE),该环境允许用户在其中完成全部应用开发和建模的核心工作。
UBF Studio可以和MS Visual SourceSafe以及IBM Raintional ClearCase等版本管理工具集成,支持大规模团队开发。
使用UBF Studio建立的一套业务模型被称为一个解决方案。进入UBF Studio后,打开一个解决方案文件,并打开其中一个模型图,其界面显示如下:
除了顶部的菜单栏和工具条以外,UBF Studio集成开发环境包括如下几部分:
- 文档编辑区域:中间主体带蓝色边框的部分,显示的是被编辑文档的模型图。UBF Studio中的开发工作主要通过图形化的方式进行,简单、快捷、直观。
- 工具窗体:分布在左右两侧和底部的红色阴影窗格中。
- 公用管理工具:右侧窗格中的公用管理工具包括解决方案管理器、模型管理器、属性页和发布对象浏览器四个页签;底部窗格中是输出查看器。
- 针对特定文档的操作工具:在左侧的红色窗格中。
下面对开发环境中的通用工具进行介绍。
UBF Studio 的组成
UBF Studio 由7个主要的开发工具组成,共同完成业务模型、界面模型、报表、流程设计和业务规则的建立
业务模型开发工具
业务模型开发工具是一种用于开发应用模型的工具包。应用设计和开发人员可以使用该类工具构建企业的业务模型、设计业务实体及实体间的关系,设计业务操作、设计表结构、设计业务实体到表间的映射关系等。使用业务模型的设计工具和代码生成工具,可以发布业务模型和产生业务模型的代码。
用户交互界面开发工具
用户交互界面开发工具是一种用于开发应用界面的工具包。开发人员可以使用该类工具构建企业应用的界面,设计抽象的界面模型,设计界面的展现形式和布局安排,设计菜单和参照项。使用代码生成工具生成界面的逻辑控制代码框架,开发人员并可进一步定制交互逻辑。开发人员还可以使用生成工具发布界面描述的元数据。
流程设计开发工具
流程设计开发工具是一种用于开发工作流程的工具包。应用开发人员和客户可以使用该工具设计企业业务处理的流程。
报表设计工具
报表设计工具是企业应用的报表开发工具,可以用于设计报表的展现风格和报表的数据提取规则。
打印风格格式设计器
打印风格格式设计器用于设计可打印的表格风格以及表格中的数据项的提取规则。
解决方案管理器
解决方案是UBF Studio操作的主文件,代表一个完整的业务模型。一个解决方案由多个项目组成,一个项目可以包含多个文档。一个文档对应Windows文件系统中的一个文件。
解决方案管理器用于浏览、管理用户建立的各种设计文档。除Reference节点以外,解决方案管理器中的各节点都代表一个真实的Windows文件或文件夹。
在右侧导航窗格中点击“解决方案”页签,就可看到解决方案管理器:
解决方案的图标与UBF Studio的程序图标相同,是 ,解决方案的文件名后缀是.ubfsln。
模型管理器
解决方案中的主要组成部分是各个模型,设计期的模型通过模型管理器进行浏览和统一管理。在右侧导航窗格中点击“模型视图”页签,就可看到解决方案管理器:
在模型管理器中,模型是通过项目进行分组的。项目和模型因其种类不同因有不同的图标。
发布对象浏览器
发布对象浏览器用于浏览运行期的模型。在右侧窗格中点击“发布对象浏览器”页签,即可切换到发布对象浏览器:
已发布的模型组件在Windows文件系统中被标记为MetaData.dll扩展名,在发布对象浏览器中显示为图标。对于经确认无效的组件链接,图标显示为。
用于浏览已打包模型时有两种方式:
- 浏览应用组件运行库路径中的已打包模型,在顶部工具栏的下拉框中选择“已发布的组件”即可。
- 浏览其它位置的已打包模型,在顶部工具栏的下拉框中选择“定制的组件集”,并通过工具栏中的其它按钮增删自己需要组件:
- :加载单个组件
- :卸载单个组件
- :批量装载选定目录中的组件
属性页
属性页用于显示及修改当前选定对象的描述属性。在右侧窗格中点击“属性”页签,即可打开属性页:
针对当前选定对象的不同,其显示的内容是不同的。各项描述属性有两种排序方式,通过顶部工具栏中的按钮进行选择:
- :按类别分组显示
- :打破类别界限,统一按名称顺序排列
注意:对于运行态的组件是无法显示其属性的,也即对于在发布对象浏览器中显示的组件及其下级元素,属性页是不做显示的。
输出查看器
输出查看器用于动态显示当前程序运行的日志信息,包括错误信息、警告信息、提示信息和调试信息。在输出查看器的顶部工具栏中选择不同的按钮,可查看相应的信息:
说明:“所有”按钮用于显示全部信息,“信息”按钮用于显示提示信息。
管理UBF文档
任何工具都要产生或使用某些数据,使用工具只是手段,管理数据才是核心目标。UBF Studio采用了以文档为中心的设计理念,用户无需关心使用哪种工具,只需关注核心的数据即可。用户在打开或者切换文档时,系统将自动使用或者切换相应的操作工具。
UBF Studio直接管理的数据有解决方案、项目、文档三级。同时,解决方案与服务组一一对应,是应用功能的基本部署单位,需要与应用层级树中的节点进行绑定,因而在解决方案之上还存在着应用层级树。
UBF的文档类型
UBF中的文档从功能上划分可分为工具文件和模型文件。工具文件是和UBF的应用工具相关的公共应用资源。模型文件指分析模型的描述文件。
UBF中目前有三类工具:菜单设计器、应用设计器、字典设计器和页面设计器;各类工具对应的文件分别是菜单文件、应用设计文件、字典文件和页面文件
UBF中模型文件包括领域模型、界面模型、流程模型和报表模型均是以XML文件的形式进行存放,每类模型都有自定特定的Schema。
一个Solution中,文档按照组件、文档、对象的方式进行组织。
Solution 中可以建立四组项目,分别是模型组、界面组、分析组和工作流组。其中模型组包括:实体模型、操作、服务、数据库、特性和模式。文件和项目的组织方式见下图。
UBF工具和工具文件
字典设计器和字典文件
在使用UBF Studio建立实体模型时,有很多实体属性在多个实体中具有相同的设置,因而可以重用。UBF Studio使用字典来实现实体属性的重用。
字典项是通过字典定义文件来保存的,并通过与ClearCase上的公共文件同步实现共享功能。字典的使用功能则直接加到了实体类属性的描述属性中。
说明:由于目前U9的版本管理工具是ClearCase,字典功能没有实现对Visual SourceSafe的支持。
字典的环境配置
在使用字典功能之前,需要配置一下字典应用的环境。配置字典时需要涉及到如下三个文件:
文件位置 | 文件名 | 说明 |
UBF安装目录 | UFSoft.UBF.MD.Controls. DictionaryExplorer.xml | 字典配置文件,用于配置字典定义文件的路径 |
UBF安装目录 | LocalDictionary.xml | 本地字典定义文件,公共字典文件的本地副本,是个人编辑的真实文件,编辑完成后需与公共字典文件同步 |
ClearCase静态视图目录(View目录)中操作者具有全部编辑权限的某个子目录 | CommonDictionary.xml | 公共字典定义文件,为开发组织内共享的字典文件。通过与本地字典文件的同步,可以在组织成员间共享字典定义成果。 |
配置字典环境的工作包括配置ClearCase视图目录 和配置UBF Studio两部分。
第一步:配置ClearCase视图目录
首先需要在ClearCase的视图中建立一个公共目录,使用字典文件的所有人都有该目录的checkout 、checkin 权限。
然后将Commondictionary.xml和 CommonDictionary.res 文件 copy 到步骤2建立的目录中,并加入Source Control。
第二步:配置UBF Studio
打开字典配置文件UFSoft.UBF.MD.Controls.DictionaryExplorer.xml,内容示意如下:
D:/WorkingFolder/View/u9zyling_U9.UBF.Work_int/U9.VOB.PF/Test/Privite/zyl/CommonDictionary.xml
LocalDictionary.xml
修改CommonDictionary项为CommonDictionary.xml的正确位置(文中加粗部分),即可完成配置。
说明:
- CommonDictionary.xml在配置文件中的路径必须是ClearCase静态视图目录在本地的绝对路径。
- 对于LocalDictionary.xml,由于和配置文件同时存在于UBF安装目录,因而无需标明路径。
维护本地字典定义
对本地字典定义文件LocalDictionary.xml的维护是通过UBF Studio中的字典设计器来进行的。
打开主菜单 → 工具 → 字典设计器,打开字典设计器如下:
字典设计器的各部分组成:
- 顶部:定位工具栏。可以输入各列的开头字符,点击“查询”按钮进行快速定位。
- 左侧主体:字典项层级树。
- 右侧:描述属性页。
- 底部:操作工具栏。
字典项是以层级树的方式组织的,可以使用多层级的方式为字典项分类。维护字典定义的主要操作如下:
- 新增字典类别:选中上级节点(不能是字典项末级节点),点击底部工具栏的“添加类别”按钮。此时将会自动增加缺省的名称与显示名,二者同值。当前编码列无用,可以忽略。
- 新增字典项:选中上级节点(不能是字典项末级节点),点击底部工具栏的“添加项”按钮。此时将会自动增加缺省的名称、显示名和编码,三者同值。
- 修改字典项或字典类别:选中要修改的行,直接在属性页中修改即可,修改后请及时点击底部工具栏的“保存”按钮进行保存。字典的描述属性项解释:
- 编码:字典项唯一性编码,默认与字典项的名称相同。
- 字典项的其它描述属性项完全来自于实体类属性的描述属性项,详细解释参见§5.4.1.2 实体类属性编辑。
- 删除字典项或字典类别:选中要删除的行,点击底部工具栏中的“移除”按钮即可。
同步字典文件
开发者在使用UBF Studio时都可以建立自己的字典定义,为了团队共享的需要,可以由ClearCase协助提供同步功能。同步功能有两个作用:
- 将其他人定义的字典项通过公共字典定义文件传递给当前用户
- 将当前用户定义的字典项通过公共字典定义文件共享给其他用户
同步字典文件的操作:点击底部工具栏的“同步”按钮,即可弹出字典文件同步窗口:
同步窗口分三个区域:
- 上部:列出本次待同步字典项,并标识出各字典项的同步方式
- 中部“同步”按钮:点击此按钮即开始真正的同步过程
- 底部窗格:同步结果的文字显示区域。
同步影响到的字典项有四种更新方式,以标识列来区分:
- Old:不需要同步的字典项。一般不显示出来,但当字典类型有需要同步的子项时,需要显示出来。
- Update:用本地字典项更新对应的公共字典项
- New:本地字典项以新增方式加入到公共字典定义文件中
- Delete:在本地字典定义文件中被删除的字典项,在公共字典中有对应字典项时,将从公共字典定义文件中删除
字典定义文件的同步过程:
- 在本机执行ClearCase的更新视图操作,准备做公共字典的签出。
- 检查公共字典定义文件的签出状态:
- 如该文件已被别人签出,则同步操作失败。
- 如该文件尚未签出,则以当前用户的名义签出文件
- 根据本地字典定义文件更新公共字典定义文件
- 将更新过的公共字典定义文件复制为本地字典定义文件,原来的本地字典定义文件将被覆盖。
- 签入公共字典定义文件,同步结束。
同步成功后,将清空同步窗口中的待同步字典项;如同步失败,则下部文字显示区域中将显示出同步不能成功的原因。这时需要返回字典设计器进行修改,然后再重新尝试同步操作。
模型文档
创建解决方案
解决方案是UBF Studio的主文件,用户在使用UBF Stdio时需要首先建立解决方案,然后才能在解决方案的框架内继续后面的开发工作。需要说明的是,用户的所有开发工作都要在解决方案内完成。
可以通过两种操作方式新建解决方案:
- 主菜单:文件 → 新建 → 新建解决方案
- 主工具栏:
在新建解决方案时,可以同时建立模型项目。在当前解决方案中可以建立的模型项目及其图标在“新建解决方案”窗体中可以看到,选中需要的项目类型,点击确定,项目和选中类型的解决方案将被同时创建。
打开解决方案
对于已经存在的解决方案文件(.ubfsln文件),可以通过如下两种方式打开:
- 主菜单:文件 → 打开 → 打开解决方案
- 主工具栏:打开按钮
小技巧:在Windows文件系统中将.ubfsln扩展名与devenv.exe程序建立关联,直接双击解决方案的文件名可以启动UBF Studio并同时打开相应的解决方案。
编辑解决方案的描述属性
在解决方案浏览器中选中解决方案,然后切换到属性页:
在解决方案的属性页中,主要维护解决方案的两种属性:
- 服务组:输入解决方案对应的服务组名称、显示名称以及描述等信息。
- 应用:点击参照按钮,打开应用浏览器,选择应用层级树中的某级节点与当前的解决方案进行绑定。
说明:
- 解决方案和服务组是相同结构,在系统中混用。服务组是发布部署的概念,解决方案是设计期的概念,两者在逻辑上是指相同的应用。
- 需要注意:解决方案不能互相嵌套,即在一个解决方案目录中不能建立另一个解决方案,常见的做法是和其他解决方案一起,并列建立另一个目录
小技巧:从解决方案浏览器切换到属性页还有一种操作方式:在解决方案浏览器顶部工具栏中点击按钮。
管理解决方案
解决方案可以管理的子项如下:
- 解决方案目录下的各种项目,处理文件管理的各种细节。
- 处理集成源代码管理的细节
- 记录与元数据发布有关的细节。
解决方案及其管理的子项是放在特定的文件夹中的,当创建一个解决方案后,系统会自动创建一系列的文件及文件夹。其中,主要的文件夹及文件类型说明如下:
文件项 | 路径 | 类型 | 说明 |
---|---|---|---|
解决方案的创建路径 | 文件夹 | 创建解决方案时,系统自动在所选路径中创建一个以解决方案名称命名的文件夹,从属于该解决方案的所有方案都保存于该文件夹中。 | |
.ubfsln | / | 文件 | 解决方案文件,每个解决方案都包含一个解决方案文件 |
.pdig | / | 文件 | 组件图文件,在解决方案下面创建组件图项目时创建。组件图项目只用这个文件,而无对应的项目文件夹。 |
/ | 文件夹 | 项目文件夹,创建项目时,将自动创建同名的项目文件夹。项目下属的文件都放在该文件夹中。 | |
.ubfmlproj | // | 文件 | 业务实体项目文件。 |
.ubfbe | // | 文件 | 业务实体组件文件。 |
.ubfbpproj | // | 文件 | 业务操作项目文件。 |
.ubfbp | // | 文件 | 业务操作项目组件。 |
.ubfserproj | // | 文件 | 服务项目文件。 |
.ubfsvr | // | 文件 | 服务组件文件。 |
.ubfdbproj | // | 文件 | 数据库项目文件。 |
.ubfdb | // | 文件 | 数据表组件文件。 |
.ubform | // | 文件 | OR映射组件文件。 |
.feproj | // | 文件 | 特性项目文件。 |
.ubffea | // | 文件 | 特性组件文件。 |
.paproj | // | 文件 | 模式项目文件。 |
.ubfpat | // | 文件 | 模式组件文件。 |
管理项目
新建项目
项目的建立方式有两种:
方法一、在建立solution的时候,选中项目类型,系统在创建solution的时候自动创建项目
方法二、对于已经建立的solution, 选中解决方案名称,然后执行如下操作之一新建模型项目:
- 主菜单:文件→新建→新建
- 主工具栏:“新建”按钮
- 上下文菜单:选择“新建”
编辑项目的描述属性
从解决方案浏览器中选中项目,切换到属性页,显示项目的文件属性:
各描述属性项说明如下:
标签 | 含义 | 输入说明 |
键值 | 项目的唯一性标记 | 只读 |
文件名 | 项目在Windows系统中的文件夹 | |
全名 | 项目的全路径文件名 | 只读 |
文档类型 | 只读 |
从模型管理器中选中项目,切换到属性页,显示项目的模型属性:
各描述属性项说明如下:
标签 | 含义 | 输入说明 |
名称 | ||
显示名称 | 多语种显示名称,可更换语种 | |
配件名 | 发布后的组件名,也即在发布对象浏览器中看到的名字 | |
描述 | 描述性解释 | 直接输入或参照资源输入 |
提示:项目的文件名和项目的模型名称可以是不同的。在解决方案浏览器中显示的是项目的文件名,在模型管理器中显示的是项目的模型名。
删除项目
选中待删除的项目,点击鼠标右键,从上下文菜单中选择“删除”,则该项目从Windows文件系统中全部被删除。这是一个危险的操作,删除后UBF Studio本身将无法恢复该项目。
从解决方案中移除
选中待移除的项目,点击鼠标右键,从上下文菜单中选择“移除”,则该项目从解决方案浏览器中被排除,但在Windows文件系统中,该文件实际还存在。
增加存在的项目
对于从解决方案中移除的项目,或者在Windows文件系统中仍然存在但未加入到当前解决方案中的其它项目,可以再加入到当前解决方案中来。
操作方法:选中方案名称,点击右键,在上下文菜单中选择“增加存在的项目”。
建立项目引用
在创建项目组件的过程中,项目内部的元素可以任意引用,项目外部的元素也可以引用,前提是建立项目引用关系。建立项目引用时,被引用项目在解决方案内部的,可以直接建立项目引用关系;被引用项目在解决方案外部的,只能是已经公开发布的项目。
建立解决方案内部的项目引用:
在公共管理工具的解决方案浏览器中,直接用鼠标拖曳被引用项目到引用项目的Reference处即可。
引用解决方案外部的已发布项目:
切换到公共管理工具的已发布对象浏览器页签,选中被引用项目,跨页签拖曳至解决方案浏览器页签中的引用项目的Reference节点即可。
使用组件图建立项目引用:
选中解决方案,以新建项目的方式新建一个组件图项目(在图形组中),双击组件图,将在文档编辑窗格中打开。最初组件图中是空白,可以将项目拖曳到组件图中显示:
解决方案浏览器、模型管理器、发布对象浏览器中的项目都可以拖曳到组件图中。如果图中的项目之间有引用关系,将会用蓝色箭头线标记出来;如果想在图中项目之间新建引用关系,
UBF开发工具介绍
本文2024-08-20 16:08:46发表“u9cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/yonyou-u9cloud-1142.html