论文部分内容阅读
随着互联网技术的飞速发展,软件的形式也逐渐从桌面版、网络版向服务化转变。信息资源共享、整合的需求越来越得到各个行业的重视,采用面向服务的架构(SOA)来构建信息系统,是实现信息资源共享的有力方式,随之采用SOA构建信息系统成为主流趋势。数字农业公共服务平台是上海市农业科学院研发的面向“三农”提供公益性农业信息技术服务的平台。平台基于面向服务的架构(SOA)、利用Web Service技术,将数十个农业应用系统中的核心功能抽取为Web服务并对外发布,实现了信息资源的集成和共享。数字农业公共服务平台中所注册的每个Web服务能够提供单一的功能,所以如需完成一项复杂的任务,就必须组合多个现有的Web服务。本文针对组合Web服务构建应用系统需要专业IT人员繁琐的编程实现、一般用户难以独自完成的问题,探索将工作流技术应用于Web服务中构建服务链方法并开发服务链构建工具,在可视化界面内通过简单拖拽按需动态组合服务满足应用需求,降低应用构建难度,提高系统开发效率。首先,本文深入分析了Web服务链和工作流的基础知识,包含四个方面:一是Web服务和Web服务的体系结构;二是工作流技术,包括工作流的相关概念和思想,分析了工作流与Web服务相结合的优势互补性;三是分析和比较了服务链的三种形态,确立了半透明链作为本文的研究内容;四是结合构建服务链的需求,在分析和对比现有工作流引擎的基础上,选用jBPM工作流引擎作为工作流执行引擎。接着,研究了适用于Web服务链的工作流技术,主要包括两大方面:一是Web服务链过程建模,它包括建模方法和过程定义语言。在分析了当今流行的建模方法的基础上,本文对活动网格的建模方法进行扩充,使之能满足Web服务链的建模需求;在过程定义语言方面,在研究现有的过程定义语言的基础上提出了自己定义的服务描述语言WSCPML,能够方便的对Web服务链进行描述。二是服务链工作流引擎的扩展,本文借鉴“SOA”的“三角形”结构,在jBPM开源工作流引擎上对其体系进行了设计和扩展:考虑到Web服务的分散性和异构性,对工作流引擎的数据模型和控制模型做了相应的修改,设计了工作流应用框架。本文最后构建了一个服务链构建工具,在服务链构建工具可视化界面内,通过拖拽的方式即能按需动态组合所需的Web服务成为农业应用系统。利用服务链建模工具组合数字农业公共服务平台中相关离散Web服务构建了稻纵卷叶螟预警和防治决策、作物种植适宜性评价两个应用系统,通过实践应用验证了工作链的可用性、可靠性和稳定性。