基于BPEL描述的移动工作流协同与实现(二)

日期: 2012-05-17 来源:TechTarget中国 英文

  3、应用实例分析

  通过上面的描述,基于BPEL进行Web服务合成能够降低业务流程的复杂性。下面以开放实验的项目审批为例,如图2所示,学生申请开放实验项目发起流程,移动信息平台通过短消息发送给负责教师审批,如同意,则报送实验室相关人员,同时将结果发送给申请学生。于是归纳出各个阶段的节点类型,如初始节点、审批节点和结束节点等,流程包括了多种角色人员的参与,通过移动短消息的模式驱动流程的流转。

开放实验项目申请流程

图2 开放实验项目申请流程

  在工作流平台,通过可视化的流程定制界面,对图2中的连线定义了相关的流程流转规则,例如申请时间限制、教师审批逻辑检验等。相应的BPEL描述如图3所示,其中含有消息方框对应所调用的服务。当启动工作流引擎后,等待客户端通过发送消息实例化生成BPEL流程。在整个移动工作流的流程中,包含了对Request Apply,CancelApply以及FinalApply等服务的调用。这些服务之间的调用关系如图2所示。开始时,学生通过移动手机终端发送SMS/MMS短信息,在服务端按照通信协议对接收到的数据解析,调用Request Apply服务,通过BPEL的接收申请消息,从而启动远程服务器的流程实例化。值得注意的是,由于基于移动短信息发送请求,系统通过回复短信息的方式给予响应,响应延迟一般在3~5s。因此不能通过产生操作的同步响应,服务提供异步发送响应的方式。在申请处理过程中,流程节点所定义的时间规则和期限内教师发送的消息逻辑规则,通过和所定义的时间规则和教师发送的消息触发流程执行。

开放实验申请流程的BPEL描述

图3 开放实验申请流程的BPEL描述

  从提交申请在规定的期限内,如果没有教师给予批准,则该申请自动作废。在信息平台上的服务器调用CancelApply服务来执行相应的操作。相应的代码片段如下所示:

基于BPEL描述的移动工作流协同与实现

  相应地,如果在规定的时间内,教师将审批的消息通过改变流程的执行状态;同时在ProjecApply-CallbackPortType端口提供了学生异步回调申请结果。相应的代码片段如下:

基于BPEL描述的移动工作流协同与实现


  最后,通过调用FinalApply服务向客户端申请的学生发送开放实验项目结果,同时报送给实验室相关人员。主要的代码片段如下:

基于BPEL描述的移动工作流协同与实现33

  调用FinalApply服务后,关键的处理是将返回数据结果进行SOAP封装,转变为XML数据以异步的方式发送给移动终端。

  4、结语

  可以看出,移动工作流中服务之间的交互性,表现在流程的状态、协调逻辑以及在异常处理方式等方面。以Sun NetBeans为开发平台设计了移动开放实验室管理平台,通过SMS/MMS的信息传递实现智能手机终端和平台服务器之间web服务的信息交互,有效地实现了对实验教学信息、学生选课以及实验项目开设等教学环节的管理。利用BPEL描述移动工作流中web服务之间的协同规则,能够简化移动信息平台服务集成,降低开发周期和成本。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

  • 购买应用集成工具可以采取平衡做法

    购买应用程序集成工具需要好好看看你的公司需求,知道从供应商里面要寻找哪些关键功能。