自动克隆it资源结构的方法、系统和计算机程序产品的制作方法

文档序号:7641836阅读:125来源:国知局
专利名称:自动克隆it资源结构的方法、系统和计算机程序产品的制作方法
技术领域
本发明涉及其中资源被建模为状态网络服务的面向服务的IT资 源结构的领域,更具体而言,本发明涉及一种自动克隆现有IT资源 环境、同时保持其资源拓朴的方法、系统和计算机程序产品。
背景技术
当今的IT资源结构包括大量的异构、分布式资源。构建按需IT 结构的关键是提供通过普通的基于标准的接口管理这些资源的装置 以及提供资源之间的基于标准的互操作性。网络服务资源框架 (WS-RF )引入了一种封装网络服务接口之后每种资源的技术。更具 体而言,WS-RF集中于IT资源的状态特性。例如,操作系统资源的 状态可以包括在系统中运行的进程的数量、或者登陆用户的数量。
根据WS-RF, IT环境内所有状态资源经由网络服务接口被管理, 即客户机激活(invoke)网络服务端点上的网络服务调用(call),网 络服务调用然后被映射到特定状态资源(参见图1)。在WS-RF规 范集内,网络服务端口类型(portType)形式的几个标准网络服务接 口被定义,其可以由状态资源的所述网络服务前端提供。这些标准的 端口类型例如涉及资源寿命管理、资源状态查询、或通知支持。
按照WS-RF的资源状态被存储在所谓的资源属性中。特定资源
的所有资源属性的总和被包含在"资源属性文档 (ResourcePropertyDoc画ent),,中,其中"资源属性文档,,是一个 XML文档,其可以经由由WS-RF所定义的标准网络月良务调用而4皮检 索。
IT资源结构中所有资源根据WS资源框架被建模为WS资源,
即资源被封装在状态网络服务接口之后。资源可以包括物理的IT资 源(诸如计算机或存储器)、逻辑的软件资源(诸如操作系统或网络 服务器)、或逻辑的与业务有关的资源(诸如客户、供给(offer))、 或整个按需服务环境(这样的按需环境中的资源互相相关)。这些关 系被建模为状态网络服务关系,其中状态网络服务关系存储对参与关 系的所有状态网络服务的引用。关系可以被导航。因此,按需环境可 以被看作图形。环境的最通常的形式是树形拓朴,其起源于逻辑的按 需服务(ODS)资源。经由关系,"树,,可以向下被遍历到"叶,,,"叶,, 最通常地是物理资源。通常,按需环境可以具有包括双向关系和循环 关系的任何拓朴。也可以利用合适的图形算法来导航这样的图形。
当今的IT环境包括几十或几百个异构资源。为了克隆复杂的IT 环境,需要荻取整个系统的配置状态(即系统拓朴、所使用资源的数 量和类型、各个资源的配置状态、资源之间的关系等等),然后使用 所获得的数据来实例化具有类似布局的等同IT系统。
虽然可以经由资源类型或售主特定接口来管理各个资源的配置 状态,但是不可能经由普通的、基于标准的接口来管理整个系统的配 置。IT环境可以包括由不同后端提供主机服务的众多不同类型的资 源。即使诸如WS-RF这样的技术提供以标准化方式与这些后端通信 的装置,但是配置管理的问题没有被WS-RF或其他状态网络服务规 范所覆盖。结杲,资源的使用者(exploiter)必须基于每个资源手动 地处理配置管理。此外,没有提供用于单个资源的配置之间的关系管 理的标准装置。但是,可能需要配置之间的这种关系,以便提供系统 范围的配置视图。
在现有技术的IT资源结构中,可以以每个资源的方式在数据库 中存储配置数据。所存储的数据随后可以被用来使资源返回到定义的 状态。软件对象的状态、或者软件对象的配置分别也可以在对象关系 数据中持续存在。WS-RF引入资源属性的概念来反映资源的状态。
特定资源的所有资源属性的组合被包含在所谓的资源属性文档 (ResourcePropertyDocument)中。该XML文档可以通过利用网络 服务调用而被检索,并且可以被存储在XML数据库中。
即使可能为各个资源存储配置数据,并且在传统IT基础设施中 恢复资源的配置,但是不存在公共的装置来执行对面向服务的状态网 络服务环境中所有资源的配置管理。每种资源提供专有的、类型特定 的配置管理接口。符合WS-RF的状态资源的资源属性文档的概念不 足以满足配置管理的需要。首先,这样的资源属性文档中所包含的数 据可能不与资源的配置相关(例如,计算机资源的CPU内核温度属 性不与其配置相关,而是受到当前负荷或环境温度的影响)。其次, 反映资源配置的数据可能并不经由资源属性文档暴露。
此外,不存在将各个资源的配置数据相关以形成系统范围的配置 记录的机制。上述提到的所有方面需要被解决,以便允许以自动化方 式克隆IT系统。

