面向最终用户可编程的服务组合实现系统的制作方法

文档序号:7686822阅读:174来源:国知局
专利名称:面向最终用户可编程的服务组合实现系统的制作方法
技术领域
本发明涉及一种面向最终用户可编程的服务组合实现系统,尤其 涉及一种在电子商务环境中,为了解决由于用户动态变化而产生的个 性化需求,按需进行服务组合的实现系统,属于计算机中间件技术领域。
背景技术
面向服务的体系结构(S0A)是基于服务概念定义集成系统的一种 方法,它使软件能够基于服务而被发布、发现、绑定和调用,为松散 耦合的网络环境下的应用开发、资源共享和应用集成提供了新的解决 方案。在S0A架构下,服务是与平台和语言无关的、自描述和自包含 的松耦合模块,并且遵循国际开放标准协议规范,服务通过WSDL描述, 通过UDDI发布,通过SOAP消息协议进行调用,因此服务为分布式环 境下异构系统间的交互提供了一种标准的方式,能够更好地支持跨域 的不同实体间的协作。
Web服务适用于分布性强、共享需求大的应用领域,如电子商务、 电子政务等。目前,在网络上有越来越多的、稳定易用的Web服务, 但单个的Web服务能够提供的功能有限。而通过统一的技术规范,Web 服务可以实现网络上各种软件应用的统一功能表示、共享、集成和信 息交换处理,是面向服务体系结构(S0A)的最佳实践。因此,为了更 加充分地利用Web服务,将它们进行组合和协同,以提供更为强大的 业务功能就成为面向服务研究的一个重点。
目前,市场上服务组合类产品的主流供应商有IBM WebSphere Business Integration SAP的NetWeaver、 Oracle BPEL流程管理器、 BEA WebLogic Integrat ion等。这些产品包括用来改进业务操作的工 具和工作流程模板,使企业能够将完全不同的管理软件和Web服务编 排到各种业务流程中,从而使用这些工具和流程模板来建模。面对ERP、 CRM、遗留应用、合作伙伴等不同的需求,上述服务组合产品通过单一 的解决方案,将业务流程管理和应用集成功能与简化的生产和管理结合起来,能够实现快速的业务集成。
但是,上述服务组合产品在本质上还是一个工作流产品,主要解 决的是如何基于S0A架构进行企业应用集成。然而,随着电子商务的 快速发展,以用户为中心,实现"按需而动"的实时企业已经成为发 展的必然趋势,单纯的企业应用集成已经不能满足实际的需要。在电 子商务环境中,由于应用领域的多样性和用户个性化需求的动态性, 使得网络应用不断深化,出现了大量、动态的服务资源。将这些服务 进行组合从而快捷、高效地提供增值服务,已经成为一种开放互联网 环境下的软件开发模式。但是,现有基于工作流的服务组合方式需要 在设计时预先定义服务组合的逻辑顺序,而且该逻辑顺序必须适用于 所有的用户。显然,这种方式不能够适应以用户需求的多变和个性化 为主要特征的电子商务场景。

