X5高级开发手册 -Justep X5-业界第一的java工作流和快速开发平台

更新时间:2023-04-08 22:24:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

X5高级开发手册

2011 Justep Corp. 第 1 页 共 263 页

起 步 科 技

X5平台手册

—高级开发手册

2011年07月

北京起步科技有限公司 Beijing Justep Software Co,Ltd.

222eb2e55ef7ba0d4a733bc2

X5高级开发手册

2011 Justep Corp. 第 2 页 共 263 页

起 步 科 技

目 录

第一篇

业务模型................................................................................................................................. 9 第1章

业务模型概述 ......................................................................................................................... 9 1.1

概述 ........................................................................................................................................ 9 1.2 业务模型的组织 ..................................................................................................................... 9 1.2.1 业务模型的构成 ............................................................................................................. 9 1.2.2 业务模型文件 ............................................................................................................... 10 1.3

业务模块............................................................................................................................... 10 1.3.1 业务模块定义 ............................................................................................................... 10 1.3.2 业务模块的引用 ............................................................................................................11 1.4

业务模型发布 ........................................................................................................................11 第2章

业务本体............................................................................................................................... 12 2.1

概述 ...................................................................................................................................... 12 2.2

关系 ...................................................................................................................................... 12 2.2.1 关系的定义 ................................................................................................................... 12 2.3

概念 ...................................................................................................................................... 13 2.3.1 概念的定义 ................................................................................................................... 13 第3章

业务数据............................................................................................................................... 15 3.1

概述 ...................................................................................................................................... 15 3.2

数据模块定义 ....................................................................................................................... 15 3.2.1 数据连接 ....................................................................................................................... 15 3.2.2 存取设置 ....................................................................................................................... 15 3.2.3 映射定义 ....................................................................................................................... 16 第4章

业务逻辑............................................................................................................................... 18 4.1

概述 ...................................................................................................................................... 18 4.2

Action 定义 .......................................................................................................................... 18 4.3

Procedure 定义 .................................................................................................................... 19 4.4

Fn 定义.................................................................................................................................. 19 4.5

Java 代码.............................................................................................................................. 20 第5章

业务流程............................................................................................................................... 21 5.1

概述 ...................................................................................................................................... 21 5.2

业务流程定义 ....................................................................................................................... 22 5.2.1 启动规则 ....................................................................................................................... 22 5.2.2 通知规则 ....................................................................................................................... 22 5.3

业务流程环节 ....................................................................................................................... 22 5.3.1 静态环节 ....................................................................................................................... 22 5.3.2 开始环节 ....................................................................................................................... 23 5.3.3 结束环节 ....................................................................................................................... 23 5.3.4 活动环节 ....................................................................................................................... 24 5.3.5 自动环节 ....................................................................................................................... 24 5.3.6 条件环节 ....................................................................................................................... 25 5.3.7 条件分支环节 ............................................................................................................... 25 5.3.8 AND 环节 ........................................................................................................................ 26 5.3.9 XOR 环节 ........................................................................................................................ 27 5.4 业务流程规则 .. (27)

X5高级开发手册 2011 Justep Corp. 第 3 页 共 263 页

起 步 科 技

5.4.1 启动规则 (28)

5.4.2 通知规则 (29)

5.4.3 执行规则 (31)

5.4.4 流转规则 (33)

5.4.5 回退规则 (35)

5.4.6 转发规则 (36)

5.4.7 合并规则 (36)

5.4.8 分支规则 (37)

5.5 业务流程执行者 (37)

5.5.1 基于组织机构的执行者函数 (38)

5.5.2 基于业务流程的执行者函数 (39)

5.5.3 其他执行者函数 (39)

5.5.4 执行者函数的扩展 (40)

5.6 业务流程与业务数据 (40)

5.6.1 sData (40)

5.6.2 业务流程变量(不支持) (41)

5.6.3 业务表达式 (41)

5.7 业务流程动作 (42)

5.7.1 启动 (42)

5.7.2 流转 (43)

5.7.3 回退 (43)

5.7.4 转发 (44)

5.7.5 终止 (45)

5.7.6 暂停 (45)

5.7.7 恢复 (46)

