DesignandImplementationofServiceCompositionSystemBasedonWEB农嘉NONGJia(广西生态工程职业技术学院汽车与信息工程系,柳州545001)(AutomobileandInformationEngineeringDepartment,GuangxiEco-engineeringVocationalandTechnicalCollege,Liuzhou545001,China)
摘要院服务组合是通过重用已有的Web服务满足用户高质量的应用需求的一种技术手段,是面向服务架构研究领域的热点问题。本文采用基于业务流的服务组合方式,设计并实现基于Web的服务组合系统,并结合校园用户需求给出并讨论了服务组合的实际案例。
Abstract:Servicecompositionistechnicalmeansofmeetingthehigh-qualityneedsofusersbyreusingalreadyexistingWebservices,whichisthehotissueinthefieldofresearchonservice-orientedarchitecture.Byusingthemethodofservicecompositionbasedonthebusinessflow,thispaperdesignsandimplementsaWeb-basedservicecompositionsystem,andtheactualcasesofservicecompositioncombinedwiththerequirementsofcampususersarediscussed.
关键词院面向服务;Web服务;服务组合Keywords:service-oriented;Webservices;servicecomposition中图分类号院TP311文献标识码院A文章编号院1006-4311(2014)23-0217-021WEB
服务组合概念服务组合源于软件重用,其基本思想是使用系统中已有的Web服务,通过它们一定顺序的组合或组合顺序的改变,创建出新的或更高质量的服务满足用户需求。总的来说,其定义可归纳为两个:淤基于过程模型:从服务组合内在因素的角度,将其定义为一个依赖于特定控制流和数据流结合起来的、能够完成一定任务的Web服务集合。于基于构件单元:从构件的角度,将服务组合定义为一个由自治且能相互协作的自描述单元所组成的系统,如文献[1]。
2系统设计本文根据服务的特性设计一种基于Web的服务组合系统,如图1所示。
从图中看,服务的组合处理包括用户需求翻译以及服务需求执行等都是通过服务组合系统平台来实现的。在用户通过WEB服务图形化工具进行服务组合,并通过需求翻译器翻译成系统的组合语言之后传到系统平台,在服务组合系统平台接收方,系统降调用各底层服务并按一定的规则进行组合,并将用户自定义的组合服务以XML文档直接存储到数据库。
3服务组合建模服务组合系统实现主要包括两个个关键部分:服务组合建模、服务组合系统。
31服务组合建模为用户提供建立Web组合执行流程的建模手段,该服务应支持针对具体服务的静态服务组合和针对抽象服务的动态服务组合两种建模方法。利用组合服务建模服务可组成一个设计WEB服务组合执行流程的图形化建模工具,该服务可以根据用户的需求建立由抽象服务组成的WEB服务流程,是实现动态WEB服务组合的关键。该服务输出为组合服务流程文档,该文档包含的信息规范如下:服务组件名服务组件业务逻辑描述服务组件可调用接口列表服务组件引用的其它组件列表服务组件实现技术———公共接口1的名称———公共接口1的实现的业务逻辑描述———公共接口1的所需的参数列———公共接口1的返回的结果信息描述……
服务组合建模每次运行时,根据用户需求可以选择各种基本服务来填充进模型中,再根据各种数据流的走向将服务按需链接起来,服务和服务根据彼此的业务需要可以有上下级关系或同级关系。用户定义好服务组合后由需求翻译器将该组合服务翻译为组合服务流程文档,并通过网络传递至服务组合系统平台执行。
3援2服务组合系统通过接收需求翻译器传递过来的组合服务流程文档,由需求执行引擎进行翻译解释,服务组合管理器负责调度基础服务数据库进行构造组合,并通过XML数据库服务器部署至组合服务数据库。
准备工作包括:淤接收组合流程文档;于翻译组合流程文档;盂传递至组合服务管理器。
有了具体组合服务模型的Schema,服务组合管理器就可以针对具体的业务服务进行服务构造了,主要通过以下几步来实现:淤服务组合管理器调用基础服务数据库中的基础服务进行服务组合,当服务组合的量比较大时,还将调用服务器中的组合算法来进行优化工作,算法问题将在其它文章中阐述;于组合完毕后通过基于XML数据库服务器来进行服务的XML转换,并转换成XML文档;盂进行文档的验证,以确保文档的有效,最后存入组合服务数据库,以待用户的调用。
4服务组合系统实例在建模工具调用后台基础服务列表后,用户在图形化建模工具里可以为服务流程建模。用户按照需求从预制组件面板中选择所需服务,拖入设计窗口,通过事件路径将各服务连接成一个图形化的业务流程,第二步将是为每个组件进行相关属性的基本配置,另外还包括其它特殊信息例如数据库组件的数据库类型、驱动等也可以进行配置。
建模工具根据用户的需求设计通过翻译器后生成组合服务流程文档,传至组合服务系统平台,由后台负责进行组合、保存。当提示保存成功后,用户便可以进行组合服务流程的执行了。
例如学院要审核教师工作量的服务,将需要组合教师信息调用、教师工作量录入、领导批阅等服务。每个都提供了调用接口例如Getteacherinfo(),Getteacherwork(),Getleader()等,组合服务后生成的组合服务流程文档内容如下:服务组件名:TeacherWorkandServices。
服务组件业务逻辑描述:调用教师信息输入、教师工作量输入、领导批阅等服务组合为审核教师工作量服务……
服务组件可调用接口列表:Getteacherinfo(),Getteacherwork(),Getleader()……
服务组件引用的其它组件列表:教师信息输入服务、教师工作量输入服务、领导批阅服务……
5结束语本文设计了组合服务系统,并对其设计和具体的服务处理进行了分析和设计。本系统是基于服务来实现的,保证了服务组合的安全与可靠,为Web服务组合问题的研究和企业应用开发提供更强有力的支持,本文设计的服务组合系统可以作为企业应用服务开发组件的一个参考。
参考文献院[1]HamadiR,BenatallhB.APetriNet-basedModelforWebServiceComposition[C].Proceedingsofthe14thAustralasianDatabaseConferenceonDatabaseTechnologies.Adelaide:ACMPress,2003.[2]赵彧,范玉顺.面向信息化整体解决方案的集成化企业建模框架[J].控制与决策,2004(7):769-772.[3]刘小琳,郑有才.面向服务的工作流技术[J].计算机工程与应用,2006,27.