在分布、异构的资源与服务开放环境中,信息服务平台需要灵活地适应具体环境或具体业务流程,以便动态发现、调用和组合相关资源与服务。Web服务技术为信息服务平台提供了一种在开放环境下发现和调用所需资源或服务的机制。然而,用户所需要的服务可能不能直接由某个Web服务来完成,这就需要利用Web服务组合技术,将若干Web服务按照一定逻辑组合成满足用户需要的服务。
在以信息服务描述与组合技术为基础的跨系统的协同定制服务中,英国伦敦帝国学院有关人员针对普适计算需要,提出了一个基于Ontology的SOA架构(OSOA)。OSOA以Web Service作为总体架构建立服务发现机制,采用基于Ontology的Semantic Service增强SOA中的Web Service,改进服务组合效果,从而实现以用户为中心,上下文敏感的、目标驱动的服务组合和互操作。中国科学院国家科学图书馆开展的开放式资源和服务登记就属于此类服务。
跨系统的个性化协同定制服务组织中,应注意以下方面的问题:
①对现有信息服务系统进行服务描述,建立信息服务系统的UDDI[9]。服务描述是实现服务调用的基础,跨系统协同定制服务实现的基本前提是现有的服务系统基于Web的服务发布。所以,首先必须对现有信息服务系统进行Web服务包装,即借助标准的Web服务描述语言WSDL进行服务描述。其次要根据UDDI的相关技术标准和规范建立信息服务系统注册中心的UDDI,以便用户能够将有关服务描述信息在相应的UDDI中注册登记,以进行公共查询和调用。
②对现有信息服务系统进行“合理拆分”。在信息服务系统协同定制过程中,依赖的并不是信息服务系统的整体集成,而是信息服务系统中符合用户需求的组件动态集成。所以,必须对现有信息服务系统进行“合理的拆分”。Web服务组合粒度的可变性及逻辑构建机制,要求协同定制服务必须注意服务功能描述粒度。一般来说,描述粒度愈细,服务组合构建的灵活性就愈大。从便于信息服务系统动态定制服务构建的角度看,服务描述的粒度一般要细致到资源组件、应用组件、功能组件和管理组件。从目前Web技术的发展趋势来看,WSDL已经成为服务描述的标准,几乎有影响力的Web组合语言(如BPEIAWS和BPML、WSCI等)都支持WSDL。所以,信息服务系统进行“合理拆分”后的组件应采用WSDL对服务内容、操作类型、请求与应答消息流、系统绑定方式等进行规范描述。
③借助Semantic Web嵌入语义内容。语义内容的嵌入在于支持更加灵活的动态组合,目前的Web服务架构依靠XML来进行互操作。而XML只能确保句法上的互操作,突出的缺点是缺乏语义信息。因而不能促进消息内容的语义理解,使得Web服务之间不能理解彼此的消息,服务之间的互操作和服务组合往往是以一种机械的方式进行。利用Semantic Web服务技术,可以在Web服务组合机制中嵌入更丰富的语义内容,支持根据语义的分析、规划和组合。这是一种有效的解决方案,如OSOA架构,采用OWL(Web Ontology Language)规范构建服务和用户本体,通过语法匹配转向语义匹配,提高服务动态发现和组合的质量[10]。(www.xing528.com)
④注意服务组合中的服务验证。在组合服务中,需要跨领域组合服务。所以,应由提供者和请求者之间的一个双边的服务层协议(Service Level Agreement,SLA)来规定。目前Web服务组合技术对目标复杂性的支持还不够。组合的服务需要依赖于各个分布的、异构的服务才能实现协同运行。完成某一组合过程而涉及的服务可能处于不断变化中,同时用户的需求也可能发生变化,所以在服务协同中需要提供动态调整和可靠性保障机制来解决这种不确定性,以提高协同模型对变化的适应能力。
面向服务的架构将应用程序的不同功能单元接口和契约联系起来。接口可采用中立的方式进行定义,使之独立于实现服务的硬件平台、操作系统和语言。它的基本框架由三方面参与者和三类基本操作构成。三方面参与者分别为服务提供者、服务请求者和服务代理;三个基本操作分别为发布、查找和绑定。发布操作是为了使服务可以访问,发布服务描述以使服务使用者可以发现它;查找操作面向服务请求者的定位服务,通过查询服务注册中心来找到满足其标准的服务要求;绑定操作在查找服务描述之后,由服务使用者根据服务描述信息来调用服务。由此可见,跨系统协同服务的优化在于构架的优化。
图9-12 基于SOA跨系统定制服务构架
一个典型的基于SOA技术构建的体系框架如图9-12所示。其中,Web-Services是SOA的一种实现方式,它通过一系列标准和协议实现相关的服务描述、封装和调用。如使用WSDL语言对服务进行描述,对服务进行发布和查找通过UDDI来完成,在服务调用中通过SOAP协议来实现。在这个服务框架中,所有系统内部的应用系统在对外接口上都用统一的Web-Services对服务进行封装。Web Services在UDDI注册中心登记,面向用户提供服务。用户通过UDDI注册中心发现符合自己要求的服务,找到服务提供者,并调用该服务。在SOA框架下,用户只需理解任意一种通用的服务组件接口和程序语言,就可以利用现有的平台上的Web Services操作进行个性化服务获取,同时对服务的调用通过SOAP远程调用实现。即便Web Services可能会产生接口或者其他功能上的更改,用户仍然可以通过Web Services的描述性文档及时发现其更改,从而自动适应这些更改[11]。
在跨系统的协同定制服务中,服务组合、服务协同和服务管理至关重要。因此,在服务组合和服务协同功能的实现上,应按平台标准协议进行架构。在服务建立协同之后,应进一步保障服务的可靠性;当外界环境发生变化时,应进行服务注册、组合调用的相应变革,以适应用户的个性化动态需求环境。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。