5.7.8 处理 (46)

5.7.9 定制 (46)

5.8 业务流程事件 (47)

5.8.1 业务过程级事件 (47)

5.8.2 业务环节级事件 (48)

5.8.3 业务流程事件的函数 (49)

5.9 业务动作 (49)

5.9.1 全局的业务动作 (49)

5.9.2 业务过程级的业务动作 (49)

5.9.3 业务环节级的业务动作 (50)

5.9.4 业务动作的事件 (50)

5.10 业务流程运行 (51)

5.10.1 运行框架 (51)

5.10.2 运行过程 (52)

5.10.3 ProcessControl (53)

5.10.4 ProcessControlItem (54)

5.11 业务流程实例 (54)

5.11.1 流程实例和任务 (54)

5.11.2 Task 对象 (55)

5.11.3 任务表(SA_Task ) (55)

X5高级开发手册 2011 Justep Corp. 第 4 页 共 263 页

起 步 科 技

5.11.4 任务关系表(SA_TaskRelation ) (56)

5.11.5 Token 表(SA_TokenInstance ) (56)

5.11.6 ProcessControl 表(SA_ProcessControl ) (57)

5.11.7 ProcessTemplate 表(SA_ProcessTemplate ) (57)

5.12 业务流程UI (58)

5.12.1 UI 层实现机制 (58)

5.12.2 流程组件(process) (59)

5.12.3 流程工具栏组件(processBar ) (60)

5.12.4 流程图组件 (61)

5.12.5 流转对话框 (61)

第6章 组织机构 (63)

6.1 概述 (63)

6.2 机构 (64)

6.3 部门 (64)

6.4 岗位 (64)

6.5 人员 (64)

6.6 角色和授权 (65)

6.6.1 权限 (67)

6.7 管理权限 (67)

6.8 分级授权 (68)

6.9 组织机构管理的分级 (69)

6.10 权限管理的分级 (69)

6.11 代理 (69)

6.11.1 代理的收回 (70)

6.12 组织机构相关本体定义及其物理表结构 (70)

6.12.1 组织机构表(SA_OPOrg ) (71)

6.12.2 人员表(SA_OPPerson ) (71)

6.12.3 角色表(SA_OPRole ) (72)

6.12.4 代理表(SA_OPAgent ) (73)

6.12.5 管理权限类型表(SA_OPManageType ) (73)

6.12.6 授权表(SA_OPAuthorize ) (74)

6.12.7 权限表(SA_OPPermission ) (74)

6.12.8 管理权限表(SA_OPManagement ) (74)

6.12.9 分级授权表(SA_OPRoleManagement ) (75)

第二篇 界面模型 (76)

第1章 界面模型概述 (76)

1.1 概述 (76)

1.2 界面模型的组织 (76)

1.2.1 模型的构成 (76)

1.2.2 .W 文件 (76)

1.2.3 .J 文件 (76)

1.2.4 JS 文件 (77)

1.2.5 CSS 文件 (77)

1.2.6 布局文件 (79)

1.3 运行机制 (79)

X5高级开发手册 2011 Justep Corp. 第 5 页 共 263 页

起 步 科 技

1.4 与业务模型的关系 (79)

1.4.1 Action 调用 (80)

第2章 多终端类型支持 (83)

2.1 概述 (83)

2.2 UI 和MobileUI (84)

第3章 .W (85)

3.1 概述 (85)

3.2 组件 (85)

3.2.1 概述 (85)

3.2.2 运行机制 (85)

3.2.3 结构 (86)

3.2.4 组件开发 (86)

3.2.5 组件使用 (90)

3.3 布局 (90)

3.4 继承 (91)

3.4.1 继承语法 (91)

3.5 Window (94)

3.5.1 view (94)

3.5.2 layout (95)

3.5.3 place (95)

3.5.4 resource (96)

3.6 Model (96)

3.7 Data (96)

3.7.1 bizData 组件 (96)

3.7.2 data 组件 (103)

3.8 Grid (104)

3.8.1 Grid 组件 (104)

3.9 其他常用组件 (109)

3.9.1 Input (109)

3.9.2 Select (110)

3.9.3 dialog 、windowDialog 、windowReceiver 等 (110)

