`
eworkflow
  • 浏览: 213314 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

aspx页面集成工作流引擎api

 
阅读更多

最近用户在做工作流系统的集成时,总会要求快速的集成到用户的应用系统。

 

一般一个成熟的工作流软件产品,会有流程设计器,流程引擎,表单设计器,流程管理中心。在流程管理中心能可视化给业务流程建模,并发起流程实例,执行流程的流转,监控和管理流程实例的运行情况。这些功能是在工作流软件产品中已经完成的功能模块,流程建模,执行流程实例的过程其实也是一个调用流程引擎api的集成过程,只是这些调用过程都封装好了,不需要用户再去关心那些代码是如何实现的。

 

在工作流系统集成到应用系统时,集成方案,分二种,一种是直接调用流程管理中心的可视化模块,将这些可视化模块的url链接挂接到应用系统的菜单上,使得点击应用系统的菜单,就执行这些流程的管理模块。这样就只需要在应用系统的菜单管理中多定义一些关于流程管理的菜单,就可以了。如流程设计器,表单设计器,流程模版管理,启动流程实例,监控流程实例,我的待办任务。

 

但往往是事与愿违的,流程管理中心的那些可视化功能,有的用户会觉得不够用,或者是不能完全满足最终客户的需要。总是需要重新编写一些模块,如流程模版列表,用户需要增加一下查询条件。我的待办任务列表,用户希望能增加一些业务列的显示。这样的话,就必需要重新改写这些模块。这样就需要用到集成方案的第二种,调用流程引擎的api来做了。

 

利用工作流引擎的api来做集成,就需要了解都提供有那些api接口和函数,就不如第一种直接的模块集成那么方便了,需要编写代码来实现。不过,流程引擎提供的api接口和函数总归是简单的,不会太复杂,而且已经有了实现的方案(流程管理中心的实现过程就是示例),照着示例去做就ok了。

 

例如,在aspx页面中,需要做流程模版的列表。流程模版通常有存文件和存database两种,流程引擎的api函数中,有这样的函数,可以屏蔽掉是存文件中还是存database中的区别,只需要获取得到模版列表的arraylist,就ok了。

 

如果应用系统确定了流程模版只存在于database中,那还可以用sql从表中直接取出流程模版列表的方案,可能用这种对用户来说更方便了,但是就不能屏蔽流程模版保存场所的变化。

 

我的待办任务列表,这种是用户在集成的时候,经常需要调用api来做集成的。


在流程管理中心,我的待办任务列表的显示列,只能从流程的角度来列,有流程模版名,描述,版本,任务描述,最大再加一列 业务显示列。但是如果用户需要更多的业务显示列,就只能关联到用户的具体业务表去取。

 

在集成待办任务列表的时候,也有两种方法,利用流程引擎的api和执行sql直接从任务表中获取。


下面以我们公司的eworkflow自定义工作流系统为例,在aspx页面中,如何调用eworkflow的流程引擎获得待办任务列表:

       string userid = (System.String) Session["userid"];
       Environment env = new Environment(Session);
       Workflow wf = new BasicWorkflow(userid,env);
      ArrayList tasks = wf.getCurrentTasks("2",condition);//2待办任务,3已办
   
   这个tasks中,就包含有任务信息了,每一行,是一个IDictionary, 根据关键字的不同,能获取到,任务id,wfid, actionid,traceid,....等等,执行任务必需的参数。
   
       string flowname = wf.getWorkflowName(wfid);
       int flowversion = wf.getWorkflowVersion(wfid);
       WorkflowDescriptor wd = wf.getWorkflowDescriptor(flowname, flowversion);
       ActionDescriptor action = wd.getAction(actionId);
    
     action.View就是这个任务关联的业务表单,打开这个表单,执行业务过程。
    
     在这里就不把所有的代码都列出来了,在eworkflow中,有aspx页面集成流程引擎得到待办任务列表的示例。


在应用系统集成工作流系统时,直接利用流程管理中心的现有功能的url,是最快速的集成。有些模块也可以利用流程引擎的api来做,按照现有的调用示例,也能很快的达到集成,甚至可以通过执行sql来达到。如我的待办任务列表,就可以直接用这样的sql来做列表。


 

需要增加业务显示列的话,就在上面的sql中增加关联业务表,关联关系,就是 任务表.wf_id=业务表.wf_id。 这样就可获取到业务的任意信息做显示用了。

 

 

 

 

 

 

 

 

 

标签: 自定义工作流, 自定义表单, dotnet工作流引擎, .net工作流, .net工作流系统, 工作流产品, 工作流软件产品, .net自定义表单, 电子表单
  • 大小: 43.3 KB
分享到:
评论
1 楼 shige19 2013-11-29  
流程与业务表单的关联:
流程->任务->表单

相关推荐

    java开源包1

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    java开源包11

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    java开源包2

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    java开源包3

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    java开源包6

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    java开源包5

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    java开源包10

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    java开源包4

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    java开源包8

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    java开源包7

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    java开源包9

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    java开源包101

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    Java资源包01

    google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令,基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来...

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    asp.net知识库

    利用搜索引擎引用来高亮页面关键字 网站首页的自动语言切换 应用系统的多语言支持 (一) 应用系统的多语言支持 (二) 自动返回上次请求页面(小技巧) ASP.NET 2.0 控件 ASP.NET 2.0 验证控件新的功能 DataGridView...

    cuteEditor6.0

    <br/>学习应用Web标准有很多益处,下面给几个简单例子: <br/>获得好的搜索引擎排名: The separation of content and presentation makes the content represent a larger part of the total file size....

Global site tag (gtag.js) - Google Analytics