`
kungstriving
  • 浏览: 131432 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Intalio Tempo研究二 (如何创建和完成一个人工任务)

    博客分类:
  • BPEL
阅读更多

Intalio Tempo研究一(架构设计)

 

Tempo如何创建和完成一个任务

1. 创建和完成一个任务的序列图

1 创建和完成任务序列图

上图中的缩写词意义:

1)        UBPUser Business Process。它就是创建该任务的流程。一般情况下是一个BPEL流程,但是事实上它可以是任何形式的应用程序。它发起一个Web Service调用来创建一个任务,并且提供一个Web Service操作来完成该任务。

2)        FDSForm Dispatcher Service。它就像一个UBPTMP之间的代理器。

3)        TMPTask Manager ProcessBPEL流程负责管理任务的生存周期。它在接受来自FDScreateTaskRequest流程时被初始化。

4)        TMSTask Management Service。这是一个提供工作流动作,持久化任务到数据库还有处理安全事务的Web服务。

5)        UI-FWUI Framework。显示任务列表和转发表单的管理到表单管理器(XFM)。

6)        XFMXForms Manager。这是一个表单管理器的实现,XForms forms

7)        WDSWorkflow Deployment Service。管理表单的存储和访问。

注意:创建和完成一个任务是完成分开的。任务的ID被用来将createTaskResponse消息和notifyTaskCompletionRequest消息连接起来。这个ID是由TMP产生的。

 

2. 创建一个任务

创建任务是由对于FDS的一个Web服务调用启动的。接着FDS将这个请求转发给TMP,接下来TMP通过调用TMS来创建任务。

FDS是为了将“任何流程”都转化为“一个TMP”的关系而存在的,这一步是无法在BPEL中完成的。从TMP的角度来看,createTaskRequest的消息只能由一个特别定义的partnerLink发出。每一个不同的UBP就是一个不同的parterLink。为了解决这个问题,FDS设计为一个servlet可以处理any-to-one的关系,它通过接收所有发往/fds/workflowcreateTaskRequest请求消息,并且动态的将命名空间转变成TMP所期望的一样,接下来将这些请求转发到TMP

TMP返回createTaskResponse消息时,它同样发送到/fds/workflow,当然会被FDS所截获,接着FDS改变它的命名空间到该请求的最初模样。命名空间可以在createTaskResponse消息中找到,它是由先前的createTaskRequest中映射过来的。这就是为什么在UBP中创建一个任务时必须做命名空间映射的原因。这个命名空间可以通过createTaskResponse消息传回到FDS中,因此FDS才可以创建这样的消息,这个消息是UBP实例所一直等待的。

3. 完成一个任务

当一个用户登录系统,或者刷新了任务列表,这时UI-FW将会向TMS发送一个调用来取得最新的任务列表。当用户点击一个任务,这个请求被转发到相应的表单管理器上。目前,UI-FW还只适用于XFM,但是这个可以扩展成为根据一个任务的属性动态选择一个表单管理器。接下来,XFM调用TMS来获得所有任务细节。它同时还调用WDS来取得实际的表单。基于这些所有信息,XFM生成一个表单,包括有它所需的输入数据,还有让用户完成任务的按钮或者任何其他的工作流动作XFM所支持的。

当用户点击完成按钮,XFM调用TMP去完成该任务。注意:在这里FDS不需要被调用,这个调用根据任务ID来进行关联。

接着,TMP通过调用TMS来改变任务的输出以及它的状态。

接下来,TMP通过FDS将任务输出转发到UBP。任务ID在这里做完任务的关联标识。

最终,TMP在接收到UBP的回应之后,向XFM发送结果。

0
2
分享到:
评论

相关推荐

    SOA培训-intalioBPMS.pptx

    **Italio BPMS(业务流程管理系统)**是Intalio公司提供的一个平台,用于支持和服务于SOA环境中的业务流程管理。Italio BPMS支持BPMN(业务流程建模与notation)和BPEL(Business Process Execution Language)行业...

    web service business process execution language

    它是OASIS(结构化信息标准促进组织)的一个标准,用于通过Web服务接口实现业务流程的模型化和自动化。BPEL基于XML(可扩展标记语言)命名空间,并由多个企业联合开发。 BPEL版本2.0是该语言的最新稳定版本,于2007...

    Liferay Portal Systems Development

    Liferay Portal是一个开源的企业级门户解决方案,它允许用户构建和部署Web应用程序和门户。它支持多种插件,包括Portlets(小应用程序)、主题、布局模板等,使得开发者能够灵活地创建企业级应用。 在描述中提到的...

    如何配置maven

    Maven是一个强大的项目管理和构建工具,广泛应用于Java开发中。它简化了项目的构建过程,管理依赖关系,并提供了标准化的构建生命周期。下面是详细的Maven配置步骤: 1. **下载Maven** 首先,你需要访问Maven的...

    BPM Essentials with Open Source

    - **BPMN**:一种用于描述业务流程的图形化标准,旨在简化流程模型的创建与理解,提高非技术人员的参与度。 - **BPEL**:专注于流程执行的语言,支持复杂的业务逻辑,特别适用于SOA(Service-Oriented Architecture...

    informatica powercenter 中文资料

    从文档描述中我们可以看出,Informatica PowerCenter是一个功能丰富的企业级解决方案,它不仅具备强大的数据集成能力,还能够处理与数据相关的各种复杂情况,如数据质量控制、B2B数据转换、数据质量管理等。...

Global site tag (gtag.js) - Google Analytics