第4章 .J (112)

4.1 概述 (112)

4.2 组成及使用 (112)

第5章 Portal (114)

5.1 概述 (114)

5.2 config.js 文件配置说明 (114)

5.2.1 布局的配置 (114)

5.2.2 默认页面配置 (116)

5.2.3 功能树快捷方式 (117)

5.2.4 提示区域配置 (117)

5.2.5 主题配置 (118)

5.3 自定义主题 (119)

5.4 部件(widget )的开发 (119)

5.5 与第三方集成 (122)

X5高级开发手册 2011 Justep Corp. 第 6 页 共 263 页

起 步 科 技

5.5.1 第三方直接登陆X5的门户 (122)

5.5.2 第三方直接打开X5的功能 (122)

第6章 新Portal (123)

6.1 概述 (123)

6.2 目录结构和文件介绍 (123)

6.2.1 .w 文件 (123)

6.2.2 .j 文件 (123)

6.3 组件说明 (125)

6.3.1 数据状态组件 (125)

6.3.2 表现组件 (129)

第7章 高级特性 (129)

7.1 扩展空间 (129)

7.1.1 使用场景 (129)

7.1.2 规则 (130)

7.1.3 实现原理 (130)

7.1.4 限制 .................................................................................................................................... 130 第三篇 报表模型.. (131)

第1章 概述 (131)

第2章 开发指南 (132)

2.1 扩展函数 (132)

2.2 运算函数 (136)

2.3 属性(批注) (141)

2.4 显示 (144)

2.5 组件 (147)

2.6 服务器配置 (153)

第3章 报表示例 (154)

3.1 网格报表 (154)

3.2 分组报表 (156)

3.3 交叉报表 (161)

3.4 卡片报表 (167)

3.5 主从报表 (168)

3.6 多源关联分片报表 (170)

3.7 报表特性 (176)

3.8 报表运算 (182)

第4章 图表示例 (184)

4.1 饼图 (184)

4.2 垂直柱图 (185)

4.3 水平柱图 (187)

4.4 折线图 (188)

4.5 面积图 (189)

4.6 时序图 (190)

4.7 仪表盘 (192)

4.8 甘特图 (192)

4.9 雷达图 (193)

4.10 图表特性 (194)

X5高级开发手册 2011 Justep Corp. 第 7 页 共 263 页

起 步 科 技

第5章 导出与打印 (199)

5.1 导出方式 (199)

5.2 打印设置 (199)

5.3 分页打印 (201)

5.4 分栏打印 (203)

5.5 整体显示 (204)

第6章 附录 (205)

6.1 报表批注 (205)

6.2 图表类型 (206)

6.3 图表公有参数 (207)

6.4 图表私有参数 ............................................................................................................. 209 第四篇 Studio .. (233)

第1章 概述 (233)

第2章 Studio 配置 (234)

2.1 JS 库配置 (234)

2.2 Tomcat 配置 (235)

2.3 编辑器配置 (236)

2.4 数据源配置 (236)

2.5 服务器配置 (237)

第3章 模板向导开发 (238)

3.1 模板向导目录结构以及配置 (238)

3.2 模板向导开发案例 (239)

3.2.1 Template.cfg 配置文件 (240)

3.2.2 配置页面的开发 (240)

3.2.3 Handler 的开发 (242)

3.2.4 案例效果图 (243)

3.3 平台提供的配置页 (244)

3.3.1 Data 配置相关 (244)

3.3.2 列表(Grid )配置相关 (247)

3.3.3 树配置 (247)

3.3.4 详细页配置 (248)

3.3.5 流程配置 (249)

3.3.6 其他配置页面 (250)

3.4 平台提供的Handler (250)

3.4.1 流程结束处理Handler (250)

3.4.2 其他Handler (250)

第4章 UI 设计时组件开发 (251)

4.1 组件的构成 (251)

4.2 组件配置文件 (251)

4.2.1 element 属性 (252)

4.2.2 组件属性设计时描述节点:properties (253)

4.2.3 属性编辑器描述节点:property-editors (255)

4.2.4 组件模板子节点:templates (256)

4.2.5 组件事件子节点:events (256)