发明内容
鉴于现有技术所存在的不足,本发明的目的在于提供一种新的面 向最终用户可编程的服务组合实现系统。通过该系统实现的服务组合 可以使服务组合提供商不用预先提供一个确定的工作流程,而能够在 运行态解释用户的个性化需求,从而动态、按需地实现服务组合。 为实现上述的发明目的,本发明采用下述的技术方案 一种面向最终用户可编程的服务组合实现系统,其特征在于 所述服务组合实现系统包括至少一个服务组件、业务域管理器和 服务网络管理门户;
所述业务域管理器、服务组件和服务网络管理门户组成服务网络, 其中所述业务域管理器位于所述服务网络的内层,所述服务网络访问 门户位于所述服务网络的边界上;
多个所述服务组件组成一个业务域,每个所述业务域由一个所述 业务域管理器进行管理,所述业务域管理器与所述服务网络访问门户 相连接。
其中,所述服务组件分为两类普通服务组件和主动服务组件; 所述普通服务组件是仅支持一个协议的服务组件,该服务组件的 对外交互行为由其支持的协议唯一确定;
所述主动服务组件是同时支持多个协议的服务组件,所述多个协
5议的组合方式由用户在运行时动态决定。
位于同一个业务域内的多个所述服务组件遵循同一个协议。
所述服务组件分别封装在各服务容器内,并通过所述服务容器中 的服务代理接入服务总线。
所述服务网络访问门户包含服务注册库、服务组合器、拓扑管理 器和网络监控管理器;
所述服务组合器用于将服务组合请求者的需求映射成为可组合的 服务组件实例;
所述拓扑管理器与所述业务域管理器相连接,用于维护所述服务 网络内的拓扑关系,并将生成的所述业务域之间的协作关系动态上载 至所述业务域管理器;
所述网络监控管理器与所述服务组合器相连接,用于监控所述服务 组件以及服务组合的服务质量,并在发生服务组合失败时通知所述服务 组合器选择备用的服务组件实例。
与现有的服务组合产品相比,本发明所提供的服务组合实现系统 具有如下特点
1. 采用业务协议的方式刻画服务间关系,能够表现复杂、多回合 的交互关系,从而更适合电子商务应用场景;
2. 将现有大多数的集中式服务组合转变为分布式的服务组合,从 而增强了系统的可扩展性;
3. 将静态的基于工作流的服务组合方式转变为动态解释的服务组 合方式,可以实现最终用户的可编程。


