CN101449263A - 用于联合环境中的中间件辅助系统集成的方法和装置 - Google Patents

用于联合环境中的中间件辅助系统集成的方法和装置 Download PDF

Info

Publication number
CN101449263A
CN101449263A CN200780018597.0A CN200780018597A CN101449263A CN 101449263 A CN101449263 A CN 101449263A CN 200780018597 A CN200780018597 A CN 200780018597A CN 101449263 A CN101449263 A CN 101449263A
Authority
CN
China
Prior art keywords
service
resource
computer
program code
computer usable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200780018597.0A
Other languages
English (en)
Other versions
CN101449263B (zh
Inventor
A·莫因德拉
V·K·纳伊克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101449263A publication Critical patent/CN101449263A/zh
Application granted granted Critical
Publication of CN101449263B publication Critical patent/CN101449263B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Abstract

本发明提供了用于实例化网络(100)上的服务的以计算机实现的方法、数据处理系统、计算机可用程序代码。响应接收(802)对一种服务质量的服务的请求,服务基础设施管理器(524,702)确定是否可以所请求的服务质量获得服务。响应不能以所请求的服务质量获得服务(718a,718b,718c),服务基础设施管理器(524,702)执行(804)与服务(718a,718b,718c)相关联的组件的分析,以便识别创建服务所需的资源(716a,716b,716c)。基于所述分析,服务基础设施管理器(524,702)分配资源(716a,716b,716c)以便支持服务(718a,718b,718c),并且在已经分配了资源(716a,716b,716c)之后,以所请求的服务质量实例化服务(718a,718b,718c)。

Description

用于联合环境中的中间件辅助系统集成的方法和装置
技术领域
本申请一般地涉及联网计算机系统。更具体地,本申请涉及联网计算机环境中的软件和系统管理。
背景技术
随着企业通过外购非核心业务处理和共享分布式资源,努力抑制信息技术成本和使其业务流水线化,企业正不断向着基于网格的计算环境发展。为了实现这种改变出现了作为公共平台的网格基础设施。网格基础设施提供了用于发现、命名、消息传递、监视和资源安排的中间件服务。
虽然基于网格的系统可以便于多个管理域上的资源共享,但是从系统管理员的角度看,基于网格的系统非常难以管理。其原因之一是系统管理技术的当前技术状态跟不上中间件的发展。大部分进展在于管理单个或基于集群的系统。即使对于这种系统,当系统管理员必须在已有的基础设施上配置和部署新服务,或必须管理已有服务和软件堆的生命期时,他们面临非常高程度的复杂性。在复杂的应用环境中,例如,在涉及由多个业务处理构成的工作流的安排的环境中,情况更糟。在这种情况下,部署和生命期管理解决方案必须整体地考虑涉及到的多个等级,并且当前的系统管理技术不能提供构建这种解决方案的必要方法。
在联合环境中,属于多个管理域的组件服务和资源合作并且调整其活动,以便提供合成的更高级别的服务而不违反相应于单独管理域的策略。这些联合系统有时称为虚拟组织、集体组织、按需集群、基于协议的合作系统等。这种系统的关键特性是各个组件不是在其整个生命期内专门为组织提供服务,而是它们提供服务的承诺限制为确定的时间段。组件是形成组织的网格的组成元素。例如,组件可以是物理盒(硬件)、应用服务器实例(软件)、或固件(网络)。
通常,各个组件具有事先通知或不事先通知而离开虚拟组织的自由。因此,合成的联合系统必须总是准备好处理由各个组件提供的服务层的以及组件服务的异步可用性和不可用性的改变。为专用的静态的基于集群的系统设计的传统的系统管理控制不适合处理这种动态的并且始终发展的系统。
配置和管理大量系统安装的能力已成为信息技术界的一个活跃的研究领域。逻辑配置(LCFG)系统是基于存储在中央数据库内的配置信息动态地配置机器的基于脚本的系统(Anderson,P.,“Towardsa High-level Machine Configuration System,”LISA,1994)。所述信息属于需要在系统上配置的网络、系统和服务。对象组的智能框架(SmartForg)是用于指定分布式应用的配置和部署的系统(Goldsack,P,Guijarro,J,Mecheneau,G,Murray,P,Toft,P,"SmartFrog:Configuration and Automatic Ignition of Distributed Applications,"HP OVUA 2003)。SmartFrog提供了指定应用的配置和它们之间的依赖性的语言。SmartFrog提供了用于在分布式系统上处理和部署应用的基础设施。GridWeaver项目研究为了大型系统的配置管理而组合LCFG和SmartFrog技术的思路。推进结构化信息标准组织(OASIS)的努力着眼于使用Web服务管理分布式资源。Grid Forum试图标准化该说明语言作为配置描述、部署和生命期管理(CDDLM)活动的一部分。
某些技术提供了监视参与提供服务的各个J2EE组件的方法。该技术帮助系统管理员监视性能、识别故障和检查性能瓶颈。
发明内容
不同的示例实施例提供了用于实例化网络上的服务的以计算机实现的方法、数据处理系统、计算机可用程序代码。示例实施例接收对一种服务质量的服务的请求,并且响应该请求确定是否可以获得所请求的服务质量的服务。响应不能获得所请求的服务质量的服务,示例实施例执行与该服务相关联的组件的分析,以便识别创建该服务所需的资源。基于该分析,示例实施例分配资源以便支持该服务。最后,在资源已被分配之后,示例实施例以所请求的服务质量实例化该服务。
附图说明
在所附的权利要求中提出了被认为是示例实施例的新特征的特性。然而,当结合附图阅读时,通过参考下面对示例实施例的详细描述,将更好地理解这些示例实施例,以及优选的使用模式、其他目的和优点,其中:
图1示出了可以实现本发明的各个方面的数据处理系统的网络的图形表示;
图2示出了可以实现本发明的各个方面的数据处理系统的方框图;
图3示出了根据示例实施例的网格环境系统的示意表示;
图4是根据示例实施例请求进入提供网格服务的企业的典型流程;
图5示出了根据示例实施例的网格服务内的服务基础设施管理器的相对位置;
图6示出了根据示例实施例的联合服务基础设施管理器中间件的示意表示,以及如何通过联合服务基础设施管理器中间件将解决方案映射到企业网格环境中的原始资源;
图7示出了根据示例实施例的服务基础设施管理器的宏观级逻辑体系结构的示意表示;
图8是示出了根据示例实施例的服务和相关基础设施的建立和实例化操作的流程图;和
图9是示出了根据示例实施例由部署引擎执行的步骤的流程图。
具体实施方式
示例实施例提供了监视各个服务的状态,并且自动触发组件和服务到其它系统的重新部署的中间件。服务是由计算元件执行的单位活动。例如,服务可以是对两个数相加,或处理抵押贷款申请。服务通常作为Web服务或用于他人调用和使用的远程程序调用出现。现在参考附图,并且具体地参考图1-2,提供可以实现本发明的实施例的数据处理系统的示例图。应当理解,图1-2仅是例子,并且意图并不在于声明或暗示关于可以实现本发明的各个方面或实施例的环境的任何限制。可以对示出的环境进行许多修改而不脱离示出的实施例的精神和范围。
现在参考附图,图1示出了可以实现示例实施例的各个方面的数据处理系统的网络的图形表示。网络数据处理系统100是可以实现这些实施例的计算机网络。网络数据处理系统100包括网络102,网络102是用于提供网络数据处理系统100内的连接在一起的各种设备和计算机之间的通信链路的介质。网络102可以包括连接,诸如有线、无线通信链路或光纤缆线。
在示出的例子中,服务器104和服务器106与存储单元108一起连接到网络102。另外,客户机110、112和114连接到网络102。这些客户机110、112和114可以是例如个人计算机或网络计算机。在示出的例子中,服务器104给客户机110、112和114提供数据,诸如引导文件、操作系统映像和应用。在这个例子中客户机110、112和114是服务器104的客户。网络数据处理系统100可以包括附加的服务器、客户机和未示出的其他设备。
在示出的例子中,网络数据处理系统100是具有网络102的因特网,其表示使用传输控制协议/网际协议(TCP/IP)协议组彼此通信的网络和网关的世界范围的集合。因特网的核心是主节点或主计算机之间的高速数据通信链路的主干,其由传输数据和消息的数以千计的商业、政府、教育和其他计算机系统组成。当然,网络数据处理系统100还可被实现为若干不同类型的网络,诸如例如,企业网、局域网(LAN)或广域网(WAN)。图1意图在于作为例子,并且不是对不同实施例的体系结构的限制。
现在参考图2,示出了可以实现示例实施例的各个方面的数据处理系统的方框图。数据处理系统200是诸如图1中的服务器104或客户机110的计算机的例子,实现本发明的实施例的处理的计算机可用代码或指令可以位于其中。
在示出的例子中,数据处理系统200采用包括北桥和存储器控制器控制中心(MCH)202以及南桥和输入/输出(I/O)控制器中心(ICH)204的集中式体系结构。处理器206、主存储器208和图形处理器210连接到北桥和存储器控制器中心202。图形处理器210可以通过例如加速图形端口(AGP)连接到MCH。
在示出的例子中,局域网(LAN)适配器212连接到南桥和I/O控制器中心204和音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)端口和其他通信端口232,并且PCI/PCIe设备234通过总线238连接到南桥和I/O控制器中心204,并且硬盘驱动器(HDD)226和CD-ROM驱动器230通过总线240连接到南桥和I/O控制器中心204。PCI/PCIe可以包括例如以太网适配器、插入卡和用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM224可以例如是闪速二进制输入/输出系统(BIOS)。硬盘驱动器226和CD-ROM驱动器230可以使用例如集成驱动器电子设备(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备236可以连接到南桥和I/O控制器中心204。
操作系统在处理器206上运行,并且调整和提供对图2中的数据处理系统200内的各种组件的控制。该操作系统可以是商业可得到的操作系统,诸如
Figure A200780018597D00091
XP(Microsoft和Windows是微软公司在美国、其他国家或两者内的商标)。可以结合操作系统运行面向对象编程系统,诸如JAVATM编程系统,并且提供来自在数据处理系统200上执行的JAVA程序或应用的对操作系统的调用(JAVA和所有基于JAVA的商标是Sun微系统在美国、其他国家或两者内的商标)。
用于操作系统、面向对象的编程系统和应用或程序的指令位于存储设备诸如硬盘驱动器226上,并且可被装入主存储器208以便由处理器206执行。可由使用以计算机实现的指令的处理器206执行示例实施例的处理,这些指令可以位于存储器诸如例如主存储器208、只读存储器224内,或位于一个或多个外部设备内。
图1-2中的硬件可以根据实现改变。除了图1-2所示的硬件之外或代替图1-2所示的硬件,可以使用其他内部硬件或外部设备,诸如闪存、等同的非易失存储器或光盘驱动器等。另外,可将示例实施例的处理应用于多处理器数据处理系统。
在某些示例例子中,数据处理系统200可以是个人数字助理(PDA),其一般地配置有闪存以便提供用于存储操作系统文件和/或用户产生的数据的非易失存储器。总线系统包括一个或多个总线,例如系统总线、I/O总线和PCI总线。当然,可以使用任意类型的通信构件或体系结构实现总线系统,其提供用于在附于通信构件或体系结构的不同组件或设备之间传输数据。通信单元可以包括用于传输和接收数据的一个或多个设备,诸如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存器,诸如见于北桥和存储器控制器中心202内的高速缓存器。处理单元可以包括一个或多个处理器或CPU。图1-2中示出的例子和上述的例子不意味暗示着体系结构的限制。例如,除了采取PDA的形式之外,数据处理系统200还可以是台式计算机、膝上计算机或电话设备。
示例实施例的各个方面提供了用于编译源代码的以计算机实现的方法、数据处理系统和计算机可用程序代码。可在数据处理系统内执行示例实施例的方法,例如在图1中所示的网络数据处理系统100或图2中所示的数据处理系统200。
示例实施例实例化网络上的服务。接收请求特定服务质量的服务的请求。响应不能得到所请求的服务质量的服务,执行与该服务相关联的组件的分析以便识别创建该服务所需的资源。使用这种分析,分配资源以便支持服务,并且在已经分配了服务之后以所请求的服务质量实例化该服务。
图3示出了根据示例实施例的网格环境系统的示意表示。典型的网格环境由连接到通信网络诸如通信网络304的软件客户302诸如浏览器或专用应用组成。软件客户302可以是客户机,诸如图1的客户机110、112或114,并且通信网络304可以是诸如图1的网络102的网络。软件客户302利用可从企业306得到的服务和资源。这些服务和资源是应用的形式,例如,在线银行应用或在线购物应用。另外,由企业306提供的应用可以利用由其他企业诸如同样连接到通信网络304的企业308或310提供的服务和资源。企业306、308和310使用用于提供服务和资源的网格基础设施。
数据中心312可以提供原始资源,操作系统栈和中间件服务,以便运行应用和应用特定的中间件服务。数据中心312可以提供可以根据企业306、308和310中使用的高级服务和应用的需求配置的资源和服务。当企业306、308和310耗尽资源以便处理峰值负载时,通常使用数据中心312。此时,企业306、308和310可以从数据中心312请求附加的资源,并且将企业306、308和310的某些工作负载转移到数据中心312。数据中心312还可以容纳这些应用,并且提供必要的支持服务和资源。示例实施例使用术语支持服务来说明一个或多个其他组件为了提供其服务可能依赖的服务组件。
图4示出了根据示例实施例进入提供网格服务的企业的请求的典型流程。客户机402,其可以是服务请求者,向服务集成总线406内的端点监听器404发送消息。客户机402可以是诸如图3的客户机302的客户机。端点监听器404接收请求,并且在进入端口410上将该请求转发给网关服务408。网关服务408使用网关服务解析器412解析该请求,以便确定内部Web服务中的哪些为该请求提供服务。然后请求被通过仲裁服务414在外出端口418上转发给目标服务416。外出端口418通过端口目的地420连接到处理该请求的Web服务实现422。通过与接收请求相反的路径返回对请求的回复。
图5示出了根据示例实施例,服务基础设施管理器在网格服务内的相对位置。客户机502,其可以是服务请求者,通过服务集成总线506向端点监听器504发送消息。客户机502可以是诸如图3的客户机302和图4的客户机402的客户机。端点监听器504接收请求,并且在进入端口510上将该请求转发给网关服务508。网关服务508使用网关服务解析器512解析该请求,以便确定内部Web服务中的哪些为该请求提供服务。然后请求被转发给仲裁服务514。在请求从网关服务508传递给目标服务516之前,通过仲裁服务514将该请求路由到服务基础设施管理器(SIM)524。
服务基础设施管理器524具体化为示例实施例。服务基础设施管理器524负责确定所请求的服务是否正在网格环境中以客户机请求所期望的能力级别运行。如果该服务根本未运行,或运行于次等的级别,则在由仲裁服务514将请求传递给目标服务516之前,服务基础设施管理器524内的机制启动这样的步骤,这些步骤导致共同组成必需的服务以便以所期望的性能级别处理所请求的服务的组件(单元和集成测试)的配置、分配、部署和测试。
由服务基础设施管理器524执行的功能确保在所请求的服务被仲裁服务514处理,并且到达目标服务516时,目标服务516准备好并且能够为客户机请求提供所期望的性能级别的服务。另外,由服务基础设施管理器524执行的功能确保:(1)不会由于服务缺失丢弃客户机请求,和(2)在处理客户机请求之前,提供了足够的能力。然后,在外出端口518上通过仲裁服务514将请求转发给目标服务516。外出端口518通过端口目的地520连接到处理该请求的Web服务实现522。通过与接收请求相反的路径返回对请求的回复。
图6示出了根据示例实施例的联合服务基础设施管理器中间件的逻辑体系结构的示意表示,以及如何通过联合服务基础设施管理器中间件将解决方案映射到企业的网格环境中的原始资源。解决方案602和604由多个服务组成,这些服务需要被部署和容纳在网格资源和服务606上,包括硬件和软件两者。由企业608、610或612拥有和管理网格资源和服务606。联合服务基础设施管理器中间件614、616和618使得能够实现联合环境中的服务和资源的透明部署。联合服务基础设施管理器中间件614、616和618是诸如包含在图5的Web服务实现522内的中间件。
图7示出了根据示例实施例的服务基础设施管理器的宏观级逻辑体系结构的示意表示。服务基础设施管理器702是服务基础设施管理器702提供给仲裁服务的一组应用程序接口(API)。服务基础设施管理器702是诸如图5的服务基础设施管理器524的服务基础设施管理器。服务基础设施管理器702由5个逻辑组件组成:服务状态和配置库704、分析和规划引擎706、配置引擎708、部署引擎710和监视引擎712。
服务状态和配置库704是服务基础设施管理器702的核心组件。每个可部署和已部署服务被表示为服务状态和配置库704内的一个对象。在这些例子中,每个对象有4个部分:
1.提供的服务的状态,
2.支持服务的状态,
3.被支持服务的状态,和
4.可以导致服务组件成特定状态的配置和部署步骤。
第一对象部分列出已被选择和激活的服务功能。对于每个服务功能,提供对观察到的和期望的性能范围的描述。第二对象部分列出被选择以支持该服务的实际服务实例。第二对象部分还描述服务对每个支持服务实例的当前使用情况、观察状态、与每个服务实例的服务级协议和任何违例情况。类似地,第三对象部分列出该服务实例所支持的实际服务实例、这些服务实例带来的要求、它们的观察状态以及被支持的服务的当前使用情况。第三对象部分还列出与被支持的服务的任何服务级协议和任何违例情况。第四对象部分描述用于在特定状态下配置和部署服务实例的步骤和过程。第四对象部分的这些步骤和过程本身是可编程的,并且可在运行时插入。
当部署和激活新服务组件时,在服务状态和配置库704中实例化新服务实例对象。服务实例表示将被在系统内配置和部署的实际服务实例。另外,当在已经激活的服务中激活新功能时,相应的服务实例被更新以便反应将被激活的这个新功能。类似地,如果将修改服务的提交级性能,修改已有的服务实例对象,以便反应所期望的性能级别。在所有情况下,给相应的服务实例对象分配被称为期望状态的状态。该状态是由这个对象表示的实际服务实例中所期望的,以便实现所期望的效果。另外,在这个对象中给出服务实例的当前的观察状态。如果服务实例的观察状态与所期望的状态不匹配,则在服务基础设施管理器702中标记该对象以便进行另外的处理。
由分析和规划引擎706首先处理服务状态和配置库704中带标记的对象。分析和规划引擎706执行依赖性分析以便产生依赖图。使用该依赖图,分析和规划引擎706可以使得服务实例成为其所期望的状态。然后分析和规划引擎706检查服务状态和配置库704以便确定是否有任意已有的组件可用于实现该依赖图。当组件不存在时,在服务状态和配置库704中创建新实例对象。已有和新创建的实例对象的所期望的状态被设置为反应出给所述依赖图带来的新需求。然后由分析和规划引擎706递归地分析和规划该需求。
分析和规划引擎706首先以从上到下的方式评估依赖图,以便确定与服务状态和配置库704中的对象相关联的实际实例。在评估该依赖图之后,分析和规划引擎706执行从底向上的评估以便将每个组件配置和部署为其所期望的状态。
在第一阶段中,以从上到下的方式评估依赖图。对于具有不能满足的支持资源的每个组件,将具有对所需服务或资源的类型描述的请求与所期望的和必需的属性一起发送给资源和服务安排引擎714。该请求包括功能和性能属性两者。
资源和服务安排引擎714分析对组件资源和服务的多个请求,并且考虑已有特定于资源和服务的和系统范围的策略、优先级和性能得出满足该请求的决策。由较低级组件组成由分析和规划引擎706提供的解决方案,可以由这些较低级组件构建服务配置图。分析和规划引擎706构造依赖图,该依赖图被写入正被恢复的对象的服务配置部分。由分析和规划引擎706提供的分配和匹配决策满足在接收到的请求中指定的准则。当不能满足请求时,分析和规划引擎706挂起该请求直到必要的资源和服务成为是可用的或直到请求被请求者取消。依赖于由资源和服务安排引擎714返回的依赖图和组件的性质,向资源和服务安排引擎714发送附加的请求,从而依赖图中的每个组件具有与该组件相关联的物理资源或服务实例。
然后以从下向上的方式评估依赖图,以便将每个组件配置和部署成其所期望的状态。配置引擎708以从下向上的方式检查分配的服务和实例,以及观察到的和所期望的依赖性和相关状态信息。使用这种信息,配置引擎708为依赖图中的每个服务产生配置描述。其考虑了由依赖图中较低级服务实例提供的服务的配置和级别,和将被提供给依赖图中上一级的被支持服务的服务级别。配置引擎708产生描述部署和配置组件服务和资源的顺序的配置依赖图。还在相应对象的配置和部署部分-部分4中存储配置依赖图,并且由部署引擎710使用该配置依赖图。
接着,部署引擎710使用配置依赖图和分配的资源/服务实例以实际配置和部署服务实例,从而可以使用资源716a、716b和716c实现依赖图。部署引擎710使用在服务对象和配置依赖图中提供的信息,以便创建和执行工作流程来准备资源和服务实例至所期望的状态。部署引擎710还对准备和配置的服务执行单元和集成测试。对于每个资源,部署引擎710使用配置依赖图启动服务718a、718b和718c在所期望的资源上的安装和配置。运行在资源716a、716b和716c上的服务718a、718b和718c组成Web服务实现,诸如图5的Web服务实现524。
由监视引擎712连续地监视安装和配置的处理。监视引擎712负责更新服务状态和配置库704中的每个代表性对象的状态。如果在单元和集成测试中遇到失败,则通过执行包括获取新的一组资源的恢复活动重新开始该工作流程。在高级服务的情况下,在已经配置了所有资源之后,部署引擎710通知服务基础设施管理器702激活该服务。
图8是示出了根据示例实施例的服务和相关基础设施的建立和实例化的操作的流程图。当操作开始时,服务基础设施管理器,诸如图7的服务基础设施管理器702,接收对服务的请求并且确定该服务当前未运行(步骤802)。然后,组成该服务基础设施管理器的组件执行下述步骤中的至少一个,以便确保配置、部署该服务,并且准备好处理该请求。服务管理者可能仅执行这些步骤之一或任意数目的这些步骤。分析和规划引擎产生旨在达到所期望的状态的依赖图(步骤804)。资源和服务安排引擎在联合系统中分配安排资源和服务实例,以便满足依赖图的要求,同时符合系统范围和特定于资源的策略和优先级(步骤806)。
配置引擎确定每个分配和安排的组件的配置步骤,从而它们可以以所期望的性能级别提供必需的支持服务(步骤808)。部署引擎确定安装和部署步骤,并且执行这些步骤(步骤810)。在以从下向上的方式实现该依赖图之后,并且在终端用户对所请求的服务执行功能验证测试(FVT)之后,部署引擎向仲裁服务发回确认,以便指出该服务可用(步骤812),此后操作结束。
图9是示出了根据示例实施例由部署引擎执行的步骤的流程图。该部署引擎,诸如图7的部署引擎710,执行这些步骤以便完成被表示为对象依赖图(ODG)中的组件各个服务的安装和部署,以便部署由仲裁服务所请求的服务。当操作开始时,为对象依赖图中的所有组件开始循环,部署引擎为该服务检索对象依赖图,并且为该服务识别对象依赖图中的需要被安装和配置以便激活该服务的所有支持组件(步骤902)。如果已经安装了某些资源和服务,则部署引擎检索资源和服务的当前配置参数,以便验证是否需要任何改变。
然后,部署引擎检索还将安装的依赖组件的安装工作流程,并且准备安装(步骤904)。以业务处理执行语言(BPEL)工作流程在服务状态和配置库中存储每个组件的安装工作流程。然后,部署引擎执行将被部署的服务组件的实际安装步骤(步骤906)。如果通知了任意异常,则捕捉该异常,并且当可能时,采取纠正活动或应用可替换的部署活动。如果不可能进行纠正活动,则放弃部署处理,然后将异常与产生该异常的服务对象相关联地记录在服务状态和配置库内。
在成功地完成了组件的安装之后,服务基础设施管理器从每个组件的对象依赖图中检索配置信息,并且启动每个组件的配置操作(步骤908)。例如,
Figure A200780018597D00171
服务器的配置操作包括该服务的企业归档(EAR)文件的安装和与相应的Enterprise JavabeansTM(EJB)相关联的任何运行时参数的设置。类似地,配置
Figure A200780018597D00172
客户端并且将其绑定到存储关于支付交易的信息的数据源。如上所述,部署引擎可以执行所有支持组件的安装,之后进行它们的配置。在另一个实施例中,可以安装和配置一个组件,然后处理下一个组件。在另一个实施例中,可以同时安装和配置若干组件,并且然后处理下一组组件。
在对象依赖图中的所有组件的安装和部署完成之后(步骤910),部署引擎开始对这些组件执行功能验证测试的循环处理(步骤912)。部署引擎执行这些每个安装组件的单元测试(步骤914)。用于单元测试的脚本存储在每个组件的对象依赖图中。作为例子,
Figure A200780018597D00173
应用服务器的单元测试将检查提供该服务的应用服务器是否启动。对于Hypertext Transfer Protocol(HTTP)服务器,一种单元测试是检查发送到端口80的请求是否成功地返回。对于
Figure A200780018597D00174
客户端,一种单元测试是检查客户端和数据源服务器的连接。
在成功地完成了单元测试之后,单元测试结束(步骤916),部署引擎对部署的服务组件执行一个或多个递增的功能验证测试(步骤918)。这包括测试形成对象依赖图中的子树的组件之间的成功交互。用于功能验证测试的脚本与每个对象一起存储在表示对象依赖图中的服务组件的服务状态和配置库内。在步骤918成功地完成了功能验证测试之后,部署引擎将该服务标记为被激活(步骤920),此后操作结束。
在图9描述的实施例中,对所有部署和配置的组件执行单元测试,之后进行一组功能验证测试。在另一个实施例中,可以在安装下一个组件之前执行一个组件的部署、配置和单元测试。在另一个实施例中,可以并行地执行这些活动中的某一些,并且流水线地进行其他的活动。这些活动包括对对象依赖图的子树的功能验证测试。
因此,示例实施例提供网络上的服务的实例化。在收到对特定服务质量的服务的请求时,做出关于是否能够以所请求的服务质量获得该服务的确定。响应不能以所请求的服务质量获得该服务,执行与该服务相关联的组件的分析,以便识别创建该服务所需的资源,并且基于该分析,给该服务分配资源。然后,以所请求的服务质量实例化该服务。
本发明可以采取完全硬件实施例、完全软件实施例、或包含硬件和软件元素两者的实施例的形式。在优选实施例中,以软件实现本发明,该软件包括但不限于固件、驻留软件、微代码等。
另外,本发明可以采取计算机程序产品的形式,可从提供由计算机或任意指令执行系统使用,或与计算机或任意指令执行系统结合使用的程序代码的计算机可用或计算机可读介质访问该计算机程序产品。出于本说明书的目的,计算机可用或计算机可读介质可以是可以包含、存储、传递、传播或传输由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用的程序的任意有形装置。
该介质可以是电子、磁、光、电磁、红外线或半导体系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机盘、随机访问存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前的例子包括压缩盘-只读存储器(CD-ROM)、压缩盘-读写(CD-R/W)和DVD。
适合于存储和/或执行程序代码的数据处理系统包括至少一个直接或通过系统总线间接连接到存储器元件的处理器。存储器元件可以包括在程序代码的实际执行过程中采用的本地存储器、海量存储设备、和提供至少某些程序代码的临时存储,以便减少执行过程中必须从海量存储设备检索代码的次数的高速缓存存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指取设备等)可以直接或通过中间I/O控制器连接到系统。
还可以将网络适配器连接到系统,以便使得该数据处理系统可以通过中间的私有或公共网络连接到其它的数据处理系统或远程打印机或存储设备。调制解调器、缆线调制解调器和以太网卡仅是几种类型的当前可用的网络适配器。
已经出于说明和描述的目的给出了对本发明的描述,但是该描述的意图并不是无遗漏的或将本发明限制于公开的形式。对于本领域的普通技术人员来说,许多修改和改变是显而易见的。选择并且描述这些实施例以便最好地解释本发明的原理、其实际应用,并且使得其它本领域的普通技术人员能够理解本发明,因为具有各种修改的各种实施例适合于构想的特定用途。

