一种服务化业务流程中人机交互方法

文档序号:7759702阅读:225来源:国知局
专利名称:一种服务化业务流程中人机交互方法
技术领域
本发明涉及一种服务化业务流程中人机交互方法,属于服务计算领域,适用于服 务的流程建模和执行。
背景技术
随着面向服务的体系结构(Service Oriented Architecture)的广泛应用,越来 越多的企业将各种企业资源封装成具有标准接口描述的Web服务,进而使用基于Web服务 的业务流程描述模型,将各种资源以更加快速、灵活、松耦合的方式进行集成,提高资源复 用和集成的效率。实际应用中,业务流程不可避免地包括人机交互任务。许多业务流程的 目的就是为了规范流程中各个环节相关人员的动作,并明确其工作范围、职责,以帮助任务 执行人员地完成其任务。但目前的服务化业务流程描述模型侧重支持对自动化执行的业务 流程,即对无人工参与的自动化Web服务流程进行编排,并不提供人机交互方法。这导致使 用这些流程描述模型时,在服务化业务流程建模阶段建模人员无法描述人机交互任务,在 流程运行阶段流程无法与任务执行人员进行交互。

发明内容
本发明的目的是提供一种服务化业务流程人机交互方法。使用本发明提供的交 互方法允许在不修改已有服务化业务流程描述模型的前提下,将人机交互服务的建模和执 行无缝集成到服务化业务流程的建模和执行中。本发明包含三部分内容1、服务化业务流 程建模阶段人机交互服务的引入;2、基于Web服务描述语言(Web Service Description Language)和富客户端(Rich Client)技术的人机交互服务自动生成机制;3、服务化业务 流程与人机交互服务运行时刻互操作机制。本发明的技术方案为一种服务化业务流程中人机交互方法,其步骤为1)建立一业务流程模型,并将选取的该业务流程模型中的若干服务设定为人机交 互服务;2)将设定为人机交互服务的服务生成人机交互服务实现;3)将步骤1)所建业务流程模型部署到服务化业务流程引擎上;4)服务化业务流程引擎将所设定的人机交互服务的服务请求发送到人机交互服 务任务引擎上,并挂起该服务请求对应的服务化业务流程实例;5)人机交互服务任务引擎将该服务请求、该服务请求对应的人机交互服务实现以 及该服务请求的服务化业务流程标识符记录到一待处理任务列表中;6)浏览器端实例化该服务请求对应的人机交互服务实现,解析该服务请求供操作 人员处理;7)操作人员提交表单给该人机交互服务实现,生成该服务请求的响应消息并返回 给人机交互服务任务引擎;
8)人机交互服务任务引擎根据服务化业务流程标识符将该响应消息发送给服务 化业务流程引擎;9)服务化业务流程引擎收到该响应消息后,继续执行该挂起的服务化流程实例。进一步地,将该业务流程模型的服务设定为人机交互服务的方法为将所选取的 人机交互服务的端点值设定为任务引擎的IP地址或域名。进一步地,服务化业务流程引擎根据所设定人机交互服务的端点值确定发送所述 服务请求的任务引擎。进一步地,所述人机交互服务实现为基于浏览器的富客户端人机交互服务实现。进一步地,所述人机交互服务实现的生成方法为任务引擎依据描述服务语言,采 用富客户端技术生成人机交互服务实现。进一步地,所述人机交互服务实现为一 JavaScript文件。进一步地,所述浏览器端设有一任务监听器,所述任务监听器定时轮询所述待处 理任务列表。进一步地,人机交互服务实现解析该服务请求的的方法为首先解析该服务请求 的格式信息,其中格式信息包括服务请求的输入参数名称、类型;然后将服务请求的输入 参数根据其类型进行格式化为字符串;最后将处理后的数据以表格形式显示到界面上供操 作人员查看。进一步地,所述服务请求为XML格式的服务请求。本发明的各个模块交互如图1所示(1)本发明提供的交互方法不需要对已有服务化业务流程描述模型进行修改。在 业务流程建模阶段,流程建模人员首先使用已有服务化业务流程描述模型提供的标准Web 服务对业务流程进行建模。此时,业务流程模型并不包含哪些服务作为人机交互服务的信 息。接着,流程建模人员需要在建模完毕的业务流程模型上,设定哪些Web服务是人机交 互服务。这一设定操作通过对将标准Web服务的属性中的端点(endpoint)值设定为运行 时刻人机交互任务引擎的IP地址或域名来完成。建模阶段完成的业务流程模型符合已有 的服务化业务流程描述模型,其中人机交互服务的信息包含在标准Web服务属性的端点值 中。这一业务流程模型可以被部署到已有的服务化业务流程引擎上,流程引擎根据不同的 端点值决定Web服务请求被发送的位置,其中对人机交互服务的请求会被发送到人机交互 任务引擎上。(2)富客户端技术是一种综合了传统Web客户端和桌面客户端优势的新型Web客 户端技术。目前主流的富客户端技术基于Web浏览器,具有功能强大、用户体验好、无需安 装部署升级等优势,适合业务流程建模人员以及人机交互任务执行人员这类非专业开发人 员使用。本发明依据Web服务描述语言(WSDL)使用富客户端技术自动地生成人机交互服 务。服务化业务流程中的Web服务均使用WSDL描述该服务的详细输入输出。通过对WSDL 文件的解析可以获得Web服务简单对象访问协议(SOAP)请求响应消息的详细格式,而后使 用以下方法就可以生成人机交互服务 对于SOAP请求消息,人机交互服务解析WSDL中包含的SOAP请求的格式信息。 格式信息中,包含SOAP请求消息的输入参数名称、类型(浮点数、日期)信息。而后人机交 互服务将XML格式的SOAP请求中输入参数根据其类型进行格式化为字符串(例如浮点数保留几位小数、日期以年月日方式显示),最后以表格形式显示到界面上供人机交互服务处
理人员查看; 对于SOAP响应消息,人机交互服务解析WSDL中包含的SOAP响应的格式信息。 格式信息中,包含SOAP响应消息中各个返回值的名称、类型(浮点数、日期)信息。而后人 机交互服务根据输出参数的名称与类型生成表单。该表单使用富客户端技术,提供基于参 数类型的校验功能(例如日期类型的返回值不能填写浮点数值)。在人机交互服务处理人 员提交表单后,人机交互服务会将表单格式的返回值转化为XML格式的SOAP响应消息。具体人机交互服务生成后,人机交互服务实现代码、该人机交互服务与SOAP消息 的对应关系会被部署到人机交互任务引擎中。(3)为了在不对已有的服务化业务流程引擎进行修改的前提下,实现服务化业务 流程和人机交互服务的互操作,本发明提供人机交互服务任务引擎和任务监听器来支持互 操作。人机交互任务引擎表现为一个服务器,独立于已有服务化业务流程引擎运行。因为在 流程建模阶段,人机交互服务的端点值被设定为人机交互任务引擎的IP地址或域名,所以 当业务流程请求一个人机交互服务时,流程引擎会将该SOAP请求消息发送到任务引擎。流 程引擎发送请求后,会将待完成的流程挂起直到接收到SOAP响应消息。任务引擎接到SOAP 请求后,会根据其中记录的SOAP请求与人机交互服务的对应关系,确定处理该SOAP请求的 人机交互服务,并将SOAP请求、人机交互服务实现以及发起SOAP请求的业务流程惟一标示 符记录到待处理人机交互服务列表中。人机交互任务监听器表现嵌入浏览器的功能模块。 任务监听器定时轮询任务引擎中待处理人机交互服务列表。当存在待完成服务时,任务监 听器下载人机交互服务实现代码,创建对应的人机交互服务富客户端实例,再根据SOAP请 求与响应格式生成界面。当人机交互服务处理人员发现并完成人机交互服务后,提交的表 单会格式化为SOAP响应消息被发送到任务引擎。任务引擎将根据记录的业务流程惟一标 示符,将SOAP响应消息发送回业务流程引擎。业务流程引擎收到SOAP响应消息后会让流 程实例继续运行。业务流程引擎、任务引擎、任务监听器以及人机交互服务的交互图,如图 2所示。与现有技术相比,本发明的积极效果为1)本发明将人机交互服务的建模和执行无缝集成到服务化业务流程的建模和执 行中。这一交互方法不需要修改已有服务化业务流程描述模型。因此已有服务化业务流程 建模工具、流程引擎可以在本发明的交互方法中使用。熟悉已有工具的业务流程建模人员、 管理维护人员可以使用熟悉的工具即可完成人机交互服务建模。2)本发明使用富客户端技术作为人机交互服务的实现技术。富客户端技术具有功 能强大、用户体验好、无需安装部署升级等优势,适合业务流程建模人员以及人机交互任务 执行人员等非专业开发人员使用。以上两方面优势使得本发明提供的交互方法部署成本、 培训成本、应用成本等较其他方法大大降低。


