摘要: 结构化过程这两个模式的共同点在于:模式所涉及流程的执行路径是由运行时决定的,而非设计时确定。包括:Arbitrary cycles(强制循环模式) 、Implicit termination(隐式终止模式)。²11任意循环(Arbitrary Cycles)l描述:工作流中的一个点可以让一个或多个活动反复的执行。l案例:“修改提交”后进入“经理审批”,但未通过,又回到“修改提交”。lK2实现:²12隐式终止(Implicit Termination)l描述:在一个流程中,如果没有活动可执行了那么流程就会终止。换句话说,在工作流中没有active状态的活动了,而且也没有活动会 阅读全文
posted @ 2012-03-02 00:26 ScottX 阅读(869) 评论(0) 推荐(0) 编辑
摘要: 背景 工作流产品众多,而它们之间又缺乏统一的标准,使得不同的产品之间很难实现协同工作。为了解决这一问题,工作流管理联盟(WFMC)于1993年成立,并提出了工作流参考模型,制定了五个标准接口。其中有一个接口是过程定义接口。几乎每个工作流产品都有自己的过程定义语言(也称为工作流语言),可以从四个方面(控制流、数据流、资源、操作)来研究流程,工作流模式(Work Flow Pattern)只是涉及到其中的控制流部分。控制流(control flow)描述了活动在不同结构中的执行顺序。控制流对我们有效认识、理解工作流规范具有很大帮助。工作流规范需要不断地扩展,以便满足新的需求,因此有必要对控制流进行 阅读全文
posted @ 2012-03-02 00:20 ScottX 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 在K2流程系统中,流程中的任何一个执行节点(一个节点可以包含多个事件)都可能包含客户端事件,服务器端事件,以及子流程(IPC,Inter Process Communication)事件,或者其他事件。通常情况下,我们需要在流程节点中包含大量的业务逻辑,比如:流程节点的执行者是谁?在执行者启动流程节点任务之前哪些前提条件必须要满足,等等。流程节点是流程中的关键元素,任务执行者在流程节点做出审批、输入数据或者提取数据。为了实现各种复杂的业务逻辑,K2提供了以下的业务规则:1.Preceding Rule(前置规则)Preceding Rule是一种逻辑表达式,当表达式为真时,一个流程节点才可以开 阅读全文
posted @ 2012-03-02 00:17 ScottX 阅读(395) 评论(0) 推荐(0) 编辑
摘要: K2 blackpearl项目中经常需要将其他数据中的表注册到K2服务中,然后使用Smart Object进行封装,在Project或K2 Process中直接访问封装好的Smart Object中的字段,这样十分方便使用。例如,在K2 Process中,配置Activity对应的审批人(Destination Users),根据需求,这里需要从HR的数据库中的表EmployeeInfo中取得字段EmployeeName,而且这一过程是实时取数据,不需要周期性的同步,那么我们就可以把HR数据库注册到K2中,然后使用Smart Object予以封装,在配置时从Smart Object中获取数据。 阅读全文
posted @ 2012-03-02 00:15 ScottX 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 以下是使用代码审批、转签k2 blackpearl流程,初探K2 Blackpearl,望高人多多包涵、指点. //执行动作privatevoidMyAction(stringargAction){//创建连接对象SourceCode.Workflow.Client.Connectionwfcon=newSourceCode.Workflow.Client.Connection();//打开K2连接stringk2Server=System.Configuration.ConfigurationManager.AppSettings["K2Server"];stringwo 阅读全文
posted @ 2012-03-02 00:13 ScottX 阅读(1447) 评论(0) 推荐(0) 编辑
摘要: 使用C#代码,发起一个K2的流程,其形式和链接SQL Server数据库的代码差不多,都是通过连接字符串,然后OPEN,然后....你懂的。下面是K2流程发起的代码,仅供参考。同时,如果有K2方面的高手,还请多多指教小弟。 protectedvoidProcessSubmit_Click(objectsender,EventArgse){//创建连接对象SourceCode.Workflow.Client.Connectionwfcon=newSourceCode.Workflow.Client.Connection();//打开链接(传入K2服务器及其端口)stringk2Server=Sy 阅读全文
posted @ 2012-03-02 00:11 ScottX 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 对K2 Blackpearl有一定了解的人都知道,SmartObject可以帮助我们完成数据持久化的工作,以下是根据流程实例ID(ProcessInstanceID)从SmartObject中读取数据相关代码,这些代码在SDK中也是可以找到的,现在贴出来给大家,希望有帮助,同时希望有大虾可以予小弟以指点。 //根据KEYID从SmartObject中取数据privatevoidLoadData(stringargProInstanceID){SourceCode.SmartObjects.Client.SmartObjectClientServersocs=newSourceCode.Smar 阅读全文
posted @ 2012-03-02 00:09 ScottX 阅读(1037) 评论(0) 推荐(0) 编辑
摘要: 根据对K2 Blackpearl的一定了解,SmartObject可以帮助我们完成一些数据持久化的工作,以下是将表单中的数据存储到SmartObject中的相关代码,SmartObject的结构我就不一一赘述了,相信你能看懂的。这些代码SDK中也有,在此贴出来,希望有大虾可以予小弟以指点。//将表单中的数据存储到SmartObject中privatevoidSaveData(intargProcInstanceID){SourceCode.SmartObjects.Client.SmartObjectClientServersocs=newSourceCode.SmartObjects.Cli 阅读全文
posted @ 2012-03-02 00:08 ScottX 阅读(351) 评论(1) 推荐(0) 编辑
摘要: 以下是我在网络上摘抄整理的一些关于K2 blackpearl中SmartObject的相关知识,希望对大家有用,能让大家更好地理解SmartObject及它在企业架构中的定位。有人认为SmartObject可以被认为是SOA的一种实现,但之后观点又有所改变:1.SmartObject不完全等同于SOA,虽然它实现了很多SOA的理念-自我管理、安全、日志、可被发现、可维护、异常处理、扩展性、可行性、事务支持、互操作性(计算机之间的沟通能力)、可测试等。2.可以这么认为SmartObject达到了SOA实现成熟度的第2级(总共有5级)。3.企业可能会投资实现更高成熟度的SOA,而不仅仅是Smart 阅读全文
posted @ 2012-03-02 00:06 ScottX 阅读(707) 评论(0) 推荐(0) 编辑
摘要: 最近在用K2 Blackpearl开发工作流的项目,但是网上关于这方面的资料很少,几乎找不到什么很好的帮助。下面是分享一位大虾的文章,提供给大家参考。 首先在这里感谢原创的分享(http://blog.csdn.net/shanyou/article/details/4681127),谢谢!工作流定义: The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for 阅读全文
posted @ 2012-03-02 00:05 ScottX 阅读(293) 评论(0) 推荐(0) 编辑