4.2.6 组件设计时菜单描述节点:toolbar (257)

X5高级开发手册 2011 Justep Corp. 第 8 页 共 263 页

起 步 科 技

4.2.7 复合组件子节点inner-component-config (257)

4.3 开发组件类 (258)

4.3.1 Js 类 (258)

4.3.2 Java 类: (260)

4.4 开发属性编辑器类 (260)

4.4.1 格式 (260)

4.4.2 属性编辑器注册: (261)

4.4.3 使用案例 (261)

4.5 组件注册 (262)

4.5.1 组件目录注册 (262)

4.5.2 组件工具箱配置 (262)

4.5.3 组件配置文件的注册 (262)

4.6 其他 (263)

4.6.1 样式属性对话框的使用 (263)

4.6.2 debug 设置 (263)

4.6.3 公共属性配置 ............................................................................................................. 263 第五篇 性能优化.................................................................................................. 错误!未定义书签。

X5高级开发手册

2011 Justep Corp. 第 9 页 共 263 页

起 步 科 技

第一篇 业务模型

第1章 业务模型概述

1.1 概述

模型是人们了为方便研究、理解和解决客观事件中存在的种种问题而对客观现实经过反复思维抽象后的文字、图标、符号、关系式以及实体模样描述的集合,以描述所认识到的客观事物的一种直观表现形式。

业务模型是从企业信息化的需要出发,针对企业的业务和管理所做的一种体系性抽象和描述,业务模型体系为信息系统的设计和开发提供科学、合理的导向和依据。

业务建模就是基于企业工程理论和业务模型体系,来分析、设计、开发和维护信息系统。业务建模的过程,是从业务和管理的现实和知识出发,依据和参照业务模型体系,采用业务建模工具,设计并构建出相关的业务模型资源,业务模型资源是业务建模的主要产品。

根据国际化的需求,X5业务模型支持多语言描述。通过在业务模型的描述中,使用国际化的语言标识,实现多语言的业务模型描述。业务模型对多语言的支持,为业务的国际化需求提供了基础。

1.2 业务模型的组织

1.2.1 业务模型的构成

X5业务模型系统由BIZ 工程构成。BIZ 工程之下有三种类型的模块:系统级模块、平台级应用模块以及一般应用级模块。

系统级模块包括system 及其子模块,是在平台发布时就带的有,包括模型调度框架及各种基础功能,是其他应用系统开发以及运行的基础。系统级目录system 下设ontology 、data 、logic 和config 目录。config 是系统专有的模块,包括模型的一些配置信息(例如业务动作的插件配置),ontology 目录下存放平台级的本体定义。data 目录之下存放平台本体的mapping 及数据库的连接,logic 目录下包含action(平台提供的action 定义), code (平台提供的业务逻辑),fn (平台提供的函数定义),

平台级应用模块是指SA ,随平台一起发布,是一般应用系统需要依赖的。

一般应用级模块是指根据不同的业务需求定义的一个大的分类级别的模块。应用级模块的定义是具有一定规范的,便于理解以及开发。Studio 建模工具遵守标准的定义规范。

X5高级开发手册

2011 Justep Corp. 第 10 页 共 263 页

起 步 科 技

图1.1 模块级别 标准的应用级业务模型定义规范如下:

BIZ 中新建一个应用模块。其下data, logic, ontology, process 四个子模块:

1、 data :用于定义概念到物理表的映射和数据库连接信息。此模块包含*.config.m 文件、

*.mapping.m 文件。

2、 ontology :用于定义概念模型。此模块包含*.ontology.m 文件。

3、 process :用来定义流程。此模块包含若干个子模块,每个子模块对应一个业务流程定

义,子模块中包含*.process.m 文件。

4、 logic :用来实现业务逻辑。此模块包含action ,code ,fn 模块,其中action 中存储

的是action 及procedure 定义,包含*.action.m 和*.procedure.m 文件;code 中存储

的是业务逻辑代码,包含src ,dsrc ,classes ,dclasses ,lib 和slib 目录;fn 存储

的是函数定义,包含*.fn.m 。

1.2.2 业务模型文件

业务模型文件从后缀名的划分来看主要有xml 、m 、java 和jar 。

