SELF-SERV系统介绍.docVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SELF-SERV系统介绍

SELF-SERV系统介绍 项目背景和意义 虽然当前大量技术为构建组合服务提供了基础,Web服务组合仍然面临着一系列问题,这与Web服务本身的特征息息相关。 将被组合服务可能是异构的、分布的并且自治的,这使得在应用中构建和执行组合Web服务的速度很难满足应用快速增多的需求。构建和执行组合服务成为了一个极其耗时的过程,并需要对底层编成技术非常了解。因此,很难实现快速组合。 将被组合的服务数量可能相当庞大且不断变化,这使得要求组合者在定义组合服务的时候就了解每个服务并建立起它们之间的交互关系是不合适的。另外,组合服务中服务之间的伙伴关系也可能随时解散。因此,对大量动态的Web服务的集成需要一种可扩展的灵活的技术实现。 Web服务本身的高度动态性和分布性使得当前的集中式执行方式存在一些问题,如可扩展性、可用性和安全性等。这要求一种分布式的执行方式的出现。 SELF-SERV(compoSing wEb accessibLe inFormation buSiness sERVices)正是为解决上述问题设计和实现的。SELF-SERV是一个在P2P环境中快速开发和执行组合服务的平台,提出一种陈述性组合描述方式,对组合服务中潜在的大量动态Web服务进行动态选取,并对Web服务的执行提供一种P2P的方式,从而实现快速的、可扩展的、分布式的服务组合。具体地,SELF-SERV具有以下突出特点: 提出了一种基于状态图的陈述性组合服务描述语言; 建立了服务社区的概念。服务社区作为一个可替换服务的容器成为了解决潜在的大量Web服务为服务组合带来的问题。 设计了一个基于P2P服务执行模型,利用协调器在参与组合的各个服务之间进行协调。 下面,从SELF-SERV中的主要概念、其自我协调特性以及系统实现框架和应用的角度对SELF-SERV系统进行相应介绍。 SELF-SERV中的主要概念 SELF-SERV中将服务分成了三种类型:原子服务、服务社区和组合服务。 2.1 原子服务 原子服务是一个单独的可通过网络访问的应用(如,一个Java程序),它并不显式地依赖于其他Web服务。原子服务是已经存在的服务,其执行完全由服务提供者负责。原子服务可能包含一个复杂的业务流程,但其内部结构对用户是不可见的。 原子服务的操作按照对私有(proprietary)/遗留(legacy)应用的调用实现。特别地,原子服务的每一个操作对应一个译码器(translator)。译码器主要用于将SELF-SERV操作映射为潜在的私有/遗留应用能理解的形式。 例如,Travel Insurance(TI)是一个基本服务,它提供一个名为getInsurance的操作。一个相应的译码器,称为TI_translator,将getInsurance关联到调用的一个例行程序(routine)上,如潜在应用的一个Java类方法。译码器的开发由服务提供者完成。 2.2 服务社区 组合服务中的每一个组件服务可以被分配给一个单独的服务提供者,或者一组服务提供者。服务社区主要用于解决组合潜在的、大量的动态Web服务时面临的问题。服务社区是可相替换的服务的集合。它们对期望的服务进行描述(如,提供机票预订的接口),而不涉及任何实际的提供者(如,UA机票预订服务)。社区的描述包括一组用于与该社区及其潜在成员通信的操作。这些操作并不涉及本地服务的定义。服务提供者可以使用他们选择的服务平台(如,Sun Jini或HP e-speak)来发布和定位社区中的服务。 在运行时,当社区接收到一个对执行一个操作的请求时,它将其委托给其当前成员中的一个。社区选择其中一个成员执行某个操作的过程是通过选取策略(selection policy)决定的。选取策略可能基于竞拍(auction)或其他包含客户信息、服务可靠性等参数的任何排序算法。如果选取基于竞拍方式,那么,社区本质上是作为竞拍场所工作,其中所有成员竞争执行操作。选取策略可以由一段程序实现,它将操作的输入参数值、用户信息、过去的执行日志、人工输入等相关数据作为参数。 为了通过社区访问服务,存在的Web服务要注册到相应的社区中。该注册需要规定服务的操作和社区的操作之间的映射关系。下面是一个映射的例子: Source service Qantas Airway QAS Target community Flight booking FBS Operation FBS.search_flight() is QAS.search_ticket(); Operation FBS.book_flight() is QAS.book_ticket(); 在这个例子中,社区Flight booking的操作search_flight(或book_flight)被映射到服务Qantas

文档评论(0)

l215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档