Claims (20)

1.一种用于实例化网络上的服务的以计算机实现的方法,该方法包括:
响应接收对一种服务质量的服务的请求,确定是否可以所请求的服务质量获得所述服务;
响应不能以所请求的服务质量获得所述服务,执行与所述服务相关联的组件的分析,以便识别创建所述服务所需的资源;
基于所述分析,分配资源以便支持所述服务;和
在已经分配了所述资源之后,以所请求的服务质量实例化所述服务。
2.如权利要求1所述的以计算机实现的方法,其中所述分析包括资源安排、资源分配、部署、安装、配置或测试中的至少一个。
3.如权利要求2所述的以计算机实现的方法,其中所述部署包括:
识别用于部署的所述资源;和
在所述资源上部署软件应用。
4.如权利要求2所述的以计算机实现的方法,其中所述安装包括:
在所述资源上安装软件应用。
5.如权利要求2所述的以计算机实现的方法,其中所述配置包括:
设置软件应用的参数,从而使得所述服务可用。
6.如权利要求2所述的以计算机实现的方法,其中所述测试包括:
执行单元测试或功能验证测试中的至少一个,以便确保所述服务如服务提供者所规定的正确地工作。
7.如权利要求2所述的以计算机实现的方法,其中所述资源分配包括:
基于服务级协议和系统范围策略分配资源。
8.如权利要求2所述的以计算机实现的方法,其中所述实例化服务包括:
使用来自至少一个数据中心的支持服务和资源组件。
9.一种数据处理系统,包括:
总线系统;
与所述总线系统连接的通信系统;
与所述总线系统连接的存储器,其中所述存储器包括一组指令;和
与所述总线系统连接的处理单元,其中所述处理单元执行所述组指令,以便响应接收对一种服务质量的服务的请求,确定是否可以所请求的服务质量获得所述服务;响应不能以所请求的服务质量获得所述服务,执行与所述服务相关联的组件的分析,以便识别创建所述服务所需的资源;基于所述分析,分配资源以便支持所述服务;和在已经分配了所述资源之后,以所请求的服务质量实例化所述服务。
10.如权利要求9所述的数据处理系统,其中所述分析包括资源安排、资源分配、部署、安装、配置或测试中的至少一个。
11.如权利要求10所述的数据处理系统,其中所述处理单元执行用于部署的指令组包括识别用于部署的所述资源;和在所述资源上部署软件应用的一组指令。
12.如权利要求10所述的数据处理系统,其中所述处理单元执行用于安装的指令组包括在所述资源上安装软件应用的指令组。
13.如权利要求10所述的数据处理系统,其中所述处理单元执行用于配置的指令组包括设置软件应用的参数,从而使得所述服务可用的指令组。
14.如权利要求10所述的数据处理系统,其中所述处理单元执行用于测试的指令组包括执行单元测试或功能验证测试中的至少一个,以便确保所述服务如服务提供者所规定的正确地工作的指令组。
15.一种计算机程序产品,包括:
包括计算机可用程序代码的计算机可用介质,所述计算机可用程序代码用于实例化网络上的服务,所述计算机程序产品包括:
用于响应接收对一种服务质量的服务的请求,确定是否可以所请求的服务质量获得所述服务的计算机可用程序代码;
用于响应不能以所请求的服务质量获得所述服务,执行与所述服务相关联的组件的分析,以便识别创建所述服务所需的资源的计算机可用程序代码;
用于基于所述分析,分配资源以便支持所述服务的计算机可用程序代码;和
用于在已经分配了所述资源之后,以所请求的服务质量实例化所述服务的计算机可用程序代码。
16.如权利要求15所述的计算机程序产品,其中所述分析包括资源安排、资源分配、部署、安装、配置或测试中的至少一个。
17.如权利要求16所述的计算机程序产品,其中所述用于部署的计算机可用程序代码包括:
用于识别用于部署的所述资源的计算机可用程序代码;和
用于在所述资源上部署软件应用的计算机可用程序代码。
18.如权利要求16的计算机程序产品,其中所述用于安装的计算机可用程序代码包括:
用于在所述资源上安装软件应用的计算机可用程序代码。
19.如权利要求16所述的计算机程序产品,其中所述用于配置的计算机可用程序代码包括:
用于设置软件应用的参数,从而使得所述服务可用的计算机可用程序代码。
20.如权利要求16所述的计算机程序产品,其中所述用于测试的计算机可用程序代码包括:
用于执行单元测试或功能验证测试中的至少一个,以便确保所述服务如服务提供者所规定的正确地工作的计算机可用程序代码。
CN200780018597.0A 2006-06-15 2007-06-14 用于实例化网络上的服务的以计算机实现的方法和装备 Expired - Fee Related CN101449263B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/453,507 2006-06-15
US11/453,507 US7519711B2 (en) 2006-06-15 2006-06-15 Method for middleware assisted system integration in a federated environment
PCT/US2007/013917 WO2007146356A2 (en) 2006-06-15 2007-06-14 Method and apparatus for middleware assisted system integration in a federated environment