m 文件:后缀为m 的文件为模型描述文件,主要内容是ontology 、mapping 、fn 、action 等等的定义以及各种配置。

主要包括以下几种:

● 本体文件 *.ontology.m

● 映射文件 *.mapping.m

● 配置文件 *.config.m

● 函数文件 *.fn.m

● 过程文件 *.process.m

● action 文件 *.action.m

● procedure 文件 *.procedure.m

xml 文件:目前只有model.config.xml ,每个模块下均可创建,用于描述模块间的引用关系。 java 文件:后缀为java 的文件,主要内容就是使用java 编写的逻辑程序。

jar 文件:标准的java 类库文件。

1.3 业务模块

1.3.1 业务模块定义

X5的业务模型是由业务模块组成的。业务模型包含的业务模块与模型的目录组织是一一对应的,一个目录代表一个业务模块,因此,业务模型在文件系统中的目录层次结构就对应成了业务模块的层次结构。

可以这样理解:X5的业务模型体系中业务模型的目录结构等价于业务模型中的业务模块的结构。在表达业务模型描述的时候经常使用业务模块这个术语,而在说明业务模型是如何保存的时候会使用目录这个术语。

业务模块的建立非常的简单,只需通过Studio 在BIZ 项目下建立相应的目录。

本体模块,对应ontology 目录,存储本体定义信息。

X5高级开发手册 2011 Justep Corp. 第 11 页 共 263 页

起 步 科 技

数据模块,对应data 目录,存储本体与数据库表的映射信息(mapping )和数据库的连接配置信息。

逻辑模块,对应logic 目录,存储业务逻辑的定义,它一般包括三个子目录action 、code 、fn 。 流程模块,对应process 目录,存储业务流程的定义。

1.3.2 业务模块的引用

每个业务模块都会自动包含其上级业务模块(即父目录),如果需要使用其它业务模块中定义的内容,那么就会用到业务模块的引用。

业务模块的引用在model.config.xml 中定义,语法规范如下:

1、 语法:

业务模块路径

业务模块路径

2、 说明:

include :将其他模块中定义的东西完全引用,可以传递,如 A include B, B include

C, 则A 可以使用C 的定义。

use :将其他模块中定义的东西引用到本模块,不可以传递,如 A use B ,B use C ,

则A 不可以使用C 的定义。

3、 案例:

一个model.config.xml 的例子

/system/logic/action /system/ontology

通过Studio 新建一个业务模块时,一般包含本体模块(ontology )、数据模块(data )、逻辑模块(logic )和流程模块,其中逻辑模块(logic )一般包括三个子模块动作模块(action )、代码模块(code )和函数模块(fn ),这些模块之间的默认引用关系如下:

1、 本体模块:include 系统本体模块(/system/ontology )和use 系统函数模块

(/system/logic/fn );

2、 数据模块:include 当前的本体模块;

3、 动作模块:use 系统动作模块(/system/logic/action )和use 当前数据模块;

4、 代码模块:use 系统代码模块(/system/logic/code );

5、 流程模块:use 当前的动作模块、use 当前的代码模块、use 系统函数模块

(/system/logic/fn )、use 系统动作模块(/system/logic/action )和use 系统代码模

块(/system/logic/code );

6、 函数模块:这个模块不会自动生成,如果需要,用户可以自己创建,创建后,被当前的

本体模块和流程模块引用;

1.4 业务模型发布

业务模型的发布之前,需要先编译业务模型,之后将相应的BIZ 拷贝就行了。

X5高级开发手册

2011 Justep Corp. 第 12 页 共 263 页

起 步 科 技 第2章 业务本体

2.1 概述

业务本体可以用来描述企业业务里包含的非常丰富的概念知识

业务本体是整个业务模型的语义基础,它可以规范和约束业务所处理的数据,为数据赋予语义。 业务本体不仅可以促进企业知识的重用和共享,还可为企业数据交换和集成带来非常多的好处。 X5采用本体知识描述体系来对业务数据进行建模。可以简单的理解本体就是通过概念、关系和规则对知识的描述体系,把这种描述思想运用到企业信息化。