图1、本发明的各个模块交互图;图2、本发明的建模阶段方法流程图;图3、本发明的运行阶段方法流程图。
具体实施例方式本节给出一个包含人机交互的旅馆预订WS-BPEL(以下简称BPEL)流程的实现。 BPEL 一种标准的服务化业务流程模型,其基于标准Web服务,使用XML描述业务流程。目前 已存在BPEL建模工具和流程引擎,本发明的交互方法不需修改或扩展这些工具即可将人 机交互服务无缝整合到BPEL流程中。本节实例的旅馆预订服务流程依如下步骤运行1、用户输入其期望旅馆的查询条 件(比如入住离店时间、星级等);2、相关人员依据查询条件流程会向用户推荐一些旅馆; 3、如果用户找到合适的旅馆,则继续完成预定并支付;4、如果没有合适的旅馆,则返回步骤 1重新进行查询。这一流程中,步骤2为人机交互服务。图2展示了本发明建模阶段的方法流程图。为实现实例流程,在建模阶段包含以 下步骤1、BPEL流程建模人员使用标准BPEL流程建模工具构建标准BPEL流程,这一流程 包含“输入查询参数”、“查询旅馆”、“完成预定”、“付款”等多个Web服务;2、BPEL流程建模 人员修改“查询旅馆”这一 Web服务的端点值,将其设定为任务引擎的IP地址;3、BPEL流 程建模人员将“查询旅馆”这一 Web服务的WSDL文件输入人机交互服务自动生成工具。人 机交互服务生成工具会根据WSDL文件中的SOAP请求格式信息生成基于浏览器的富客户端 人机交互服务实现,其表现为一个JavaScript文件;4、系统管理员将BPEL建模工具生成 的BPEL流程描述文件部署到标准BPEL流程引擎中;5、系统管理员将人机交互服务实现的 JavaScript文件部署到人机交互服务任务引擎中。图3展示了本发明运行阶段的方法流程图。为实现实例流程,在流程运行阶段包 含以下步骤1、用户输入查询条件;2、BPEL流程引擎启动新流程实例;3、BPEL流程引擎调 用“查询旅馆”服务,根据服务端点值,将SOAP请求发送到任务引擎,将BPEL流程实例挂起 等到SOAP响应;4、任务引擎接收SOAP请求,查询到对应的人机交互服务的JavaScript实 现文件;将SOAP请求、实现文件、以及BPEL流程惟一标示符记录到待处理任务列表中;5、 浏览器中的任务监听器发现新的待处理人机交互任务后,下载JavaScript实现文件,实例 化人机交互服务,解析SOAP请求,将界面显示到浏览器中提醒相关人员处理;6、相关人员 处理完成后,提交表单,结果被编码为SOAP响应。发送回任务引擎;7、任务引擎接收到SOAP 响应后,根据记录的BPEL流程惟一标示符,将SOAP响应发送回BPEL引擎;8、BPEL引擎接 收SOAP响应后,将挂起的BPEL流程实例继续运行。
权利要求
一种服务化业务流程中人机交互方法,其步骤为1)建立一个业务流程模型,并将选取的该业务流程模型中的若干服务设定为人机交互服务;2)将设定为人机交互服务的服务生成人机交互服务实现;3)将步骤1)所建业务流程模型部署到服务化业务流程引擎上;4)服务化业务流程引擎将所设定的人机交互服务的服务请求发送到人机交互服务任务引擎上,并挂起该服务请求对应的服务化业务流程实例;5)人机交互服务任务引擎将该服务请求、该服务请求对应的人机交互服务实现以及该服务请求的服务化业务流程标识符记录到一待处理任务列表中;6)浏览器端实例化该服务请求对应的人机交互服务实现,解析该服务请求,供操作人员处理;7)操作人员提交表单给该人机交互服务实现,生成该服务请求的响应消息并返回给人机交互服务任务引擎;8)人机交互服务任务引擎根据服务化业务流程标识符将该响应消息发送给服务化业务流程引擎;9)服务化业务流程引擎收到该响应消息后,继续执行该挂起的服务化流程实例。
2.如权利要求1所述的方法,其特征在于将该业务流程模型的服务设定为人机交互服 务的方法为将所选取的人机交互服务的端点值设定为任务引擎的IP地址或域名。
3.如权利要求2所述的方法,其特征在于服务化业务流程引擎根据所设定人机交互服 务的端点值确定发送所述服务请求的任务引擎。
4.如权利要求1所述的方法,其特征在于所述人机交互服务实现为基于浏览器的富客 户端人机交互服务实现。
5.如权利要求4所述的方法,其特征在于所述人机交互服务实现的生成方法为任务 引擎依据描述服务语言,采用富客户端技术生成人机交互服务实现。
6.如权利要求1或4或5所述的方法,其特征在于所述人机交互服务实现为一 JavaScript
7.如权利要求1所述的方法,其特征在于所述浏览器端设有一任务监听器,所述任务 监听器定时轮询所述待处理任务列表。
8.如权利要求1所述的方法,其特征在于人机交互服务实现解析该服务请求的的方 法为首先解析该服务请求的格式信息,其中格式信息包括服务请求的输入参数名称、类 型;然后将服务请求的输入参数根据其类型进行格式化为字符串;最后将处理后的数据以 表格形式显示到界面上供操作人员查看。
9.如权利要求8所述的方法,其特征在于所述服务请求为XML格式的服务请求。
全文摘要
本发明公开了一种服务化业务流程中人机交互方法,属于业务流程管理和服务计算领域。本方法为1)选取业务流程模型中的若干服务设定为人机交互服务,并将其生成人机交互服务实现;2)将业务流程模型部署到业务流程引擎上;3)业务流程引擎将所设定服务的服务请求发送到任务引擎上,并挂起该服务请求对应的服务化业务流程实例;4)浏览器端实例化该服务请求对应的人机交互服务实现,解析该服务请求供操作人员处理;5)操作人员提交表单给该人机交互服务实现,生成该服务请求的响应消息并返回给任务引擎;6)任务引擎根据业务流程标识符将该响应消息发送给业务流程引擎;7)业务流程引擎收到该响应消息后,继续执行该挂起的服务化流程实例。
文档编号H04L29/06GK101957754SQ20101028103
公开日2011年1月26日 申请日期2010年9月14日 优先权日2010年9月14日
发明者刘譞哲, 梅宏, 赵祺, 黄罡 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1