鉴于大家对其他类别十分关注,我们编辑小组在此为大家搜集整理了“基于OpenWFE的架构工作流模板的设计与实现”一文,供大家参考学习!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
1. 公文草拟模块的实现 工作流解释和执行服务是工作流管理系统的核心,实际上它是企业经营过程的任务调度器,并且还在某种程度上是企业资源分配器。因此,解释与执行组件是公文流转系统中最为重要的核心部分,它负责激活并解释个工作流模板的全部或部分定义,创建过程实例并控制其执行,调度各项活动,为用户工作表添加工作项,提供监督和管理功能等,通过应用程序(API)和外部的应用程序进行交互来完成基于工作流模式的工作流流程实例的创建、执行与管理,比如流程定义的解释、流程实例的控制(创建、激活、暂停、终止等)、完成公文处理流程中个活动之间的控制条件的计算与数据的传递等、并生成有关的工作项通知用户进行处理等等,为工作流成的进行提供一个运行时环境。 4.1 角色管理 为用户创建一个客户端的管理员级别帐户,方便用户对业务流程进行操作。打开OPENWFE_HOME/etc/worklist/passwd.xml,添加用户名密码均为admin的帐户,并设置其权限。代码如下: <principal name="admin" class="openwfe.org.auth.BasicPrincipal" password="+33+35+47+41+122+87-91-89+67-119+74+14+74-128+31-61" > <grant name="store.all.admin" /> <grant name="store.alpha" /> <grant name="store.bravo" /> <grant name="store.default"/> <grant name="launch.more"/> <grant name="launch.all" /> <grant name="user-management" /> </principal> 用户登陆界面如图4.1所示。 4.2 公文业务流程与用户界面的交互 公文业务流转系统的用户界面实现的是系统的客户端功能,它由业务流任务表管理 器和用户操作来共同完成。业务流任务表是指分配给一个或一组用户处理的任务项组成,这些任务项可以是某一个公文处理业务,也可以是该业务分解的各项活动。业务流任务表管理器是负责管理业务流任务表的软件模块,它还负责完成与最终用户的操作进行交互[15]。 在工作流模型中,用户界面与解释执行组件的交互通过定义良好的接口来完成,而这个接口所指的就是业务流任务表。简单而言,解释执行组件通过存取业务流任务来完成特定任务到特定用户的分发过程,而业务流任务表管理器存取业务流任务表是为了获取任务项,并将它们提供给用户进行处理,以得到用户想要的结果。 在本模块中,通过在应用层的客户端后台加载工作流业务流任务表,实现业务流程与应用层功能实现的绑定。下面是在caoni.jsp中绑定实现草拟公文的核心代码: <% String link = h.getAttributes().get("__wfd_url__").toString(); boolean linkable = (link != null && link.startsWith("http://")); FlowExpressionId fei = h.getExpressionId(); String drofloLink = response.encodeURL(OwfeSession.getDrofloPrefix(request) +"/servlet/droflo.action?action=load&flowUrl=" + link +"&expName=" + fei.getExpressionName() + "&expId=" + fei.getExpressionId()); %> <td> <% String wiName=h.getAttributes().get("__wfd_name__").toString(); GetWorkItemName gn=new GetWorkItemName(); %> <%= gn.getName(wiName)%> </td> <!-- dispatch time --> <td> <font size=1><%= h.getAttributes().get("__dispatch_time__") %> </font> </td> <!-- participant --> <td><%= h.getAttributes().get("__participant__") %></td> <!-- actions... --> <td align=center> <a href=<%=response.encodeURL("/webclient/viewWorkItem.action?id="+h.getStringId()) %> title="View workitem">查看</a> <%if (headerMap.canWrite((String) storeName) && !h.isLocked()) { %> <a href=<%= response.encodeURL("/webclient/editWork.action?id="+h.getStringId()) %> title="Edit workitem">编辑</a> <%} %> </td> 图4.2所示为公文草拟界面。 |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |