liuhou1 2007-1-4 11:23
Extraction应用构建平台应用基础(一)------应用流程篇
Extraction应用构建平台应用基础(一)------应用流程篇
Extraction平台是一个基于流程化的Web应用构建系统,通过使用图形化的ExModel应用流程设计构造器构造协作型和非协作型的应用,通过后台ExEngine核心引擎的加载执行应用实现应用功能;Extraction平台是一个集成性的应用流程的构造器(定义),解析器,管理器和执行系统;
Extraction平台基于流程的应用构造体系,拥有以下的特点:
1. 完全图形化
Extraction平台提供强大的应用流程构造器(ExModel),使用完全图形化的方式来设计构建应用流程;图形化的流程构建极大的简化了应用流程构造的复杂度,降低构建的技术性要求;
2. 活动和联结的组合
在Extraction平台上构造的应用流程通过活动和联结来组织,任意复杂的应用都可以通过多个活动和联结的组合实现;通过活动和联结的组合使得应用所要实现的功能和执行路径可以一目了然的表现出来;
3. 零代码构建
Extraction平台提供丰富的应用数据处理组件和强大的表达式实现,构建工程师无需掌握任何复杂的编成语言即可快速开发出功能强大、界面友好的应用;Extraction平台为构建工程师屏蔽底层的复杂技术,使得上层的开发变得异常的简单;绝大部分的应用无需编写代码即可实现;零代码构建极大降低软件开发的技术要求,提高软件的开发效率,降低软件开发成本;
4. 不可比拟的开发速度
Extraction平台上应用流程构建具有不可比拟的快速开发优势;通过完全图形化的构建和丰富应用工具的使用,应用的构建就像搭积木一样的简单快速;Extraction平台应用构建速度以数量级的方式提升Web应用软件的开发速度;
5. 远程协作实现
集成组织架构,基于用户/部门/职务/角色的用户(群)执行人指定,强大的流程调度机制,自动递送活动和任务到桌面;通过使用ExRouter支持跨网络的应用流程协作,无须关注距离和地点,全自动的信息传递和流转;
6. 流程跟踪和测试
图形化的流程跟踪和测试环境,对于应用流程的运转执行的状况一目了然;全面地跟踪测试记录,集中的可视化的异常捕捉、定位和管理实现;完全改变软件开发测试的模式,无须关注测试实现;
7. 拼装式交互设计
自动化页面生成体系,改变原始页面设计模式,拼装式的交互页面设计,无须编写任何页面即可生成丰富,优秀的交互界面;平台提供丰富强大的页面元素,提供多种页面风格可供选择;
8. 多重控制和提醒机制
针对活动的多重控制和提醒机制,可以为独立的活动指定监控人,负责活动激活、终止或者异常处理的管理,同时可以通过多个途径通知监控人或活动执行人;
9. 集成文档化
应用流程设计的同时支持注释信息的编辑,即提高应用流程的可读性,同时减少独立技术文档的撰写工作;通过广泛使用注释信息可以免除撰写软件设计文档,软件技术文档的工作;通过使用DocExtractor工具可以动态生成应用流程的设计文档;从而避免软件开发和文档撰写间繁琐的同步工作;
10. 多语言支持
内建多语言的支持实现,可依据用户语言属性动态生成适应用户语系的交互界面;
liuhou1 2007-1-5 15:32
Extraction应用构建平台应用基础(二)------流程和实例篇
Extraction应用构建平台应用基础(二)------流程和实例篇
通过使用Extraction平台的ExModel构建管理工具,构建工程师可以构建各种各样的应
用流程,构建出的应用流程会被存储在硬盘或数据库里;构建出的应用流程我们称之
为应用流程模型,当用户点击激活应用流程模型时,ExEngine核心引擎会加载应用流
程模型,而后为这个模型建立新的副本,并依据规则实例化这个副本,实例化的副本
最终被ExEngine核心引擎加载运行,我们称这个被加载运行的模型副本为应用流程实
例;
根据以上的机制可以发现每一流程模型可以在引擎内激活多个流程实例(参考
流程激活控制章节,了解流程激活控制的细节),每个流程实例被ExEngine核心引擎
独立运行,因此对每个流程实例的独立变更不会影响其他流程实例,也不会影响应用
流程模型本身;
这一特征使得Extraction平台可以自由的随时随地的修改运行中的应用流程实
例,而不用停止服务器,修改应用流程实例的同时即不会影响其他应用流程的运行,
也不会影响后续激活的相同流程的运行;
流程实例的生命状态周期
对于一个流程实例而言,可能处于以下几种状态之一(任何时候,实例只能处于一个
状态):
ACTIVITING(运行)
当流程实例被ExEngine核心引擎加载后即处于运行状态,运行中的流程实例,依据定
义的规则依次执行相关的动作;即使不执行任何*作或处于等待中的实例也处于运行
状态(比如,等待用户交互);
PAUSE(暂停)
当ExEngine核心引擎接收到暂停流程实例的指令后,引擎将更新流程实例状态,并注
销该实例所注册的所有事件,执行相关处理*作,并最终从内存中卸载流程实例到硬
盘或数据库;暂停的流程实例保存所有运行状态,在再此激活后恢复到其运行时状态
;
FINISHED(结束)
当流程依据规则执行完成,流程将进入结束状态,ExEngine核心引擎更新流程实例的
状态,执行相关处理*作,并最终从内存中卸载流程实例或依据规则删除流程实例;
所有正常执行的流程实例最终回到结束状态,并结束其生命周期;
ABORT(终止)
当流程被用户或管理员强行终止或流程本身执行发生重大异常时,流程进入终止
状态;ExEngine核心引擎立即强行终止该运行实例并注销相关注册事件,执行后续处
理,并立即从内存卸载流程实例;被强行终止的流程实例可能存在数据的不完整性;
结束的流程实例和终止的流程实例不可以被再次激活;
[url]http://www.extract.com.cn:8888/[/url]
无需帐号和密码,直接登录就行。欢迎跟贴!
liuhou1 2007-1-5 15:35
Extraction应用构建平台应用基础(二)------流程和实例篇
Extraction应用构建平台应用基础(二)------流程和实例篇
通过使用Extraction平台的ExModel构建管理工具,构建工程师可以构建各种各样的应
用流程,构建出的应用流程会被存储在硬盘或数据库里;构建出的应用流程我们称之
为应用流程模型,当用户点击激活应用流程模型时,ExEngine核心引擎会加载应用流
程模型,而后为这个模型建立新的副本,并依据规则实例化这个副本,实例化的副本
最终被ExEngine核心引擎加载运行,我们称这个被加载运行的模型副本为应用流程实
例;
根据以上的机制可以发现每一流程模型可以在引擎内激活多个流程实例(参考
流程激活控制章节,了解流程激活控制的细节),每个流程实例被ExEngine核心引擎
独立运行,因此对每个流程实例的独立变更不会影响其他流程实例,也不会影响应用
流程模型本身;
这一特征使得Extraction平台可以自由的随时随地的修改运行中的应用流程实
例,而不用停止服务器,修改应用流程实例的同时即不会影响其他应用流程的运行,
也不会影响后续激活的相同流程的运行;
流程实例的生命状态周期
对于一个流程实例而言,可能处于以下几种状态之一(任何时候,实例只能处于一个
状态):
ACTIVITING(运行)
当流程实例被ExEngine核心引擎加载后即处于运行状态,运行中的流程实例,依据定
义的规则依次执行相关的动作;即使不执行任何*作或处于等待中的实例也处于运行
状态(比如,等待用户交互);
PAUSE(暂停)
当ExEngine核心引擎接收到暂停流程实例的指令后,引擎将更新流程实例状态,并注
销该实例所注册的所有事件,执行相关处理*作,并最终从内存中卸载流程实例到硬
盘或数据库;暂停的流程实例保存所有运行状态,在再此激活后恢复到其运行时状态
;
FINISHED(结束)
当流程依据规则执行完成,流程将进入结束状态,ExEngine核心引擎更新流程实例的
状态,执行相关处理*作,并最终从内存中卸载流程实例或依据规则删除流程实例;
所有正常执行的流程实例最终回到结束状态,并结束其生命周期;
ABORT(终止)
当流程被用户或管理员强行终止或流程本身执行发生重大异常时,流程进入终止
状态;ExEngine核心引擎立即强行终止该运行实例并注销相关注册事件,执行后续处
理,并立即从内存卸载流程实例;被强行终止的流程实例可能存在数据的不完整性;
结束的流程实例和终止的流程实例不可以被再次激活;
[url=http://www.extract.com.cn:8888/]http://www.extract.com.cn:8888/[/url]
无需帐号和密码,直接登录就行。欢迎跟贴!
liuhou1 2007-1-11 16:19
Extraction应用构建平台应用基础(五)------组织架构篇
Extraction应用在企业或政府环境中,因此Extraction平台有其自身的组织架构模型,这样的组织架构模型适用于绝大部分的企业或政府环境;Extraction平台定义组织内的人员为系统用户,定义组织内的部门为系统部门,定义组织人员的职务为系统职务,Extraction平台同时定义系统角色这一用户群概念,对于具有相同工作内容扮演相似职责的用户可能扮演相同的系统角色;一个系统用户可以隶属多个部门,拥有多个职务,扮演多个角色;
通过部门、职务和角色可以很好的对组织内的用户进行分类管理;
Extraction提供独立的Web组件管理组织架构,同时也提供相应的应用流程来对组织架构进行管理(参考附录附属流程章节);
Extraction平台还支持独立的组织架构的引用;当组织架构独立于Extraction平台时,Extraction平台提供对独立组织架构的访问接口,如果需要提供对独立组织机构的完全管理需要开发独立的应用流程;Extraction平台支持对LDAP服务器的访问;对于存储于LDAP服务器中的组织机构可以自由访问;
在Extraction平台应用构建中定义四类交互用户,分别为系统用户,部门用户,角色用户和职务用户;
系统用户直接指定Extraction平台应用组织内的系统用户,系统用户必须具有Extraction平台的应用使用权;
部门用户,角色用户和职务用户是多个系统用户的集合,称为系统用户群,应用流程可以为人工活动指定多个系统用户群执行人;
[url]http://www.extract.com.cn:8888/[/url]
无需帐号和密码,直接登录就行。欢迎跟贴!
liuhou1 2007-1-17 14:48
Extraction平台是以数据为核心的, Extraction平台不关注于应用的具体逻辑,因此可以在Extraction平台上构建任意类型的Web应用;
Extraction平台支持五种基本数据类型和五种扩展数据类型;通过在应用流程中定义指定数据类型的变量,用于存储流程中的各种数据;应用流程中的变量数据是其他任何*作的基础;
Extraction平台可以定义常量数据和变量数据,常量数据是固定的不可变的值,只有基本数据类型才支持常量数据;
² 五种基本数据类型
类型
简写标识
描述
Integer
I
整型数据(基本数据),存在常量
Double
D
浮点型数据(基本数据),存在常量
Bool
B
布尔型数据(基本数据),存在常量
String
S
字符串数据(基本数据),存在常量
Null
N
表示空数据,即不存在数据;不存在N类型的变量或常量,N类型数据只产生于运算过程中,但可以判决N类型数据或产生N类型的值
² 五种扩展数据类型
类型
简写标识
描述
Time
T
完整日期型数据,包含年月日时分秒六部分
List
L
数组数据,数组数据中可以存储任意多个的其他数据,这些数据按照先后顺序排列,数据的类型可能不尽相同
Map
M
关联数组数据,存储关联数据,所谓关联数据即为具有关联关系的一对数据,依据首个数据(Key)可以获得另一个数据(Value),关联的Key/Value可以为任何数据类型
File
F
文件数据类型,对应一个任意的计算机文件
Object
O
Java序列化对象,可以为实现Java的java.io.Serializable 接口的任意Java对象,通过O类型的对象提供用户实现任意数据类型的可能
² 扩展数据类型属性
扩展数据类型支持一些独特的属性,通过属性可以快速获得扩展数据的特定信息;
类型
属性
描述
Time
Y,M,D,h,m,s
分别对应日期数据类型的年月日时分秒
List
Size
数组大小
Map
Size
关联数组大小
File
Size
FileName
文件大小
文件名称
Object
ClassName
Java类名称
33:)
liuhou1 2007-1-18 11:24
Extraction应用构建平台应用基础(八)------数据类型和Java对象的映射关系篇
Extraction应用构建平台应用基础(八)------数据类型和Java对象的映射关系篇
数据类型Java对象映射表
Extraction数据
Java数据类型
Java对象
备注
I
short/int/long
java.lang.Short
java.lang.Integer
java.lang.Long
ExEngine引擎会依据具体的应用环境自动判决应该使用的Java数据类型
D
float/double
java.lang.Float
java.lang.Double
ExEngine引擎会依据具体的应用环境自动判决应该使用的Java数据类型
S
java.lang.String
B
boolean
java.lang.Boolean
N
null
T
java.util.Date
L
java.util.ArrayList
M
java.util.LinkedHashMap
JDK1.4支持
F
FileWrapObject
Extraction平台内建的对文件的封装对象
O
java.lang.Object
任何实现java.io.Serializable接口的Java对象
liuhou1 2007-1-18 11:28
Extraction应用构建平台应用基础(八)------数据类型和Java对象的映射关系篇
数据类型Java对象映射表
Extraction数据
Java数据类型
Java对象
备注
I
short/int/long
java.lang.Short
java.lang.Integer
java.lang.Long
ExEngine引擎会依据具体的应用环境自动判决应该使用的Java数据类型
D
float/double
java.lang.Float
java.lang.Double
ExEngine引擎会依据具体的应用环境自动判决应该使用的Java数据类型
S
java.lang.String
B
boolean
java.lang.Boolean
N
null
T
java.util.Date
L
java.util.ArrayList
M
java.util.LinkedHashMap
JDK1.4支持
F
FileWrapObject
Extraction平台内建的对文件的封装对象
O
java.lang.Object
任何实现java.io.Serializable接口的Java对象
liuhou1 2007-1-19 16:01
Extraction应用构建平台应用基础(八)------数据类型和Java对象的映射关系篇
数据类型Java对象映射表
Extraction数据
Java数据类型
Java对象
备注
I
short/int/long
java.lang.Short
java.lang.Integer
java.lang.Long
ExEngine引擎会依据具体的应用环境自动判决应该使用的Java数据类型
D
float/double
java.lang.Float
java.lang.Double
ExEngine引擎会依据具体的应用环境自动判决应该使用的Java数据类型
S
java.lang.String
B
boolean
java.lang.Boolean
N
null
T
java.util.Date
L
java.util.ArrayList
M
java.util.LinkedHashMap
JDK1.4支持
F
FileWrapObject
Extraction平台内建的对文件的封装对象
O
java.lang.Object
任何实现java.io.Serializable接口的Java对象
liuhou1 2007-1-19 16:09
Extraction应用构建平台应用基础(九)------表达式篇
流程表达式是Extraction平台数据处理的强大工具,通过使用表达式可以对各种数据进行处理,可以对应用流程进行控制;Extraction平台支持任意复杂的表达式形式,平台还提供强大的表达式构造器,支持实时的表达式验证;
一个流程表达式可以由五部分组成:
组成部分
范例
描述
常量
$S@”test” I@1
常量的命名规则:$类型@值
变量
$[Act1]$O@[tableset]
变量的命名规则:$[活动编码]$类型@[变量编码]
函数
Sum($I@123,$I@[size])
规则:函数名(参数1,参数2,…)
运算符
$I@123+$@123-$I@[size]
备注
//this is a remark
参考
一个典型的流程表达式:
//增加一组数据
Block(
Append($[Act1]$L@[List],I@1+I@2),//索引
Append($[Act1]$L@[List],$[Act1]$S@[Name]),//姓名
Append($[Act1]$L@[List],$[Act1]$S@[Sex]),//性别
Append($[Act1]$L@[List],$[Act1]$S@[mail]),//邮箱
Append($[Act1]$L@[List],$[Act1]$T@[Birthday])//生日
)