概念(concept )是对现实世界中各种事物的一种抽象,可以简单理解为数据库中的表,是关系的集合,可以使用它来定义生活中或业务中使用的概念或术语。

关系(relation )是对事物间联系的描述,可以简单理解为数据库表中的字段,但含义更丰富。

2.2 关系

2.2.1 关系的定义

关系(relation )类似于类定义中的域定义,但有本质的差别。在本体定义体系中,关系的定义是独立于概念定义存在的,它表明了客观存在关系这样的事实。目前只支持二元关系。

1、 语法:

inverse-of ="" size ="" scale ="" required ="" unique =""

default-value-expr ="" >

2、 说明:

name :关系名,建议使用有意义的单词组合。

data-type :关系的类型。

single-valued: 是否是单值关系。

inverse-of : 互逆关系。互逆关系是指从两个方向上描述同一个关联的一对关系,假设r1, r2为互逆关系,则 A –r1-> B ,则可推出 B –r2-> A , 如:parent 关系和child 关系,A 是B 的parent ,则可推出B 是A 的child 。

size : 关系的长度。

scale :关系的精度

required :是否必须

unique :是否唯一

default-value-expr :默认值表达式

label 标签:描述关系的label ,language 属性指明使用的语言。

3、 案例:

X5高级开发手册

2011 Justep Corp. 第 13 页 共 263 页

起 步 科 技

default-value-expr ="0">

2.3 概念

2.3.1 概念的定义

1、 语法:

single-valued ="true/false" inverse-of ="" size ="" scale ="" readonly ="" required ="" unique ="" default-value-expr ="" whole-part ="composition/aggregation">

2、 说明:

name :概念名称,建议概念名称全部使用有意义的单词组合,首字母大写。

default-value-expr :概念主键的默认值表达式。

keys :指明哪些关系组成概念的主键,使用“:”分隔,例如“sName:sAge ”。组成keys 的关系必须在has-relation 中出现。

label 标签:表示概念的label ,language 属性表示使用的语言。

has-relation 标签:表示概念包含哪些关系,在has-relation 中可以重新指定relation 上绝大部分属性,同时新增了几个属性:

● local-name ,表示关系在此概念中的别名。

● whole-part :整体部分关系,用于表示两个概念之间的关联关系,它的取值范围是

{composition ,aggregation},composition 表示组合,当删除关系所在的本体时,同时删除关系指向的本体。aggregation 表示聚合,当删除关系所在的本体时,置空关系的互逆关系。

● tree 标签:指明概念通过此关系形成树,属性path-relation 指出树形使用的path 关系

名,path-seperator 表示path 的分隔符。

3、 案例:

X5高级开发手册 2011 Justep Corp. 第 14 页 共 263 页

起 步 科 技

default-value-expr ="0" />

X5高级开发手册

2011 Justep Corp. 第 15 页 共 263 页

起 步 科 技

第3章 业务数据

3.1 概述

业务数据模块负责维护业务的数据。

主要包括本体与数据库表的映射信息(mapping )和数据库的连接配置信息。。

业务系统的持久存储层是ER 数据库,业务系统需要知道如何把本体定义和数据库里的表结构相对应,这样系统就可以把业务数据的操作自动转换成相应的数据库操作,这个过程类似Hibernate 实现的ORM 过程,本体到物理表的映射也可以缩写为ORM ,但这里的“O ”是指本体(Ontology )。

3.2 数据模块定义

3.2.1 数据连接

目前支持的数据库类型主要是SQL Server 、Oracle 、 Sybase 和DB2。默认情况下,对应的数据库是Oracle 。

每一个数据模块都可以定义它自己的数据库连接配置,按照模块的继承原则子模块可以继承父模块的数据库连接配置。

1、 语法:

2、 实例:

3、 说明:

配置的JNDI 名称和应用服务中设置的JNDI 名称一致,例如 对tomcat 下的Oracle 数据的配置为“…\apache-tomcat\conf\server.xml ”:

driverClassName ="oracle.jdbc.driver.OracleDriver" url ="jdbc:oracle:oci:@oracle73" username ="sa" password ="sa" maxActive ="10" maxIdle ="5" />

3.2.2 存取设置

