用于动态码扩展的方法和系统技术方案

技术编号:5453812 阅读:167 留言:0更新日期:2012-04-11 18:40
提供一种用于使与服务提供者的客户端交互规范化的方法。该方法包括:从客户端接收对预期服务提供者方法界面的请求,搜索目录查找与预期服务提供者方法关联的扩展器,以及向客户端返回代理,代理包括扩展器执行路径和方法执行路径中至少之一。

【技术实现步骤摘要】
【国外来华专利技术】
一般来说,本文所述的方法和系统涉及用于在系统中进行通信的客户端软件界 面,更具体来说,涉及向终端用户提供一致功能性。
技术介绍
至少某些已知的分布式应用环境基于面向服务体系结构(ServiceOriented Architecture :S0A),其中软件功能性由利用(leverage)网络上已登记服务提供者 (provider)的能力的客户端代码组成。在大规模环境中,在所有服务提供者上确保一致功 能行为变得极具挑战。另外,至少某些已知的分布式应用环境包括数量不断增加的多供应 者(vender)软件组件。使用当前软件体系结构来提供一致功能行为越来越困难。至少某些已知的分布应用式环境使用功能提取(abstractoin)技术来构建一致 性。专用服务提供功能,并且要求也使用该功能的所有服务在适当的位置和时间对托管 (hosting)服务进行调用(call)。这要求开发人员连续监控修改现有方法的需要,以便添 加、改变或删除对外部服务的调用。这种需要可导致服务功能性的不一致使用和可能的忽 略,其中对服务的调用应当进行而没有进行。此外,一些供应者提供允许开发人员修改或“标记”供应者服务提供者方法的属性 类。这可使得更易于确保在适当时间调用适当的功能性。但是,这种技术还极大地依赖于 开发人员对其中应当进行对服务提供者的调用的情形的完全了解。另外,在编译代码之后, 在操作期间不存在检验功能性的方式。此外,对调用服务所进行的任何改变则要求代码被 重新编译和重新安装。已经使用的另一种技术是面向方面编程(Aspect OrientedProgramming :Α0Ρ)。 AOP使用一种方法的输出来触发另一种方法的执行。但是,这种技术在方法改变时也要求重 新编译。称作“插件(plug-in),,的技术是已经用于扩展基本应用的功能性的另一种技术。 但是、“插件”必须通过例如按钮推送的用户动作或者通过挂钩(hook)到基本应用中的事件 来调用。此外,“插件”没有在预期方法的相同执行路径中运行,因此不能影响那种方法的行 为。
技术实现思路
—方面,提供一种用于使与服务提供者的客户端交互规范化的方法。该方法包括 从客户端接收对预期服务提供者方法界面的请求,搜索目录查找与预期服务提供者方法关 联的扩展器(extender),以及向客户端返回代理,代理包括扩展器执行路径和方法执行路 径中至少之一。另一方面,一种数据通信系统包括至少一个客户端以及通信上耦合到至少一个客 户端的服务器。服务器包括多个服务提供者、多个扩展器和目录,并且服务器配置成搜索 目录查找多个扩展器中至少一个扩展器,其中至少一个扩展器与多个服务提供者中客户端指定服务提供者关联;构建代理,代理包括至少一个扩展器的执行路径和方法的执行路径 中至少之一;使用代理来执行该方法;以及向至少一个客户端传送该方法的执行结果以便 向用户显示。另一方面,提供一种包含在计算机可读介质上的计算机程序,包括至少一个代码 段,该代码段配置成指示计算机将应用服务器方法执行路径和扩展器中之一注入到服务提 供者方法执行路径中。计算机程序配置成搜索目录查找与服务提供者关联登记的至少一个 扩展器,并构建代理,代理包括服务提供者方法执行路径、扩展器执行路径和应用服务器方 法执行路径中至少之一。附图说明图1-3示出本文所述系统和方法的示范实施例。图1-3所示并且结合图1-3所述 的系统和方法只是示范性的。图1是用于构造代理的示范面向服务体系结构的示意图;图2是图1所示系统的示范硬件体系结构的示意图;以及图3是示出使用图1和图2所示系统和硬件体系结构来构造代理的示范方法的流 程图。具体实施例方式所述实施例的技术效果是提供用于动态构造供客户端在配置成履行基本服务的 自动化系统中调用服务提供者方法的代理的系统和方法。在示范实施例中,该系统包括服 务提供者目录。服务提供者包括自动化系统中包含的机器以及用于支持机器的编程服务。 系统根据共同可编程性来链接服务提供者,并且集成服务提供者以便履行自动化系统的基 本服务。本文所使用的术语“容器”、“应用服务器”和“服务器”用于描述面向服务体系结 构(SOA)系统的中央主机。此外,本文所使用的术语“站点”、“服务提供者”和“服务”用于 描述SOA系统中对象的集合或集。另外,本文所使用的术语“对象”和“方法”用于描述可 执行代码。图1是用于构造代理的示范面向服务体系结构(SOA)系统100的示意图。系统100 包括至少一个应用服务器102、至少一个服务提供者104、至少一个扩展器106和目录108。 系统100还包括至少一个客户端110和至少一个代理112。系统100通过网络114连接。在示范实施例中,应用服务器102包括至少一个服务提供者104、至少一个扩展器 106和至少一个应用服务器方法116。应用服务器102托管(host)多种软件服务提供者 104,例如但不限于多个协议、传输控制协议(TCP)和/或面向服务体系结构协议(SOAP)。 应用服务器102负责在系统100中加载和卸载操作。更具体来说,应用服务器102负责加 载服务提供者104,使得可执行属于服务提供者104的方法。应用服务器102还负责通过停 止并且从应用服务器102的存储器空间去除正运行方法来卸载正运行服务提供者104。此 外,应用服务器102负责更新服务提供者104,其中应用服务器102检测到服务提供者104 的新版本,并且确定是否加载该新版本。在示范实施例中,应用服务器102还支持正运行服 务的枚举(enumeration),并且提供对服务的访问控制。在示范实施例中,各服务提供者104包括至少一个对象。服务提供者104支持对 可以是例如方法118的各对象的访问。在示范实施例中,扩展器106是可由例如代码段或方法来体现的功能行为。可将 扩展器106注入到服务提供者104和/或服务提供者方法118的执行能力中。在示范实施例中,目录108包括与服务提供者104有关的必要信息。在示范实施例 中,目录108包括用于加载各服务提供者104的位置120。位置120示为到服务提供者104 或服务提供者方法118的路径。目录108还包括服务提供者104的任何相关性122。在一 个实施例中,服务提供者104依靠至少一个附加服务提供者104。在备选实施例中,服务提 供者104依靠至少一个扩展器106。在另一备选实施例中,服务提供者104依靠至少一个附 加服务提供者104和至少一个扩展器106。在又一备选实施例中,服务提供者104没有相 关性122。目录108还包括各服务提供者104的厂家信息124。厂家信息124包括加载和 /或执行服务提供者方法118可能需要的任何附加数据,例如但不限于服务提供者方法118 所使用的特定参数的所需状态。此外,目录108包括各服务提供者104所支持的界面126 的列表以及各服务提供者104的唯一名称128。唯一名称128允许从系统100中的任何位 置对服务提供者104寻址。此外,在示范实施例中,目录108包括与扩展器、如扩展器106有关的所有必要信 息。在示范实施例中,目录108包括用于加载各扩展器106的位置130。位置130示为到扩 展器106的路径。目录108还包括各扩展器1本文档来自技高网
...

【技术保护点】
一种用于使与服务提供者的客户端交互规范化的方法,所述方法包括:从客户端接收对预期服务提供者方法界面的请求;搜索目录查找与所述预期服务提供者方法关联的扩展器;以及向所述客户端返回代理,所述代理包括扩展器执行路径和方法执行路径中至少之一。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:JJ波利R金德伦
申请(专利权)人:通用电气智能平台有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1