Publications (2)

Publication Number Publication Date
CN101449263A true CN101449263A (zh) 2009-06-03
CN101449263B CN101449263B (zh) 2011-08-31

Family

ID=38832526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780018597.0A Expired - Fee Related CN101449263B (zh) 2006-06-15 2007-06-14 用于实例化网络上的服务的以计算机实现的方法和装备

Country Status (5)

Country Link
US (2) US7519711B2 (zh)
EP (1) EP2035944A4 (zh)
CN (1) CN101449263B (zh)
TW (1) TW200809664A (zh)
WO (1) WO2007146356A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164648A (zh) * 2011-12-19 2013-06-19 国际商业机器公司 用于身份联邦配置的设置的方法和装置
CN103164648B (zh) * 2011-12-19 2016-12-14 国际商业机器公司 用于身份联邦配置的设置的方法和装置
CN111399824A (zh) * 2020-03-13 2020-07-10 上海介方信息技术有限公司 一种基于混合传输机制的组件端口实现方法及终端

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294364A1 (en) * 2006-06-15 2007-12-20 International Business Machines Corporation Management of composite software services
US7496893B2 (en) * 2006-06-15 2009-02-24 International Business Machines Corporation Method for no-demand composition and teardown of service infrastructure
WO2008005909A2 (en) * 2006-07-05 2008-01-10 Motorola, Inc. Information dependency formulation and use method and apparatus
WO2008011918A1 (en) 2006-07-28 2008-01-31 Telefonaktiebolaget Lm Ericsson (Publ) Methods, mobile network node and mobile terminal for reducing the number of unsuccessful service change requests performed by the mobile terminal
US9251498B2 (en) * 2006-10-23 2016-02-02 Oracle International Corporation Facilitating deployment of customizations of enterprise applications
EP1916596A1 (en) * 2006-10-26 2008-04-30 Hewlett-Packard Development Company, L.P. Improvements in or relating computer network management
US7779063B2 (en) * 2007-08-03 2010-08-17 Sap Ag Automatic benefit analysis of dynamic cluster management solutions
US20090100430A1 (en) * 2007-10-15 2009-04-16 Marco Valentin Method and system for a task automation tool
EP2215775A1 (en) * 2007-11-21 2010-08-11 Motive, Incorporated System and method for identifying and calling a function of a service
US8112771B2 (en) * 2008-01-30 2012-02-07 Microsoft Corporation Managing component programs within a service application
US9411570B2 (en) * 2009-02-27 2016-08-09 Red Hat, Inc. Integrating software provisioning and configuration management
US11323508B2 (en) 2009-05-22 2022-05-03 Comcast Interactive Media, Llc Web service system and method
US8898621B2 (en) * 2009-10-09 2014-11-25 Oracle International Corporation Methods and systems for implementing a logical programming model
US8438251B2 (en) * 2009-10-09 2013-05-07 Oracle International Corporation Methods and systems for implementing a virtual storage network
US8819055B2 (en) 2010-05-14 2014-08-26 Oracle International Corporation System and method for logical people groups
US9741006B2 (en) 2010-05-14 2017-08-22 Oracle International Corporation System and method for providing complex access control in workflows
US9589240B2 (en) * 2010-05-14 2017-03-07 Oracle International Corporation System and method for flexible chaining of distinct workflow task instances in a business process execution language workflow
US9852382B2 (en) 2010-05-14 2017-12-26 Oracle International Corporation Dynamic human workflow task assignment using business rules
US10560541B2 (en) * 2010-05-26 2020-02-11 Sap Se Service delivery management for brokered service delivery
US20110295646A1 (en) * 2010-05-26 2011-12-01 Sap Ag Service delivery management for brokered service delivery of service groups
US8601484B2 (en) * 2010-09-15 2013-12-03 Qualcomm Incorporated System and method for managing resources and markers of a portable computing device
US9560130B2 (en) 2010-09-30 2017-01-31 Microsoft Technology Licensing, Llc Presenting availability statuses of synchronized objects
JP2012104063A (ja) * 2010-11-12 2012-05-31 Fuji Xerox Co Ltd サービス処理装置、サービス処理システム及びプログラム
US9009682B2 (en) * 2010-12-13 2015-04-14 Sap Se Enhanced unit test framework
US8788669B2 (en) * 2011-01-03 2014-07-22 Novell, Inc. Policy and identity based workload provisioning
US9389922B2 (en) * 2011-03-11 2016-07-12 International Business Machines Corporation Declarative service domain federation
US9332005B2 (en) * 2011-07-11 2016-05-03 Oracle International Corporation System and method for providing switch based subnet management packet (SMP) traffic protection in a middleware machine environment
US9215083B2 (en) 2011-07-11 2015-12-15 Oracle International Corporation System and method for supporting direct packet forwarding in a middleware machine environment
US9086923B2 (en) * 2011-09-16 2015-07-21 Rutgers, The State University Of New Jersey Autonomic workflow management in dynamically federated, hybrid cloud infrastructures
US9003397B2 (en) * 2011-09-29 2015-04-07 Oracle International Corporation System and method for supporting automatically deploying/undeploying application components in a transactional middleware machine environment
US9152441B2 (en) * 2012-02-20 2015-10-06 Virtustream Canada Holdings, Inc. Systems and methods involving virtual machine host isolation over a network via a federated downstream cluster
US9020883B2 (en) 2012-02-22 2015-04-28 Oracle International Corporation System and method to provide BPEL support for correlation aggregation
EP2850811B1 (en) 2012-05-10 2020-10-07 Oracle International Corporation System and method for supporting subnet manager (sm) master negotiation in a network environment
US10037197B2 (en) 2013-03-15 2018-07-31 Oracle International Corporation Flexible microinstruction system for constructing microprograms which execute tasks, gateways, and events of BPMN models
US9705995B2 (en) * 2014-03-18 2017-07-11 Axis Ab Capability monitoring in a service oriented architecture
CN106471465B (zh) 2014-04-09 2019-10-22 康维达无线有限责任公司 服务启用器功能
US9800465B2 (en) * 2014-11-14 2017-10-24 International Business Machines Corporation Application placement through multiple allocation domain agents and flexible cloud scheduler framework
CN105872082B (zh) * 2016-05-18 2018-11-23 上海交通大学 基于容器集群负载均衡算法的细粒度资源响应系统
US11030329B2 (en) * 2018-06-15 2021-06-08 Paypal, Inc. Unified identity services for multi-tenant architectures
US11175802B2 (en) * 2018-09-21 2021-11-16 Sap Se Configuration object deletion manager
US11762644B2 (en) * 2021-05-10 2023-09-19 International Business Machines Corporation Agentless installation for building deployments

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024450B1 (en) 1997-10-06 2006-04-04 Mci, Inc. Method and apparatus for deploying service modules among service nodes distributed in an intelligent network
US6330689B1 (en) * 1998-04-23 2001-12-11 Microsoft Corporation Server architecture with detection and recovery of failed out-of-process application
US6330710B1 (en) 1998-06-19 2001-12-11 At&T Corp. Servlet-based architecture for dynamic service composition
US6286047B1 (en) 1998-09-10 2001-09-04 Hewlett-Packard Company Method and system for automatic discovery of network services
US6901442B1 (en) * 2000-01-07 2005-05-31 Netiq Corporation Methods, system and computer program products for dynamic filtering of network performance test results
US7051098B2 (en) * 2000-05-25 2006-05-23 United States Of America As Represented By The Secretary Of The Navy System for monitoring and reporting performance of hosts and applications and selectively configuring applications in a resource managed system
US7013461B2 (en) 2001-01-05 2006-03-14 International Business Machines Corporation Systems and methods for service and role-based software distribution
US6996588B2 (en) 2001-01-08 2006-02-07 International Business Machines Corporation Efficient application deployment on dynamic clusters
US7464154B2 (en) 2001-05-18 2008-12-09 Network Resonance, Inc. System, method and computer program product for analyzing data from network-based structured message stream
US7694303B2 (en) * 2001-09-25 2010-04-06 Sun Microsystems, Inc. Method for dynamic optimization of multiplexed resource partitions
US20040003390A1 (en) 2002-06-27 2004-01-01 Microsoft Corporation System and method for installing a software application in a non-impactfull manner
US7243306B1 (en) 2002-07-17 2007-07-10 International Business Machines Corporation Service descriptor for a multitier compute infrastructure
US20040060054A1 (en) 2002-09-20 2004-03-25 International Business Machines Corporation Composition service for autonomic computing
US8140677B2 (en) * 2002-11-21 2012-03-20 International Business Machines Corporation Autonomic web services hosting service
US20060294238A1 (en) 2002-12-16 2006-12-28 Naik Vijay K Policy-based hierarchical management of shared resources in a grid environment
US20040261060A1 (en) 2003-06-20 2004-12-23 Haselden J. Kirk Dependency based package deployment
US7703029B2 (en) * 2003-07-28 2010-04-20 Sap Ag Grid browser component
US7926051B2 (en) 2003-11-10 2011-04-12 International Business Machines Corporation Automatic parallel non-dependent component deployment
US7568195B2 (en) 2003-12-16 2009-07-28 Microsoft Corporation Determining a maximal set of dependent software updates valid for installation
US7340654B2 (en) 2004-06-17 2008-03-04 Platform Computing Corporation Autonomic monitoring in a grid environment
US7712100B2 (en) * 2004-09-14 2010-05-04 International Business Machines Corporation Determining a capacity of a grid environment to handle a required workload for a virtual grid job request
GB0421646D0 (en) 2004-09-29 2004-10-27 British Telecomm Sharing data processing resources
CN100589402C (zh) * 2004-11-29 2010-02-10 中兴通讯股份有限公司 一种基于分离式路由交换设备的QoS实现的方法
US7668741B2 (en) * 2005-01-06 2010-02-23 International Business Machines Corporation Managing compliance with service level agreements in a grid environment
US20060195559A1 (en) 2005-02-28 2006-08-31 University Of Westminster Services for grid computing
US20070050431A1 (en) 2005-08-26 2007-03-01 Microsoft Corporation Deploying content between networks
US20070294364A1 (en) 2006-06-15 2007-12-20 International Business Machines Corporation Management of composite software services
US7496893B2 (en) 2006-06-15 2009-02-24 International Business Machines Corporation Method for no-demand composition and teardown of service infrastructure
US7950007B2 (en) 2006-06-15 2011-05-24 International Business Machines Corporation Method and apparatus for policy-based change management in a service delivery environment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164648A (zh) * 2011-12-19 2013-06-19 国际商业机器公司 用于身份联邦配置的设置的方法和装置
CN103164648B (zh) * 2011-12-19 2016-12-14 国际商业机器公司 用于身份联邦配置的设置的方法和装置
US9576125B2 (en) 2011-12-19 2017-02-21 International Business Machines Corporation Configuring identity federation configuration
CN111399824A (zh) * 2020-03-13 2020-07-10 上海介方信息技术有限公司 一种基于混合传输机制的组件端口实现方法及终端