本地存储:定义哪些概念存储到本模块(即数据模块)指定的数据库。

1、 语法:

2、 说明:

概念名:存储到本模块(即数据模块)中的概念。

3、 案例:

X5高级开发手册

2011 Justep Corp. 第 16 页 共 263 页

起 步 科 技 3.2.3 映射定义

实现本体到数据库的映射定义。

1、 语法:

……

……

2、 说明:

concept :指定映射的概念名称。

table 标签:概念映射到的表。table 包含的属性和标签包括:

● type 属性:表示映射表的类型,它的取值范围是{owner-table ,relation-table},

owner-table 表示主表,一个概念只能映射到一个主表上;relation-table 表示关系表。

● name 属性:表名

● key 标签:指向当前概念的主键或者外键,只允许有一个key 标签。field 表示字段,

允许指定多个字段做联合主键,使用“,”分隔,type 表示主键的数据类型,当是联合主键时,type 也是使用“,”分隔各个字段的类型。

● item 标签:表示一个关系的映射,可以有多个。field 属性表示字段名,type 属性表

示字段的数据类型。

● discriminator 标签:鉴别器,用以多个概念映射到一张表上时,根据鉴别字段的值

来识别当前行的数据是哪个概念的实例。field 表示鉴别字段名,value 表示鉴别字段的值。

● index 标签:定义数据库的索引,name 表示索引的名称,field 表示索引的字段,允

许指定多个字段做索引,使用“,”分隔,type 表示索引的类型,当前只支持“UNIQUE ”和“NORMAL ”。

3、 案例:

● 一对一关系的基本映射案例:

X5高级开发手册 2011 Justep Corp. 第 17 页 共 263 页

起 步 科 技

说明:概念SA_OPOrg 映射到表 SA_OPOrg 中,主键对应的字段名为sID 。关系sFName 、sFID 都是一对一关系,在表SA_OPOrg 中分别映射的字段名为sFName 、sFID 。

多对多关系的映射案例:

……

说明:概念SA_Task 有一个多对多关系sNext ,表示下一个任务,映射到一张关系表上。上面的Mapping 说明:type ="relation-table"表示表SA_TaskRelation 是关系表,指向当前SA_Task 的外键是sTaskID1, 关系sNext 映射到的字段为sTaskID2。

X5高级开发手册

2011 Justep Corp. 第 18 页 共 263 页

起 步 科 技

第4章 业务逻辑

4.1 概述

业务逻辑模块主要用于编写业务逻辑,一般包含三个子模块:action (定义action 和procedure )、code (业务逻辑的实现,一般使用java 实现,有src ,dsrc ,lib )、fn (函数定义)。

4.2 Action 定义

1、 语法:

<参数访问权限 name =" " type =" "/>

……

2、 说明:

name :action 的名称。

global :标识当前action 是否是全局的。

log-enabled :标识当前action 是否需要记录日志。

procedure :关联的procedure 名称。

参数节点:声明参数。参数访问权限包括:private ,私有,表示只能在action 声明时赋值;protected ,保护的,表示可以在process 中has-action 时赋值;public ,公共的,可以接受前台传入的值;permission ,权限参数,只能从组织机构上传权限的值。

参数节点上的属性:name 属性:参数名;type 属性:参数类型;value 属性:参数的默认值;required 属性:标识参数是否必须的;class 属性:当type 是Object 时,可以指定具体的Java 类为参数类型。

3、 示例:

log-enabled="true" procedure ="startProcessProcedure">

X5高级开发手册

2011 Justep Corp. 第 19 页 共 263 页

起 步 科 技 4.3 Procedure 定义

1、 语法:

……

2、 说明

name :名字。

code :对应的Java ,必须指向某个类的静态方法。

code-model :Java 代码所在的模块,如果没有指定,默认指向当前模块。

parameter 标签:表示一个参数,name 属性表示参数名,type 属性表示参数类型。parameter 节点的个数必须与相应的Java 静态方法中的参数个数一致,且Java 静态方法中的参数按顺序进行绑定。

3、 示例:

code-model ="/system/logic/code"

code ="BizProcedure.create">

4.4 Fn 定义

1、 语法:

……

2、 说明:

name :fn 的名称。

category :分类,用于studio 显示。

code-model :Java 代码所在的模块,如果没有指定,默认指向当前模块。

code :对应的Java ,必须指向某个类的静态方法。

type :返回数据的类型。

parameter 标签:参数,name 属性表示参数名,type 属性表示参数类型。

X5高级开发手册

2011 Justep Corp. 第 20 页 共 263 页

起 步 科 技

3、 实例

code-model ="/system/logic/code"

code ="CommonFn.toString" type ="String">

4.5 Java 代码

Java 代码是业务逻辑的实现技术,它主要存放在code 模块下,code 模块下一般包括以下几个子模块:src 、dsrc 、classes 、dclasses 、lib 和slib 。

src 模块:定义静态Java ,此模块下的Java 必须经过编译才能使用。

dsrc 模块:定义动态Java ,此模块的Java 不需要编译,运行时会自动编译,运行时允许修改;此模块的Java 不允许有包名。

lib 模块:定义jar 文件。

slib 模块:定义加密的jar 文件。

classes 模块:src 编译的结果。

dclasses 模块:dsrc 编译的结果。

在Java 代码中,引用别的code 模块中的Java 类时(同一code 模块下的代码可以直接使用),除了必须使用Java 的import 语法之外,当前code 模块必须引用(use 或include )对应的code 模块,例如:“/demo/logic/code ”模块下的某个Java 类(无论是src 、dsrc 、lib 或slib 子模块中的)需要引用“/demo/common/code ”模块下的类“222eb2e55ef7ba0d4a733bc2monUtils ”时,必须在“/demo/logic/code ”模块中引用“/demo/common/code ”模块,即在model.config.xml 文件中包括以下的语句:

/demo/common/code

X5高级开发手册

2011 Justep Corp. 第 21 页 共 263 页

起 步 科 技

第5章 业务流程

5.1 概述

X5业务流程是基于PetriNet 原理的业务流程定义和运行体系,PetriNet 是当今被广泛应用于业务流程描述和运行算法的理论体系。在PetriNet 中只有三个基本元素,它们分别是Place (容器),Activity (处理)和Token (令牌),PetriNet 的基础原则都是围绕这三个元素定义的,它们分别是:

Place 是用来存放Token 的。

Activity 用来消耗其输入Place 中的Token ,并且给它的输出的Place 产生新Token 。

Activity 和Activity 不能直接互连接的,只能通过Place 互连。如图所示。

图5.1 基本的PetrnNet 图

Activity 激活的条件是其输入的所有Place 中都有Token 。

一个Token 被一个Activity 消耗以后就没了,不能再被消耗。

虽然X5的业务流程体系是基于PetriNet 原理的,但由于业务模型层封装的原因,在实际的业务流程建模过程中并不会太多接触到底层PetriNet 的东西。所以在这里就不再对PetriNet 做详细描述了,具体PetriNet 的详细信息请参阅与PetriNet 相关的专业文档。

X5的业务流程以PetriNet 作为基础理论依据,把业务流程元素和PetriNet 元素做了一一对应,并且在此基础之上扩展出更合适于业务模型层的复杂业务流程规则,以形成业务流程定义。同样的,在业务流程运行时的算法体系中也遵循了基本的PetriNet 原理,并在此基础之上根据业务流程定义的扩展,也对业务流程运行扩展出相应特性。如图所示就是上个PetriNet 图对应的流程图。

图5.2 与PetriNet 图对应的业务流程图

业务流程本质上就是把业务表单在人之间传来传去,负责传送业务表单并且通知对方进行处理的媒介途径是待办任务。所以X5业务流程体系中待办任务是核心基础,无论是业务流程还是协同只要牵扯到业务表单在人之间的传递都要依赖待办任务。基于以上的理解和考虑,X5业务流程体系是以待办任务为核心,结合业务流程与协同于一身的业务流程体系。

X5业务流程体系分为三部分,它们分别是业务流程定义,业务流程运行和业务流程实例(业务流程控制数据)。业务流程定义描述业务流程的整个过程和各种规则,从使用上说画的流程图和设置

本文来源:https://www.bwwdw.com/article/raol.html

Top