下面结合附图和具体实施方式
对本发明作进一步的说明。 图1为本发明所采用的服务网络的基础架构示意图; 图2为本发明所采用的服务网络的体系结构示意图; 图3为基于本发明实现信用卡支付的在线购买功能的服务组合示 意图。
具体实施例方式
本发明的核心技术思想在于摒弃了传统的基于工作流的服务组合 模式,将服务的组合过程从预先定义转变为运行时的动态解释执行,
6以便能够按照用户的个性化需求,动态生成服务组合过程,满足电子 商务的实际需要。
为了实现上述的技术思想,本发明首先构建了个可管理的服务
网络作为进行高效、可罪的服务组合的基础架构。通过对该服务网络
的管理来有效控制服务网络内的服务组件及其各服务组件之间的交互行为。
目前,在一些较为成熟的商业领域通常会制定大量通用的标准业
务协议(以下简称协议),如RosettaNet。这些协议定义了业务交互的可 发布的规范,以规范服务组件间的协作,避免交互行为的不一致导致 的服务组合失败。由于这些协议自然的反映了参与交互的各服务组件 之间的协作关系,因此在服务网络中,可以将服务组件视为节点,基 于上述的协议构建服务网络中的服务组件间链接。另外,由于有着相 近的业务目标,遵循同一协议的服务组件可以按照其所担当的不同角 色组成一个协作相对紧密的业务域。这种基于协议的业务域能够用来 表达大多数现有服务组合产品所无法表达的服务间的复杂交互关系。
在服务网络中,当用户的需求只涉及单一的协议时,则服务组合 只发生一个业务域内,可以遵照该协议自动进行服务组合。但是在通 常情况下,用户的需求较为复杂,往往需要跨多个业务域的协作。而 且,这种跨业务域的用户需求又往往是极为个性化,而且难以预测的。 为此,本发明中的服务网络中区分两类服务组件普通服务组件和主 动服务组件。普通服务组件是仅支持一个协议的服务组件,它的对外 交互行为可以由其所支持的协议唯一的确定;主动服务组件同时支持 多个协议,而这些协议的组合方式是由用户在运行时动态决定的。相 对于只能按照设定的固定业务过程被动进行组合的传统方法,本发明 通过可管理的服务网络来支持用户的可编程,从而动态改变服务网络 的拓扑结构,实现对按需的服务组合的支持。
图1显示了本发明所采用的服务网络的基础架构。在该服务网络 中,部署了一系列的功能组件
1.服务网络访问门户
服务网络访问门户作为可管理的服务网络的可访问点,包含一个 全局的服务注册库、服务组合器、拓扑管理器和网络监控管理器四个关键的模块。其中,服务组合器负责将服务组合者的需求映射成为一 组可组合的服务组件实例;拓扑管理器负责维护服务网络内的拓扑关 系,该拓扑管理器不但需要维护各个业务域中服务组件间基于协议的 链接,而且当需求比较复杂,需要跨多个业务域进行服务组合时,还 生成业务域间的协作关系,并将该协作关系动态上载至业务域管理器; 网络监控管理器负责监控服务组件以及服务组合的QoS (服务质量), 并在发生服务组合失败时通知服务组合器选择备用的服务组件实例。 2.业务域管理器
业务域管理器作为一个中心式的执行引擎,负责业务域内的服务 组合运行、管理以及域间的路由。业务域管理器的作用体现在两个方 面 一方面,业务域内所有的服务组件间交互都需要通过该业务域管 理器来处理,同时还需要根据服务组合器的结果,组合本业务域内相 应的服务组件实例,并将结果返回给服务网络门户;另一方面,当需 求涉及多个协议的组合时,根据拓扑管理器动态上载的跨域协作关系 和其它业务域管理器进行协作,共同完成服务的组合。
参照图l所示,由多个服务组件组成一个业务域,每一个业务域 分别由一个上述的业务域管理器进行管理和控制。业务域管理器位于 服务网络的内层,服务网络访问门户位于服务网络的边界上。服务网 络外部的服务组合请求者通过访问服务网络访问门户实现对服务组件 的使用。
图2显示了实施层面上的服务网络体系结构。该服务网络可以分 为应用层、服务网络管理层和服务网络层。其中应用层为面向最终用 户和服务提供者的一组工具集;服务网络管理层包含为服务网络维护、 管理和进行服务组合所需的一系列功能模块;服务网络层主要包含各 种服务资源以及维护这些服务资源,并且支持这些服务对外交互所必 须的功能模块。服务网络层和服务网络管理层内部以及层间的消息交 互统一通过服务总线进行传输。
服务网络层是服务网络中的相对静态、稳定的部分,包含各种服 务资源,这些服务资源都由服务容器进行维护和管理。每一个服务容 器中部署一个服务代理,并且可以包含多个服务组件。在实践中,服 务容器可以使用Apache Tomcat以及Axis来实现。服务容器是服务网络层中最重要的功能组件。它作为Web服务的
唯一外部访问点,与Web服务一起实现了主动服务的功能,从而使得 只能被动调用的现有Web服务转变为可以根据用户需求动态改变自身 功能和行为的实体。
服务容器中的服务代理的主要功能如下
1. 基于协议统一服务的接口
即使遵循同样的协议,由不同组织开发的服务也可能有不同的接 口,这使得实现动态服务组合的实现非常困难。为了解决这个问题, 服务代理将每个用户的接口按照标准协议映射为一个通用的接口 ,从 而将协议与具体服务实现的分离,屏蔽了服务的异构性。
2. 实现动态重配置
服务代理可以在运行时根据用户的配置,动态改变与之交互的特 定的服务实例以及协议组合公理。基于动态重配置的功能,多个业务 域可以按需的组成一个更大的虚拟子网,从而灵活的支持多变的业务 需求。
服务网络管理层是实现可编程服务网络的关键部分,主要包含服 务网络访问门户和基础库两类功能部件。
其中,基础库由服务库、服务组合库和协议库构成。服务库是在 UDDI基础上扩展而成,支持UDDI Java API (UDDI4J),主要增加了服 务的QoS属性以及其所支持的交互协议的内容。协议库是一个协议注 册中心,主要存放服务网络中所涉及的各种基本的协议,拥有标准的 接口并允许协议的发布和查找。服务组合库则保存已经实现的服务组 合,当用户的需求可以通过现有服务组合实现时,可以直接使用,而 不需要重新进行协议组合、服务选择、服务动态重配置等一系列工作, 提高服务组合的执行效率。
服务网络访问门户作为一个全局的功能主体,接收来自用户的组 合请求,然后选择正确的服务组件并配置相应的服务组件代理。服务 网络访问门户主要包含服务代理通知、协议组合、服务选择、监控器 和服务网络维护这五个功能单元,分别说明如下
1.服务代理通知单元
为了保证服务组合的有效性,本发明人构建了一个具有确定的可
9管理边界的服务网络。在服务网络中,每个期望参与服务组合的服务 组件必须通过服务代理通知单元承诺自身能够提供的QoS。服务网络 访问门户是服务网络中唯一的外部访问点,也就是说,用户需要将需 求提交给服务网络访问门户以触发服务的组合过程。
2. 协议组合单元
协议组合单元根据用户的需求将多个基本的协议组合形成一个全 局的组合协议,并生成用户端的对外交互过程,发送给用户。
3. 服务选择单元
有关服务的描述包括相关协议的QoS信息,并且在服务选择单元 中进行注册。因此当接收到用户的需求时,服务选择单元进行优化计 算以决定选择的服务实例,从而最大限度地满足用户的需求。
在服务组合执行前,需要一个初始化过程。在这个过程中,服务 选择单元负责将选择的服务实例通知参与服务组合的各个服务代理。
另外,协议组合的信息也被上载到相应的服务代理。
4. 监控器
监控器负责对服务网络内服务组合执行情况的监控。当有异常情 况出现时及时通知用户,并且将出错信息发送给有关的网络维护装置 进行必要的处理。
5. 服务网络维护单元
该单元的功能是负责基础库的维护。它主要根据监控器所记录的 服务组合执行的历史信息,更新服务的QoS信息以及最有效的服务组 合实例。另外,当基本协议发生变化时,该单元也负责协议的一致性 维护等工作。
在应用层中包含一组工具集。该组工具集包括服务组合需求建模 工具、服务网络访问客户端以及服务和协议注册工具等,这些工具使 用SOAP消息和服务网络管理层进行通信。其中,服务组合需求建模
工具提供基于协议的服务组合建模,并提供访问协议库的功能。服务 网络访问客户端是一个简化的BPEL执行引擎,在需求提交给服务网
络访问门户后,接收服务网络访问门户发回的最终用户所需的对外交 互过程,并自动进行配置。服务和协议注册工具则为服务提供者给出 了一个注册、发布可重用服务和协议的可视化工具。通过应用层中包含的工具集,能够使服务组合开发者和最终用户 基于服务网络进行服务和协议的发布、服务组合的创建和执行、服务 组合需求的建模等工作。
图3显示了实现用信用卡支付的在线购买功能时,动态进行在线 购买协议和信用卡支付协议的组合,从而产生的消息交互过程。该消 息交互过程是基于本发明所提供的服务组合实现系统进行服务组合 时,各模块间的数据流和控制流关系的一个应用实例。其中,商家的 服务行为为主动服务,而其余的顾客、送货商和银行的服务均为普通 服务,SA表示服务代理。图中不同的箭头表示不同类型的消息流,数
字表示消息的时序关系。为论述方便起见,本发明人用双向的箭头表 示一组消息,另外,本发明人假定服务以及其对应的服务代理位于同 样的节点上,从而忽视服务代理和服务间的消息交互。
要实现在线购买功能的服务组合,有关的消息交互过程是这样的
1. 首先,用户将需求提交给服务网络中的唯一访问点一服务网络 访问门户。这个需求将包含参与的协议以及这些协议的组合公理,其 在组合协议中扮演的角色以及相应的QoS需求。
2. 当服务网络访问门户收到来自用户的请求时,首先根据角色公 理和QoS信息进行服务的选择;然后将组合协议按照用户的角色分解 成用户的对外交互过程,并将该交互过程发送给用户;最后,通知参 与本次服务组合的相关服务实例,并上载相应的数据公理集合以及消 息顺序公理。
3. 在本次服务组合实例都已经配置完成后,顾客和商家首先通过 各自的服务代理(SA)进行交互。在这个过程中,将采用在先购买协 议,包含多个交互消息,query(Goodsname) , itemList(itemIDlist), reqQuote(itemID), Quote(itemID , itemPrice)以及Order(itemID, Token)。
4. 根据消息顺序公理,顾客在收到商家确认(或者收到货物)后, 采用信用卡支付协议发送creditcardlnfo(cardlD)消息给商家,以提供信 用卡信息。
5. 商家发出Auth(cardID, amount)消息以触发与银行间的交互, 并接收Authconfirm(Token, amount)消息。
6. 商家发送Receipt(cardID , amount, Token), 以响应顾客的
iicreditcardlnfo(cardlD)消息。
7. 商家发送顾客Info(Token, address)消息,以通知送货商发送货物给顾客。
8. 当顾客从送货商收到(token, address)消息时,整个服务组合过程完成。
以上对本发明所述的面向最终用户可编程的服务组合实现系统进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
权利要求
1.一种面向最终用户可编程的服务组合实现系统,其特征在于所述服务组合实现系统包括至少一个服务组件、业务域管理器和服务网络管理门户;所述业务域管理器、服务组件和服务网络管理门户组成服务网络,其中所述业务域管理器位于所述服务网络的内层,所述服务网络访问门户位于所述服务网络的边界上;多个所述服务组件组成一个业务域,每个所述业务域由一个所述业务域管理器进行管理,所述业务域管理器与所述服务网络访问门户相连接。
2. 如权利要求1所述的面向最终用户可编程的服务组合实现系 统,其特征在于所述服务组件分为两类普通服务组件和主动服务组件; 所述普通服务组件是仅支持一个协议的服务组件,该服务组件的对外交互行为由其支持的协议唯一确定;所述主动服务组件是同时支持多个协议的服务组件,所述多个协议的组合方式由用户在运行时动态决定。
3. 如权利要求2所述的面向最终用户可编程的服务组合实现系 统,其特征在于位于同一个业务域内的多个所述服务组件遵循同一个协议。
4. 如权利要求2所述的面向最终用户可编程的服务组合实现系 统,其特征在于所述服务组件分别封装在各服务容器内,并通过所述服务容器中 的服务代理接入服务总线。
5. 如权利要求1所述的面向最终用户可编程的服务组合实现系 统,其特征在于所述服务网络访问门户包含服务注册库、服务组合器、拓扑管理 器和网络监控管理器;所述服务组合器用于将服务组合请求者的需求映射成为可组合的 服务组件实例;所述拓扑管理器与所述业务域管理器相连接,用于维护所述服务 网络内的拓扑关系,并将生成的所述业务域之间的协作关系动态上载 至所述业务域管理器;所述网络监控管理器与所述服务组合器相连接,用于监控所述服务 组件以及服务组合的服务质量,并在发生服务组合失败时通知所述服务 组合器选择备用的服务组件实例。
全文摘要
本发明公开了一种面向最终用户可编程的服务组合实现系统。该服务组合实现系统可以实现互联网环境下高效、可靠的服务组合。在本发明中,将业务协议视为松耦合的服务组合关系的自然表达,并基于服务间固有的业务协议关系在现有服务的基础上建立服务网络,能够支持电子商务等具有复杂业务协作特征的应用场景;并且在服务网络中根据协议划分业务域,建立可编程的服务网络以支持最终用户的可编程,实现按需的服务组合。
文档编号H04L12/28GK101494578SQ200810056590
公开日2009年7月29日 申请日期2008年1月22日 优先权日2008年1月22日
发明者怀进鹏, 晋 曾, 扬 李, 杜宗霞, 婷 邓, 郭慧鹏 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1