发明内容
本发明提供了一种自动克隆面向服务的、状态网络服务环境中的 现有IT资源结构的方法、系统和计算机程序产品,从而避免现有技 术的缺点。
本发明提供了一种通过使用一种新的配置管理方法而自动克隆 状态网络服务环境中的IT资源结构的方法、系统和计算机程序产品。
新的方法将每个资源的配置状态建模为状态网络服务。配置数据 将由该服务的资源属性提供。不同资源的配置之间的关系被建模为网 络服务实例之间的"状态网络服务关系"。这些关系可以被导航,这允
许以基于标准的方法探究整个系统的配置。
此外,由封装资源的状态网络服务提供新的网络服务接口。 该接口提供两个新的操作"getConfiguration,,允许使用者获取 资源的配置状态和相关资源的配置状态的快照,"setConfiguration,, 允许将资源的配置状态设置为先前保存的状态。"getConfiguration" 的激活导致创建新的状态网络服务实例,其中新的状态网络服务实例 存储每个资源的配置状态。该新的网络服务接口是基于每个资源类型
而实现的。任何后端技术可以被用来实现该新的网络服务接口 。


本发明的上述以及其他目标、特征和优点将在以下详细描述的内 容中变得显而易见。
本发明的新颖性特征在所附的权利要求书中阐述。但是,本发明 本身以及使用的优选方式、其他目的及其优点将通过结合附图阅读和 参考以下对示例性实施例的详细描述来更好地理解。
图1A显示了作为状态网络服务的资源, 图1B显示了根据本发明要被克隆的IT资源结构的例子, 图1C显示了获取如图1B所示的IT资源结构的配置快照的创新 性方法,
图1D显示了根据如图1C所示的先前获得的配置快照建立克隆 IT资源结构的创新性方法,
图2A显示了获取配置快照的本发明优选实施例的流程图,
图2B显示了创建ResourceConfiguration (资源配置)状态网络
服务实例的本发明优选实施例的流程图,和
图2C显示了根据配置图形创建IT资源结构的本发明实施例的
流程图。
具体实施例方式
本发明涉及面向服务的体系架构(SOA)的领域,其中IT资源 被建模为状态网络服务,即它们被封装在状态网络服务接口之后。
用于将资源建模为状态网络服务的普通模式如图1所示。状态网 络服务[11作为用于物理或逻辑IT资源[2的客户机前端而存在。该状 态月艮务[1I由诸如Websphere Application Server这样的网络服务容件 [5提供主机服务。状态服务与下层资源通信,该通信直接通过资源类 型特定的通信协议[3(例如SNMP)通信,或者在资源不支持直接仪 器(instrumentation)的情况下状态服务借助于仪器服务器[4连接到资源。
状态网络服务[1在其反映下层资源的当前状态方面是有状态 的,即客户机可以在任何时候查询和/或改变资源的状态。为了访问下
层资源[2的状态,状态服务[1经由[3或[4与资源通信。此外,状态 数据也可以被存储在附接到应用服务器[5的数据库[6中。状态服务[ll 可以访问该数据库,例如通过^f吏用企业型JAVA小系统(EJBs: Enterprise Java Beans )。
客户机可以利用诸如HTTP上SOAP ( SOAP over HTTP )这样 的标准网络服务协议[8访问状态网络服务。每个状态网络服务提供多 个资源类型特定的网络服务接口 (portTypes) [9,这些资源类型特 定的网络服务接口提供一组可由客户机激活的操作。例如,封装服务 器资源的状态网络服务可以提供具有两个操作"startServer(启动服务 器),,和"stopServer (停止服务器),,的接口。此外,每个状态网络服 务通常提供接口来查询资源状态,即检索所谓的资源属性。
刚刚描述的建模模式是一般性的体系架构模式。可能的实施标准 以网络服务资源框架(WS-RF)规范集或在WS-RF之上构建的网络 服务分布式管理(WSDM)规范集的形式存在。
寻址状态服务的端点引用(EndpointReference )
与通过简单的URL寻址的标准(无状态)网络服务相反,状态
网络服务要求允许客户机访问状态网络服务的特定实例的更复杂的
寻址;f几制。
该寻址机制利用端点引用并且在WS寻址标准中指定。这样的端 点引用可以被比作在面向对象编程语言中所使用的对象引用或指针。 其是包含关于网络服务端点位置的信息(以URL的形式)以及允许体。
提出端点引用的客户机能够各自与状态服务的特定实例、或者与 特定资源通信。
在图IB中也被示出的以下资源结构将用作解释本发明细节的实 例。操作系统资源[1为应用服务器应用2和数据库应用3提供主机 服务。图1B中的箭头[4,5表达了[1和[2,3之间存在的"主机"关系; 该关系被理解为"操作系统[1为应用服务器[2提供主机服务,,以及 "操作系统[1为数据库[3提供主机服务"。为资源定义以下在配置环境 中相关的资源属性
操作系统m:
- patchLevel (补丁级)(例如Servicepack 1)
- userAccounts (用户帐号) 应用服务器应用[2
-securityPolicy (安全策略)(例如安全使能/禁用) -maxConcurrentSessions (最大并行会话)(并行客户机会话 的最大数量)
数据库应用3
- cachingStrategy (緩存策略)
一 codeSet (代码集)(例如统一代码UTF-8 )
上述资源中每一个都借助于状态网络服务[7、[10]和13被暴露 给客户机。这些状态服务由用作网络服务容件的应用服务器[6提供主 机服务,并且经由资源类型和售主特定链路[18j19j和20I与下层IT 资源通信。此外,状态网络服务的状态数据可以被存储在附接到应用 服务器[6的数据库[21中。资源[1和[2之间或资源[1]和[3之间的"主 机,,关系分别由状态网络服务关系1617反映。通过遍历这些状态
网络服务关系,可以查找由状态服务m (或者分别由[7]所表示的IT
资源)"提供主机服务,,的所有状态服务。每个状态服务提供资源类型 特定接口 ([9,12和[151)。对于操作系统服务71,接口[9例如可 以包括操作"startApplicationProcess (启动应用进程)"或 "stopApplicadonProcess (停止应用进程)"。应用服务器服务10的 接口 [12]例如可以提供"d印loyApplication (部署应用)"和 "undeployApplication (去部署应用)"。数据库服务[13]的接口 [15
可以提供操作"createTable(创建表格),,和"deleteTable(删除表格),,。 除了资源类型特定接口之外,每个状态网络服务还提供由本发明 提出的"ConfigurationManagement (配置管理),,接口 ([8!,ll!和14)。该接口提供两个操作"getConfiguration (获取配置),,和 "setConfiguration (设置配置)"。拥有指向操作系统服务的有效 EndpointReference的客户机[22可以激活该状态服务上的网络服务 调用[23。
此外,通过遍历关系[16或[17,客户机可以获得应用服务器服 务或数据库服务的EndpointReference,并且也可以激活这些资源上 的状态网络服务调用。
获取IT资源结构的配置快照
获取(以包含作为节点的资源配置和作为边的这些配置之间的关 系的图形的形式)IT资源结构的配置的过程(如图1C所示)由 "ConfigurationManager"组件[24控制。该组件允许客户机启动创建 给定资源结构的配置快照,以及基于先前获得的配置快照而创建资源 结构。
客户机22j具有指向操作系统服务/资源7的EndpointReference (注意词语"服务/资源,,的意思是,客户机与服务前端通信,但是逻 辑上实际上在由该服务封装的资源上操作)。其发出请求以获取具有 [7作为锚点节点(anchor node)的资源结构的配置快照。该请求[25
具有到状态月l务[7]的 EndpointReference 作为参数。 ConfigurationManager[24现在可以利用所提供的 EndpointReference来访问月良务7的ConfigurationMaiiager接口 [8。 其通过发出网络服务调用27]来激活操作系统服务上的 getConfiguration 操作。在该操作过程中,新的 "ResourceConfiguration (资源配置),,网络服务实例[31I被创建29, 其存储构成操作系统服务的配置的所有项目。在网络服务容件(应用 服务器)[30中为该ResourceConfiguration状态网络服务实例提供主
机服务。配置数据、即ResourceConfiguration状态网络服务实例的 属性被存储在附接到应用服务器的数据库[43中。例如,可以利用诸 如企业型JAVA小系统(EJBs)这样的技术来访问该数据。注意,应 用服务器[30和[16也可以是相同的,即表示IT资源的状态服务和 ResourceConfiguration状态网络服务实例可以由相同网络服务容件 提供主机服务。
指向新的ResourceConfiguration状态网络服务实例[31的 EndpointReference 4皮返回[28j至!] ConfigurationManager (酉己置管理 器)。ConfigurationManager[24现在通过以下状态网络服务关系遍 历资源结构。通过以下关系[16,ConfigurationManager查找状态服 务/资源10。其激活该服务的getConfiguration操作,并获得到新的 ResourceConfiguration状态网络月良务实例[34的EndpointReference, 其存储所有与应用服务器服务/资源10相关联的配置数据。在接收到 ResourceConfiguration状态网络月艮务实例34的EndpointReference 之后,ConfigurationManager将两个ResourceConfiguration状态网 络服务实例[31和[341相关联[42在状态网络服务关系40中。这是要 在其各自配置之间的关系中反映资源结构中资源之间存在的关系。结 果,ResourceConfiguration状态网络服务实例的图形被创建,其具有 与资源图形相同的拓朴。
对状态服务/资源13j重复相同的步骤,即通过以下关系17]查找 月良务[13,getConfiguration ,皮激活,ResourceConfiguration状态网 络服务实例37由服务〖13创建,37的EndpointReference被返回给 ConfigurationManager, ResourceConfiguration状态网络月良务实例[31
和[37之间的关系41I被创建。
在获取配置快照的过程的末尾,ResourceConfiguration状态网 络服务实例的图形存在,其表示整个源资源结构的系统配置。该图形 由作为节点的各个资源的配置和作为边的这些配置之间的关系组成。 到锚点(anchor)或根ResourceConfiguration状态网络服务实例的 EndpointReference被返回[26I到请求配置快照的客户。
ResourceConfiguration状态网络月PL务实例
表示资源的配置状态的配置数据被存储在 ResourceConfiguration 状态网络月PL务实例中。这些 ResourceConfiguration状态网络服务实例是特定于资源类型的,因为 它们存储特定于每个不同资源类型的配置数据。
在getConfiguration操作过程中创建。实现是特定于资源类型的,并 且必须由状态服务的开发者为给定类型的资源提供。通常,该开发者 具有专业知识来决定对于其资源类型需要在ResourceConfiguration 状态网络服务实例中存储什么信息。允许将存储在 ResourceConfiguration状态网络服务实例中的数据应用到资源实例 的setConfiguration操作的实现也必须由相应的开发者提供,因为他 也具有正确应用配置数据的专业知识。
如上所述,ResourceConfiguration状态网络服务实例是特定于 资源类型的。但是,本发明提出由每个ResourceConfiguration状态 网络服务实例提供最小接口 (操作集和属性集)。每个这样的服务至 少具有以下两个属性
- resourceType (资源类型)标识ResourceConfiguration与 其相关联的资源的类型;当由ResourceConfiguration状态网络服务 实例的图形创建克隆资源结构时需要该信息。存储在 ResourceConfiguration状态网络服务实例中的配置数据只可以被应 用到所陈述的类型的资源。
-时间戳标识当ResourceConfiguration状态网络服务实例已 经被创建、即配置快照已经被获取时的日期和时间。这是要区分同一 状态资源实例的几个ResourceConfiguration。
此外,缺省接口必须提供用于检索ResourceConfiguration状态 网络服务实例的所述属性的装置。
对于如图1C所示的ResourceConfiguraUon状态网络服务实例,
该缺省接口被显示为32!、 [35I和[38j。本发明需要该接口,以便获取 配置快照并基于其创建克隆资源结构。
此外,每个ResourceConfiguration状态网络服务实例提供特定 于资源类型的接口 (操作集和属性集)(图1C中的[33
、[36
和[39)。 该接口所提供的操作和属性的集合由资源开发者确定。例如,对于与 操作系统服务/资源7相关联的ResourceConfiguration31,特定于类 型的属性将包括"patchLevel"和"userAccounts"。因为资源类型的 setConfiguration操作也是类型特定的,并且由资源开发者实现,因 此封装资源的状态服务的实现"知道"ResourceConfiguration无状态 网络服务实例的特定于类型的操作和属性,从而其可以利用该信息工
作,并将其应用到资源实例。
例如,当激活操作系统状态服务上的setConfiguration时,服务 "知道,,配置数据包含项目"patchLevel,,和项目"userAccounts",并且 服务"知道"如何将这两个配置项目应用到资源类型操作系统(例如, 安装patchLevel属性所指示的所有补丁,并创建在userAccounts属 性中所列出的所有用户帐号)。
根据先前荻得的配置快照构建克隆资源结构
在前面的段落中所解释的步骤中,已经获得了资源结构的配置。 该配置被存储在图形中,其中节点是保持各个资源的配置数据的 ResourceConfiguration状态网络服务实例,边是这些单个配置之间的 关系并反映原始资源结构中资源之间的关系。基于该配置图形,新的 资源结构(其被称为原始资源结构的克隆)可以被创建,其具有与原 始资源结构相同的配置和拓朴。该过程如图1D所示。客户机22拥有50到 ResourceConfiguration 状态网络月艮务实例31的 EndpointReference , 其是整体表示原始资源结构的配置的 ResourceConfiguration状态网络服务实例图形的锚点或根节点。在网 络服务容件[30、即应用服务器中为所有ResourceConfiguration状态 网络服务实例提供主机服务。配置数据被存储在附接到应用服务器的数据库[43中,并且例如可以使用EJB来对其进行访问。
客户机在ConfigurationManager[24上发出请求51以根据在源 自ResourceConfiguration状态网络服务实例31的配置图形中包含 的信息创建资源结构。请求的参数包括服务[31的EndpointReference 以及资源结构应该被创建在其中的主机基础设施(例如,具有物理和 逻辑IT资源的数据中心、资源注册表、资源池、资源工厂(source factory)等等)的位置。ConfigurationManager现在可以查询[53
ResourceConfiguration状态网络服务实例[311,以便获知该配置被应 用到的资源的类型(在本例子中是"操作系统,,)。该查询在由每个 ResourceConfiguration 状态网络月l务实例实现的缺省 ResourceConfiguration接口32上发出。已经获得了资源的类型, ConfigurationManager现在可以在主机基础设施中得到所请求的资 源的实例(例如,创建新的资源,或从免费池(free pool)获得资源)。 这由表征状态服务/资源55的创建的箭头[54指示。
主机基础i殳施的布局以及该基础i殳施管理资源的方式不属于本 文的范围。典型地,这样的基础设施将包括多个查找资源的注册表、 创建新资源实例的工厂(factory)和可用资源的池。此外,基础设施 包括网络服务主机环境[66](应用服务器),其用作用于到IT资源的 状态网络服务前端接口的容件。
类型操作系统服务的状态服务55由应用服务器[66提供主机服 务,并且可经由EndpointReference寻址。存在到"实际"IT资源[68
的通信链路[71,以激活资源上的动作或者查询状态数据。此外,状 态数据可以被存储在数据库[67中。
在创建状态服务/资源[55之后,ConfigurationManager激活[74
服务55的ConfigurationManager接口56上的setConfiguration操 作。到 ResourceConfiguration 状态网络月艮务实例pi]的 EndpointReference作为参数被传递。操作系统服务55现在可以将存 储在ResourceConfiguration状态网络服务实例[31中的配置数据应 用到其自身,或者应用到IT资源[68(即安装由"patchLevel"配置项
目所指示的操作系统补丁和创建在"userAccounts,,配置项目中所列出 的用户帐号)。为此,[55激活ResourceConfiguration状态网络服务 实例的特定于资源类型的接口[33I上的操作,并检索所有资源类型特 定配置选项。这由图 1D 中的箭头751表示。在 ConfigurationManager24已经创建和配置月良务/资源[55之后,其通 过各个配置之间的以下状态网络服务链路来继续遍历 ResourceConfiguration 状态网络月i务实例的图形。 ConfiguratioiiManager跟随链路[401,并查找ResourceConfiguration 状态网络服务实例[341。再次,ConfigurationManager使用缺省接口 [35I来获知配置被应用到的资源的类型(在这个例子中是"应用服务器 应用")。接下来,新的状态服务/资源实例[58"应用服务器"在主机 基础i殳施上被创建。ConfigurationManager[24然后激活服务58的 ConfigurationManager 接口 [59上的 setConfiguration , 并将 EndpointReference传递给ResourceConfiguration34J。月良务58I将特 定于资源类型的配置数据(其是通过ResourceConfiguration状态网 络服务实例[34j的特定于资源类型的接口[36I而获得的)应用到其自身 或者应用到"实际的"IT资源69。在下 一 步骤中, ConfigurationManager在"主机,,关系64j中将服务/资源[55和[58I二 者相关联。这样的关系的创建可以是利用状态网络服务关系的逻辑链 路的简单创建,或者其可以包括配置和安装步骤。在本例子中,关系 [64可以通过在操作系统映像(服务55/资源681)上安装应用服务器 软件(由服务58/资源691表示)而被创建。
ConfigurationManager现在继续遍历配置图形。其查找 ResourceConfiguration状态网络服务实例37],创建新的服务/资源61,将配置应用到新的资源,并建立新的资源(在本例中是"数据库 软件,,)和先前所创建的操作系统服务/资源之间的关系651。在过程 的末尾,新资源结构已经被创建,其具有与原始资源结构相同的配置 和拓朴。
根据配置图形创建克隆资源结构通常并不像在给出例子中所概
述的那样直接。在实际情况下,通常需要按一定顺序执行安装和配置
步骤(例如,在资源B之前创建资源A,连接资源A和B,即创建关 系,然后将配置数据应用到资源A和B)。查找必须在主机基础设施 上和资源上执行的动作的正确顺序受到规划算法的影响,并且不属于
本发明的范围。 部署考虑
在附图中,显示了 3个单独应用服务器作为用于封装源资源结构 的资源、克隆资源结构的资源和ResourceConfiguration状态网络服 务实例的状态网络服务的主机环境。这意味着源系统、克隆系统和为 ResourceConfiguration状态网络服务实例提供主机服务的系统可以 在不同地理站点被部署。经由网络(可能是因特网)利用网络服务调 用来进行通信。虽然这是有效的情况,但是也可以使所有状态网络服 务在一个站点、甚至在一个应用服务器处被提供主机服务。
ConfigurationManager ;故显示没有关于主机环境的暗示的单独 独立实体。 一个可能性也可以是将ConfigurationManager也作为状 态服务部署在应用服务器之一中。此外,具有多个 ConfigurationManager (每个站点一个)的部署选项可以被选择,其 中一个ConfigurationManager可以被用于获取配置快照,另一个可 以被用来创建克隆资源结构。
参考本发明说明书的图1A-D,本发明提出的扩展已经被指定 和解释,即包括(l)在封装资源的服务上的两个新操作和(2)新的 状态月艮务类型ResourceConfiguration。
在说明书的以下部分中,将解释这两个发明性扩展的其他实施例 的更多细节。
通过两个操作getConfiguration和setConfiguration扩展封装资 源的状态服务的接口 。第一个操作允许调用者检索资源的操作状态。 该状态被存储在ResourceConfiguration状态网络服务实例的实例中 (参见以下);到该ResourceConfiguration状态网络月良务实例的
EndpointReference 由 getConfiguration操作返回。第二个操作 setConfiguration将ResourceConfiguration状态网络月良务实例的 EndpointReference作为输入,并将存储在该ResourceConfiguration 状态网络服务实例中的配置数据应用到被状态服务封装的资源。
通过所述两个操作扩展状态服务包括(必须由资源开发者进行) 通过两个新的操作getConfiguration和setConfiguration扩展月l 务描述(WSDL )
通过必要的业务方法getConfiguration和setConfiguration扩展 服务端点实现(可执行代码)。例如,如果利用EJB无状态会话小系 统(bean)来实现服务,那么必须通过具有所述名称的两个公共方法 扩展小系统。
"getConfiguration,,操作
"getConfiguration,,的实现必须执行以下列出的任务
-创建ResourceConfiguration状态网络服务实例的新的实例, 用于存储所封装资源的配置数据。这是通过激活对该资源的 ResourceConfiguration状态网络服务实例的无状态工厂(factory )操 作而进行的(参见以下)。到新ResourceConfiguration状态网络服 务实例的EndpointReference (EPR)被返回。月良务现在可以使用该 EndpointReference ( EPR)来将数据存储在ResourceConfiguration 状态网络服务实例中。
-从封装的资源中(经由资源管理器)提取配置数据,并将该配 置数据存储在新的ResourceConfiguration状态网络服务实例中。
-和/或从服务本身的状态数据中提取配置数据,并将其存储在 新的ResourceConfiguration状态网络月艮务实例中。
-和/或程序地编译一组配置数据项目,并将其存储在新的 ResourceConfiguration状态网络服务实例中。
-将新的ResourceConfiguration状态网络服务实例的EPR (其 现在包含资源的所有相关配置数据)返回给调用者。
"setConfiguration,,操作
setConfiguration数据的实现必须执行以下列出的任务
-使用作为参数被传递给该操作的EPR来联系相关联的 ResourceConfiguration 状态网络月良务实例并从该 ResourceConfiguration状态网络服务实例中检索所有配置数据
-将每个配置数据项目应用于所封装的资源中
在资源管理器上执行合适的命令以配置资源
经由资源管理器在资源上存储配置数据
-和/或将配置数据应用到其自身(即,封装资源的状态服务), 这是用于导致状态服务本身变化且不需要与被封装资源的交互的配 置数据。
新的ResourceConfiguration状态网络服务实例
必须由资源开发者提供的本发明的另 一 实施例为
ResourceConfiguration状态网络服务实例的实现人工产物(artifact)
以存储相应资源的配置数据。 这些人工产物包括
-ResourceConfiguration状态网络服务实例(WSDL )的服务
描述
一 ResourceConfiguration状态网络服务实例的网络服务(WS ) 端点(例如,WS路由器小服务程序)
-ResourceConfiguration状态网络服务实例的WS端点实现(可
执行代码)
端点实现例如可以以EJP无状态会话小系统的形式给出,其利 用用于存储ResourceConfiguration状态网络服务实例的状态数据的 EJP实体小系统。注意,这样的实现仅仅是实现状态网络服务的许多
可能的方法之一!
上述所有人工产物被一起打包在EAR文件中,其可以被部署到 应用服务器上。响应于接收到客户机请求,服务器于是可以执行用于
ResourceConfiguration 状态网络月艮务实例的4戈码。 ResourceConfiguration状态网络服务实例的 一个操作是无状态工厂 操作,其允许客户机创建ResourceConfiguration状态网络服务的新 实例。借助于该工厂操作,封装资源的状态服务因此可以从其 "getConfiguration,,操作中创建ResourceConfiguration状态网络月良务 实例(参考上述内容),并将其配置数据存储在新的 ResourceConfiguration状态网络月艮务实例中。
包含ResourceConfiguration状态网络服务实例人工产物的EAR 文件也可以被部署在保持包含封装资源的状态服务的EAR文件的相 同应用服务器上。在该情况下,在创建ResourceConfiguration状态 网络服务实例时,状态服务将与本地应用服务器通话。替换地, ResourceConfiguration EAR文件可以被部署在远程应用服务器上。 所产生的ResourceConfiguration状态网络服务实例的地址(即与 ResourceConfiguration WS端点的相关URL结合的远程服务器的地 址)于是必须被封装资源的状态服务知道。
在图2A-C中,更详细地解释克隆资源结构的发明性方法的优选 实施例。本发明的方法优选地包括以下单个过程步骤
获得资源结构的配置(参见图2A),
创建资源配置实例(参见图2B),和
从配置图形中创建资源结构(参见图2C)。
获得资源结构的配置的详细流程(参见图2A) 之前的情形
-客户机具有工作IT环境,其中资源以资源图形被组织
-客户机可以经由对封装资源的状态网络服务的
EndpointReference i方问资源
-客户机具有到根资源的EPR,其中根资源即通过遍历状态网
络服务关系可以从中查找所有其他资源的图形中的资源。
一客户才几知道ConfigurationManager的地址 流程
-客户机用请求激活ConfigurationManager ( CM ),以获取源 自特定根资源处的资源图形的配置快照;根资源的EPR作为参数被 传递
-CM激活根资源上的"getConfiguration"操作
-资源创建存储资源的所有配置数据的ResourceConfiguration 状态网络服务实例
-因为当前正被处理的资源是根资源,因此所创建的 ResourceConfiguration状态网络服务实例的EPR被临时存储,并且 随后将被返回给客户机(该ResourceConfiguration状态网络服务实 例将是表示源资源结构整个配置的配置图形的根配置)
一 CM查询相关资源的资源(这些相关资源可以经由状态网络月良 务关系被查找);相关资源的集合被返回
一如果相关资源,皮找至l],贝'J当前资源的ResourceConfiguration 状态网络服务实例的EPR被暂时存储,为每个相关资源创建 ResourceConfiguration状态网络月良务实例(通过激活资源的 "getConfiguration,,操作),新的ResourceConfiguration状态网络月良 务实例在与当前资源的ResourceConfiguration状态网络服务实例的 关系中被相关联;
在每个资源和其相关资源上递归地重复此操作。
-如果资源的整个图形已经被遍历,并且已经创建了具有与资源 图形相同的拓朴的ResourceConfiguration状态网络服务实例的图形, 则根ResourceConfiguration状态网络服务实例的EPR被返回给客户 机。
之后的情形
-客户机现在拥有到表示整个系统配置的配置图形所源自的根 ResourceConfiguration状态网络服务实例的EPR。
创建ResourceConfiguration状态网络服务实例的详细流程(参 见图2B)
之前的情形
-IT资源被状态网络服务接口封装 -客户机经由状态网络服务接口访问资源
-资源的配置包括存储在资源上的配置数据,状态网络服务的 状态数据
-封装资源的状态网络服务接口知道用于存储资源的配置数据 的特定于类型的ResourceConfiguration状态网络服务实例的地址 流程
-"getConfiguration"操作被激活
-状态网络服务接口通过激活ResourceConfiguration状态网络
服务实例的工厂操作来创建新的特定于资源类型的 ResourceConfiguration状态网络月艮务实例
-到新ResourceConfiguration状态网络服务实例的EPR被暂时
存储并随后将被返回给CM
-封装资源的状态网络服务收集资源的配置数据 .从资源中检索配置数据
收集包含在状态网络服务的状态本身中的配置数据
."在处理中地(on-the-fly),,程序编译一些配置数据,例如,
创建可以随后在目标资源上被运行的一些配置脚本
一配置数据经由网络服务调用被存储在ResourceConfiguration
状态网络服务实例中
-新ResourceConfiguration状态网络服务实例的EPR被返回被
被调用者
之后的情形
-新的ResourceConfiguration状态网络服务实例已经被创建,
其存储资源的全部配置状态
-调用者拥有到该ResourceConfiguration状态网络服务实例的
EPR。
从配置图形创建IT资源结构的详细流程(参见图2C) 之前的情形
-客户机拥有到表示整个系统配置的配置图形所源自的根 ResourceConfiguration状态网络月良务实例的EPR
-客户机知道目标主机基础设施、即目标资源结构应该被创建在
其中的主机基础设施的 ConfigurationManager 的地址(该 ConfigurationManager和基础设施可以是与源资源结构相同的)
流程
-客户机使用请求激活 CM 以根据存储在 ResourceConfiguration状态网络服务实例的图形中的配置数据创建 资源结构;到根ResourceConfiguration状态网络服务实例的EPR作 为参数被传递
-CM检索ResourceConfiguration状态网络月良务实例与其相关 联的资源的类型
-CM向主机基础设施请求合适的资源类型的新实例(例如,主
机基础设施具有用于每个资源类型的免费池;该池包含具有状态网络 服务接口的IT资源;这不属于本发明的范围)
-CM激活新资源上的"setConfiguration",将当前正被处理的 ResourceConfiguration状态网络服务实例的EPR传递给资源
-存储在该ResourceConfiguration状态网络服务实例中的配置 数据被应用到资源
一因为根ResourceConfiguration状态网络服务实例正被处理, 因此相应根资源的EPR被暂时存储,并且将随后被返回给客户机
-CM查询相关配置的当前ResourceConfiguration状态网络月良
务实例(这些相关配置可以经由状态网络服务关系被找到);相关配 置的集合被返回
-对于找到的每个相关ResourceConfiguration状态网络服务实 例,从主机基础设施获取适当类型的资源,配置被应用于该资源,并 且新资源和上一次创建(即,父)资源之间的关系被建立;
这在每个ResourceConfiguration状态网络服务实例和其相关配 置之上被递归地重复
—如果整个配置图形已经被遍历,并且具有与配置图形相同拓朴 的资源图形已经被创建,则根资源的EPR被返回给客户机
之后的情形
-拓朴和配置与由ResourceConfiguration状态网络服务实例的 图形所描述的相同的资源结构已经被创建 -根资源的EPR已经被返回给客户机 -客户机现在可以使用新的资源结构;
经由由EPR寻址的状态网络服务访问资源;所有资源可以通过 遍历在根资源处开始的关系而被找到。
权利要求
1.一种用于自动克隆现有IT资源结构的方法,其中所述IT资源结构的每个资源都可经由状态网络服务被访问,其中每个状态网络服务提供特定于资源类型的网络服务接口以查询所述被指定资源的配置状态和/或在所述被指定资源上操作的建立,其特征在于每个状态网络服务还提供用于提供操作“getConfiguration”和“setConfiguration”的接口,其中所述方法包括以下步骤利用所述“getConfiguration”操作获取每个资源的包括其与其他资源的关系的配置状态的快照,以及为每个资源存储所述配置状态作为单独的“ResourceConfiguration状态网络服务实例”;通过使用所述快照自动建立图形,其中所述图形中的节点表示所述ResourceConfiguration状态网络服务的实例,其中每个ResourceConfiguration状态网络服务实例提供对于特定资源的配置数据的访问,并且所述图形的边表示所述ResourceConfiguration状态网络服务实例之间的关系,以及基于所述图形创建新的IT资源结构,并使用所述操作“setConfiguration”以将相应的所述ResourceConfiguration状态网络服务实例所提供的所述配置状态应用于所述新IT资源结构中相应的所述资源。
2. 才艮据权利要求l的方法,其中所述ResourceConfiguration状 态网络服务实例提供ResourceConfiguration状态网络服务实例被指 定给的资源类型的属性、以及标识在ResourceConfiguration状态网 络服务实例已经被创建时的日期和时间的时间戳。
3. 才艮据权利要求2的方法,其中所述ResourceConfiguration状 态网络服务实例还提供特定于资源类型的属性,其表示所述 ResourceConfiguration状态网络服务实例被指定给的资源的配置状态。
4.根据权利要求l的方法,其中所述获取快照和利用所述快照 自动建立图形的步骤包括以下步骤从由管理员所识别的根资源开始遍历所述IT资源结构,利用操作"getConfiguration,,为所述根资源创建 ResourceConfiguration状态网络月良务实例,确定所述根资源的相关资源并为每个相关资源创建 ResourceConfiguration状态网络服务实例,在状态网络服务关系中将所述相关ResourceConfiguration状态 网络服务实例与所述根ResourceConfiguration状态网络服务实例相 关联,以及为所述IT资源结构的每个资源递归地重复上述步骤。
5.根据权利要求4的方法,其中通过导航封装所述资源的状态
6.根据权利要求l的方法,其中所述创建新结构的步骤还包括 以下步骤从由管理员所识别的根ResourceConfiguration状态网络服务实 例开始遍历所述ResourceConfiguration状态网络服务实例的图形,为其被指定给的资源类型,查询所述ResourceConfiguration状 态网络服务实例,向资源管理器请求所述类型的资源,通过激活所述操作"setConfiguration", 将存储在所述 ResourceConfiguration状态网络月良务实例中的配置状态应用于所述 资源, 确定相关ResourceConfiguration状态网络服务实例,以及 请求用于每个相关ResourceConfiguration状态网络J艮务实例的资源并将存储在相应的所述ResourceConfiguration状态网络月l务实例中的相应配置应用于所述被请求的资源。
7. 根据权利要求5的方法,其中所述操作"setConfiguration,,将 ResourceConfiguration状态网络服务实例的地址作为输入参数,并读 取存储在ResourceConfiguration状态网络服务实例中的所述配置状 态并将其应用于相应资源。
8. 根据权利要求l的方法,其中所述状态网络服务实例可通过 EndpointReference被寻址。
9. 一种用于自动克隆现有IT资源结构的系统,其中所述IT资 源结构的每个资源可经由状态网络服务被访问,其中每个状态网络服 务提供特定于资源类型的网络服务接口以查询所述被指定资源的配 置状态和/或在所述被指定资源上操作的建立,其特征在于每个状态网络服务还提供用于提供操作 "getConfiguration,, 和 "setConfiguration" 的ConfiguradonManagement接口 ,其中所述系统的特征在于以下装置用于利用所述操作"getConfiguration,,获取每个资源的包括其与 其他资源的关系的配置状态的快照的装置,以及用于为每个资源存储 所述配置状态作为单独"ResourceConfiguration状态网络服务实例" 的装置,用于利用所述快照自动建立图形的装置,其中所述图形中的节点 表示所述ResourceConfiguration状态网络服务的实例,其中每个 ResourceConfiguration状态网络服务实例提供对特定资源的配置数 据的访问,所述图形的边表示所述ResourceConfiguration状态网络服务实例之间的关系,以及用于基于所述图形创建新IT资源结构并使用所述操作 "setConfiguration,,以将相应的所述ResourceConfiguration状态网络 服务实例所提供的所述配置状态应用于所述新IT资源结构中相应所 述资源的装置。
10. 根据权利要求9的系统,其中所述ResourceConfiguration 状态网络服务实例提供ResourceConfiguration状态网络服务实例被 指定给的资源类型的属性,以及标识在ResourceConfiguration状态 网络服务实例已经被创建时的日期和时间的时间戳。
11. 才艮据权利要求10的系统,其中所述ResourceConfiguration 状态网络服务实例还提供资源类型特定的属性,其表示所述 ResourceConfiguration状态网络服务实例被指定给的资源的配置状 态。
12. 根据权利要求9的系统,其中所述用于获取快照的装置和用 于利用所述快照自动建立图形的装置包括用于从由管理员所识别的根资源开始遍历所述IT资源结构的装置,用于利用操作"getConfiguration"为所述才艮资源创建 ResourceConfiguration状态网络服务实例的装置,用于确定所述根资源的相关资源并为每个相关资源创建 ResourceConfiguration状态网络服务实例的装置,用于在状态网络服务关系中将所述相关ResourceConfiguration 状态网络服务实例与所述根ResourceConfiguration状态网络月良务实 例相关联的装置,以及用于为所述IT资源结构的每个资源递归地重复上述步骤的装置。
13. 根据权利要求9的系统,其中所述用于创建新结构的装置还包括用于从由管理员所识别的根ResourceConfiguration状态网络月艮 务实例开始遍历所述ResourceConfiguration状态网络服务实例图形 的装置,用于为其被指定给的资源类型查询所述ResourceConfiguration状态网络服务实例的装置,用于向资源管理器请求所述类型的资源的装置,用于通过激活所述操作"setConfiguration"而将存储在所述ResourceConfiguration状态网络服务实例中的配置状态应用于所述资源的装置,用于确定相关ResourceConfiguration状态网络服务实例的装 置,以及用于请求用于每个ResourceConfiguration状态网络服务实例的 资源并将存储在响应的所迷ResourceConfiguration状态网络服务实 例中的相应配置应用于所述被请求资源的装置。
14. 一种计算机程序产品,包括用于执行权利要求1到8中任一 项的方法的计算机可执行指令。
全文摘要
本发明提供了一种通过使用一种新的配置管理方法而自动克隆状态网络服务环境中IT资源结构的方法、系统和计算机程序产品。新方法将每个资源的配置状态建模为状态网络服务。配置数据将由该服务的资源属性提供。不同资源的配置之间的关系被建模为网络服务实例之间的“状态网络服务关系”。这些关系可以被导航,这允许以基于标准的方式探究整个系统的配置。此外,由封装资源的状态网络服务提供新的网络服务接口。该接口提供两个新操作“getConfiguration”允许使用者获取资源和相关资源的配置状态的快照,“setConfiguration”允许将资源的配置状态设置为先前保存的状态。“getConfiguration”的激活导致创建新的状态网络服务实例,其存储每个资源的配置状态。基于每个资源类型而实现该新的网络服务接口。任何后端技术可以被用来实现该新的网络服务接口。
文档编号H04L12/24GK101351992SQ200680049608
公开日2009年1月21日 申请日期2006年12月21日 优先权日2006年1月27日
发明者G·布雷赫, J·布雷赫, M·贝赫伦德, T·斯帕特齐尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1