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 文件 c
UBF开发工具介绍
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



