论文部分内容阅读
随着Web技术和企业信息化的迅猛发展,越来越多的企业正在采用面向服务架构(Service-Oriented Architecture,SOA)将企业中已有的信息系统整合起来,实现系统间的信息共享、协同工作。Web服务是面向服务架构(SOA)中的核心技术,使用Web服务可以实现企业异构系统之间的交互。单个Web服务能实现的功能有限,现实应用中常需要将多个Web服务组合在一起提供更强的功能。BPEL是一种以业务流程的方式描述Web服务组合的语言,它将多个独立的服务按照一定的逻辑组合在一起形成一个业务流程。BPEL主要关注业务流程的自动运行,不支持用户与流程的交互。然而,现实应用中的很多流程都不会完全自动运行,需要用户的参与。本文针对BPEL不支持用户交互这一问题,改进了现有研究成果中定义人工任务的语言和人工任务执行的系统架构。设计和实现了一个人工任务转换程序,可自动地将人工任务转换成对一个独立于引擎之外的人工任务管理器的异步调用,转换后的流程定义文件可部署到任何支持标准BPEL的引擎之上,不需要修改或扩展引擎。设计和实现了人工任务管理器维护人工任务,充当用户与流程交互的桥梁。本文完成的主要工作有:①分析了目前国内外关于BPEL人工交互的研究现状和BPEL的相关技术。分析了相关研究的优点与不足。②分析了人工交互的过程,改进了现有研究成果中定义人工任务的语言,增加了对流程等待期限、任务认领期限和任务调升期限的定义。③研究了BPEL对Web服务的同步与异步调用模式,改进了现有研究成果中人工任务的执行系统架构。系统采用一个独立于引擎之外的人工任务管理器维护人工任务,流程与人工任务管理器之间采用异步消息模式进行交互,更能适应人工任务长时间地执行。④设计和实现了一个转换程序,将含有人工任务定义的<invoke>活动自动转换成对人工任务管理器的异步调用。设计和实现了人工任务管理器的原型系统,使用JAX-WS将系统的功能封装成Web服务供流程和客户端调用。⑤使用一个需要人工协作的汽车贷款审批流程对系统进行检验,应用结果验证了系统的合理性与可行性,能够实现用户干预流程的执行。