Also Published As

Publication number Publication date
TW200809664A (en) 2008-02-16
US20080275935A1 (en) 2008-11-06
EP2035944A4 (en) 2012-12-05
CN101449263B (zh) 2011-08-31
US20070294405A1 (en) 2007-12-20
WO2007146356A3 (en) 2008-08-14
US7945671B2 (en) 2011-05-17
EP2035944A2 (en) 2009-03-18
US7519711B2 (en) 2009-04-14
WO2007146356A2 (en) 2007-12-21

Similar Documents

Publication Publication Date Title
CN101449263B (zh) 用于实例化网络上的服务的以计算机实现的方法和装备
CN101449241B (zh) 用于服务递送环境中的基于策略的改变管理的方法和装置
US8191043B2 (en) On-demand composition and teardown of service infrastructure
Huedo et al. A modular meta-scheduling architecture for interfacing with pre-WS and WS Grid resource management services
US11537809B2 (en) Dynamic container grouping
CA2637749C (en) Method, system, and program product for deploying a platform dependent application in a grid environment
US11556321B2 (en) Deploying microservices across a service infrastructure
CN104765620A (zh) 一种程序模块部署的方法和系统
CN110658794B (zh) 一种制造执行系统
JP2021509498A (ja) コンピューティング・デバイス
CN112486466B (zh) 一种基于微服务架构的快速通用基础框架实现方法
CN112256406B (zh) 作业流程平台化调度方法
US8127287B2 (en) Systems and methods for reusing SAP adaptors in non-supported releases
Filho et al. A fully distributed architecture for large scale workflow enactment
US11875190B2 (en) Methods and systems for AI-based load balancing of processing resources in distributed environments
US20240111588A1 (en) Intelligent Process Management in Serverless Workflow Cloud Environments
US20230214276A1 (en) Artificial Intelligence Model Management
Devarakonda et al. A toolkit-based approach to policy-managed storage
Marroig et al. Cloud Computing for Fluorescence Correlation Spectroscopy Simulations
CN115981835A (zh) 使用预测认证数据的连接池管理

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110831

Termination date: 20160614