基于WSDM的Web服务分布式管理系统和管理方法转让专利

申请号 : CN200810118127.8

文献号 : CN101340368B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 怀进鹏陈媛媛曾浩李竹青

申请人 : 北京航空航天大学

摘要 :

一种基于WSDM的Web服务分布式管理系统,包括资源容器、功能实现模块和功能选择模块;管理方法的步骤为:A、分析被管对象的基本特征和属性;B、基于以上可管理性和属性分析对被管对象进行建模,将这些被管理对象建模成Web服务资源的形式;C、通过前述的管理系统对以上建模好的资源进行管理。D、管理消费者通过管理系统获得管理数据,进行分析展现。本发明由于将所有的被管理对象统一的表示成Web服务资源的形式,通过对Web服务资源的管理达到对被管理对象管理的目的,因此屏蔽了被管理对象的异构性,同时提高了模型的兼容性,而且不需要开放管理端口,因此不存在安全隐瞒。

权利要求 :

1.一种Web服务分布式管理系统,其特征在于包括:资源容器、功能实现模块和功能选择模块,其中:资源容器,提供对有状态资源WS-Resource的存储、资源的查找、及资源生命周期管理,其中资源生命周期管理包括资源的创建和销毁;所述有状态的资源定义为:状态数据的详细集合、良好定义的标识和生命周期和被一个或多个Web服务知道与操作;

功能选择模块,对资源容器中的每一个有状态的资源WS-Resource均保存一个从资源属性到具体管理功能的映射表,并将具体的消费者的管理请求的属性名称映射到具体管理功能中;

功能实现模块,用来对具体的管理功能的实现,每一个功能实现中均保存着对应管理属性的状态;

当管理消费者将管理请求发送到管理系统时,首先由资源容器接收管理请求,并解析出资源的标识及资源属性,然后将解析出的资源标识及资源属性交给功能选择模块,功能选择模块根据资源标识找到此资源对应的属性功能映射表,然后通过资源属性名称从属性功能映射表中找到对应的管理功能,功能实现模块实现具体的管理功能,然后将管理功能交付给具体的管理对象,从被管理对象中获得具体的管理数据返回给功能实现模块,功能实现模块再将具体的管理数据交付给资源容器,资源容器构造返回的SOAP消息,返回给管理消费者。

2.根据权利要求1所述的Web服务分布式管理系统,其特征在于:所述的资源容器中资源的创建实现为:创建资源时,资源容器会创建相应的资源实例,对资源实例进行初始化并返回该资源对应的资源标识,为了能够在大量的资源实例之间保证资源标识的惟一性,资源容器使用系统当前时间加上一个随机数来标识一个资源,从而确保资源ID的惟一性。

3.根据权利要求1所述的Web服务分布式管理系统,其特征在于:所述的资源容器中资源的销毁实现为:资源的销毁是指在资源的生命周期耗尽时对资源的删除,资源容器首先通过资源的ID获得该资源的实例,然后资源容器将其删除。

4.根据权利要求1所述的Web服务分布式管理系统,其特征在于:所述的资源容器中资源的查找实现为:资源的查找是指资源容器根据名称找到资源中的对应的属性,然后获取属性的值或进行更新操作;首先通过资源ID获得该资源的实例,如果资源存在,那么得到它的子元素列表,然后对列表中的元素进行判断,如果元素名称与输入的属性名称相同,那么就进行属性值的获取或更新操作,否则作递归操作,直到找到该资源属性或访问失败。

5.根据权利要求1所述的Web服务分布式管理系统,其特征在于:所述的资源容 器中资源状态的存储:资源容器对资源的存储有三种,即存储在内存中、存储在硬盘中和存储在数据库中,其中资源状态存储在内存中能提供最好的性能,并能在最短的时间内对请求作出响应;资源状态存储在硬盘中是指将某些资源的状态以文件的形式存储在硬盘上,能够有效的防止系统崩溃带来的损失;资源的状态存储在数据库中,可以提供使用语句强大的查询机制。

6.根据权利要求1所述的Web服务分布式管理系统,其特征在于:所述的功能选择模块中的映射表至少包括以下内容:属性功能映射表

资源属性名称 管理功能名称

ResourceId IdentityCapability

Description DescriptionCapability

OperationalStatus OperationalStatusCapability Metrics MetricsCapability

State StateCapability

其中资源的属性名称包括:资源的标识ResourceId,资源的描述Description,资源的操作状态OperationalStatus,资源的统计数据Metrics,资源的状态State;管理功能名称包括:标识功能IdentityCapability,描述功能DescriptionCapability,操作状态功能OperationalStatusCapability,统计功能MetricsCapability,操作状态功能StateCapability;对每一个管理对象的管理功能的不同,映射表的长度也不同。

7.根据权利要求1所述的Web服务分布式管理系统,其特征在于:所述的功能实现模块对每一个功能实现中均保存着对应管理属性的状态的实现方法为两种:第一种方法是管理功能的实现每隔一段时间对被管理对象中对应的属性状态值进行查询,若被管理对象中对应的属性状态值改变了,功能实现模块中的功能实现就修改其中保存的管理属性的状态,使其保持一致;第二种方法是被管理对象的属性状态值改变后,主动通知功能实现模块中的功能实现,然后功能实现模块对其保存的管理属性的状态进行修改。

8.一种Web服务分布式管理方法,其特征在于包括以下步骤:

第一步,分析被管理对象的基本特征和属性;

第二步,基于以上可管理性和属性分析对被管理对象进行建模,将这些被管理对象建模,表示成有状态的资源WS-Resource形式;所述有状态的资源定义为:状态数据的详细集合、良好定义的标识和生命周期和被一个或多个Web服务知道与操作;

第三步,将以上建模好的有状态的资源WS-Resource放入权利要求1所述管理系统中的资源容器中进行管理,管理步骤如下: a.当管理消费者对被管理对象进行管理时,管理消费者首先发送基于SOAP消息的管理请求到资源容器;

b.资源容器解析该SOAP消息请求,从中提取资源标识符及属性名称,对管理操作的每一个SOAP消息请求都是一个XML片段,并且SOAP消息请求中都包含有资源ID和具体的资源属性名称,通过XML解析器解析可以获得资源的ID和资源属性名称;

c.资源容器解析SOAP消息,从中提取资源标识符及属性名称,对管理操作的每一个SOAP消息都是一个XML片段,并且SOAP消息中都包含有资源ID和具体的资源属性名称,通过XML解析器解析可以获得资源的ID和资源属性名称;

d.将获得的资源ID和资源属性名称发送到功能选择模块,从功能选择模块中保存的属性功能映射表中获得管理功能的名称;

e.根据步骤d中解析到的管理功能名称调用功能实现模块中的具体的管理功能实现,获得属性的状态值,返回给资源容器,由于功能实现模块中提供了功能实现中属性值与具体管理对象的属性状态值同步的机制,所以确保了返回的属性状态值即为被管对象的当前状态值;

f.资源容器获得步骤d返回的属性状态值,构造返回的SOAP消息,返回给管理消费者,完成了一次的管理过程。

9.根据权利要求8所述的Web服务分布式管理方法,其特征在于:所述的功能选择模块中的映射表至少包括以下内容:属性功能映射表

资源属性名称 管理功能名称

ResourceId IdentityCapability

Description DescriptionCapability

OperationalStatus OperationalStatusCapability Metrics MetricsCapability

State StateCapability

其中资源的属性名称包括:资源的标识ResourceId,资源的描述Description,资源的操作状态OperationalStatus,资源的统计数据Metrics,资源的状态State;管理功能名称包括:标识功能IdentityCapability,描述功能DescriptionCapability,操作状态功能OperationalStatusCapability,统计功能MetricsCapability,操作状态功能StateCapability;对每一个管理对象的管理功能的不同,映射表的长度也不同。

说明书 :

基于WSDM的Web服务分布式管理系统和管理方法

技术领域

[0001] 本发明涉及一种基于WSDM的Web服务分布式管理系统和管理方法,主要应用于对Web服务和Web服务运行容器的管理,也可以用于对其他可被管理的IT对象的管理。

背景技术

[0002] Web服务如今已经成为分布式计算中最流行的范例,通过Web服务技术来实现面向服务的架构,企业可以灵活的解决企业内和企业间的业务集成问题。由于Web服务越来越被广泛地整合到企业的商务应用中,服务的管理和性能监控等问题也日渐突显出来,使得监控和管理它们的需求变得尤为重要。然而由于Web服务的应用可以跨不同的企业、主机、操作系统,因此对Web服务的测量、控制就会成为一个问题。对Web服务进行管理,包括对Web服务本身的管理及使用Web服务对异构的及分布式的系统进行管理两部分。使用Web服务管理是指通过Web服务来开发被管对象或组件的可管理接口,使得管理系统有一种统一的方式来获得被管理对象的信息及发送控制命令。而Web服务的本身的管理关注的是检测和控制Web服务本身以及支撑它们运行的环境,以确保Web服务的质量。
[0003] 目 前 的 分 布 式 管 理 技 术 中 比 较 常 用 得 是 Java 管 理 扩 展(JavaManagementeXtensions,JMX)。JMX是一个为应用程序、设备、系统等植入管理功能的框架,它提供了标准的方法来管理资源,并且实现了动态代理来管理这些资源。JMX虽然是一种可以扩展的框架,但是它无法利用Web服务容器的现有功能,并需要开放管理端口,造成了安全隐患。另一种管理技术是Web服务分布式管理(Web Services DistributedManagement,WSDM),是OASIS组织提出的关于Web服务管理的规范,它是利用Web服务来解决管理集成的问题。此规范包括使用Web服务管理(MUWS)和Web服务的管理(MOWS)两部分。使用Web服务的管理(MUWS)规范定义了如何表示和访问作为Web服务的资源的可管理性接口。Web服务的管理(MOWS)规范定义了如何将Web服务作为资源来管理以及如何使用MUWS描述和访问可管理性。但这种Web管理技术只是一个管理规范,具体如何实现并未详细说明。

发明内容

[0004] 本发明的技术解决问题:克服现有技术的不足,提供一种基于WSDM的Web服务分布式管理系统及管理方法,该发明屏蔽了被管理对象的异构性,提高了模型的兼容性及管理的互操作性,且不需要开放管理端口,因此不存在安全隐瞒。
[0005] 本发明的技术解决方案:一种基于WSDM的Web服务分布式管理系统,包括:资源容器、功能实现模块和功能选择模块,其中:
[0006] 资源容器,提供对有状态资源WS-Resource的存储、资源的查找、及资源生命周期管理,其中资源生命周期管理包括资源的创建和销毁;
[0007] 功能选择模块,对资源容器中的每一个有状态的资源WS-Resource均保存一个从资源属性到具体管理功能的映射表,并将具体的消费者的管理请求的属性名称映射到具体管理功能中;
[0008] 功能实现模块,用来对具体的管理功能的实现,每一个功能实现中均保存着对应管理属性的状态;
[0009] 当管理消费者将管理请求发送到管理系统时,首先由资源容器接收管理请求,并解析出资源的标识及资源属性,然后将解析出的资源标识及资源属性交给功能选择模块,功能选择模块根据资源标识找到此资源对应的属性功能映射表,然后通过资源属性名称从属性功能映射表中找到对应的管理功能,功能实现模块实现具体的管理功能,然后将管理功能交付给具体的管理对象,从被管理对象中获得具体的管理数据返回给功能实现模块,功能实现模块再将具体的管理数据交付给资源容器,资源容器构造返回的SOAP消息,返回给管理消费者。
[0010] 一种基于WSDM的Web服务管理方法,它包括以下步骤:
[0011] 第一步,分析被管对象的基本特征和属性;
[0012] 第二步,基于以上可管理性和属性分析对被管对象进行建模,将这些被管理对象建模成Web服务资源的形式;
[0013] 第三步,将以上建模好的资源放入上述的管理系统中,即将建模好的资源放入管理系统的资源容器中进行管理,管理步骤如下:
[0014] a.当管理消费者对被管理对象进行管理时,管理消费者首先发送基于SOAP消息的管理请求到资源容器;
[0015] b.资源容器解析该SOAP消息请求,从中提取资源标识符及属性名称,对管理操作的每一个SOAP消息请求都是一个XML片段,并且SOAP消息请求中都包含有资源ID和具体的资源属性名称,通过XML解析器解析可以获得资源的ID和资源属性名称;
[0016] c.资源容器解析SOAP消息,从中提取资源标识符及属性名称,对管理操作的每一个SOAP消息都是一个XML片段,并且SOAP消息中都包含有资源ID和具体的资源属性名称,通过XML解析器解析可以获得资源的ID和资源属性名称;
[0017] d.将获得的资源ID和资源属性名称发送到功能选择模块,从功能选择模块中保存的属性功能映射表中获得管理功能的名称;
[0018] e.根据步骤c中解析到的管理功能名称调用功能实现模块中的具体的管理功能实现,获得属性的状态值,返回给资源容器。由于功能实现模块中提供了功能实现中属性值与具体管理对象的属性状态值同步的机制,所以确保了返回的属性状态值即为被管对象的当前状态值;
[0019] f.资源容器获得步骤d返回的属性状态值,构造返回的SOAP消息,返回给管理消费者,完成了一次的管理过程;
[0020] 本发明与现有技术相比的优点在于:
[0021] (1)本发明由于将所有的被管理对象统一的表示成基于WSDM的Web服务资源的形式,通过对Web服务资源的管理达到对被管理对象管理的目的,因此本发明面向资源,屏蔽了被管理对象的异构性。
[0022] (2)模型的兼容性。本发明基于WSDM的Web服务分布式管理方法由于基于WSDM,因此能够描述和封装任何资源模型(如CIM、SMNP、SID等)和封装任何资源模型,并为其提供相应的Web服务接口,因此,本发明的模型的兼容性好。
[0023] (3)本发明不需要开放管理端口,因此不存在安全隐患。现有技术中的JMX需要开放管理端口,这样造成了安全隐患,而本发明基于WSDM,WSDM不需要开放管理端口,因此使得WSDM与JMX相比,更适合于Web服务相关的管理。

附图说明

[0024] 图1为本发明的管理系统结构示意图;
[0025] 图2为本发明的管理方法的实现流程图;
[0026] 图3为本发明功能实现模块中保持功能实现的第一种方法的流程图。

具体实施方式

[0027] 本发明提出如下三个概念:可管理对象、管理系统、管理消费者,下面分别对这三个概念进行解释。
[0028] 可管理对象,即需要被管理的对象,某个领域里的一个逻辑的或者物理的组件,如打印机、磁盘、应用服务器如Web服务运行容器和工作流引擎、或者客户关系管理程序、Web服务、流程等,这些对象都有被管理的属性,都可被管理。
[0029] 管理系统主要有以下三部分组成:资源容器、功能实现模块和功能选择模块。资源容器,提供对有状态资源WS-Resource的存储、资源的查找、及资源生命周期管理,其中资源生命周期管理包括资源的创建和销毁;功能选择模块,对资源容器中的每一个有状态的资源WS-Resource均保存一个从资源属性到具体管理功能的映射表,并将具体的消费者的管理请求的属性名称映射到具体管理功能中;功能实现模块,用来对具体的管理功能的实现,每一个功能实现中均保存着对应管理属性的状态。
[0030] 管理消费者,关联着一个或多个可管理资源的可管理功能的使用者,能够按照给定的数据格式与管理系统进行通信,进而实现管理功能。
[0031] 下面结合附图对本发明进一步详细说明
[0032] 如图1所示,本发明的管理系统分为资源容器、功能选择模块和功能实现模块三部分。
[0033] 1、资源容器
[0034] 要说明资源容器,首先说明Web服务资源的概念。
[0035] Web服务资源是对有状态的资源的建模,用于Web服务消息交换时获取数据上下文,能够被创建,分配标识符并能够被销毁。WS-Resource是Web服务资源框架(Web ServicesResource FrameWork,WSRF)中的一个重要的概念,是为了解决传统的Web服务无状态的问题而提出的。一个Web服务实现能够被看成是一个无状态的消息处理器,它响应用户的请求并返回结果,但是它所实现的消息交换会经常的访问、更新其他系统组件所维持的状态,可能是数据库、文件系统或者其他实体。“状态”是一个模糊不清的概念,它可以是一个资源对象的属性,在这里把有状态的资源定义为:状态数据的详细集合;良好定义的标识和生命周期;被一个或多个Web服务知道、操作。
[0036] 资源容器提供了对资源状态的存储、资源的查找、及资源生命周期管理的机制,其中资源生命周期管理包括资源的创建和销毁。
[0037] 资源的创建:创建资源时,资源容器会实例化相应的资源实例,对其进行初始化并返回该资源对应的资源标识。为了能够在大量的资源实例之间保证资源标识的惟一性,资源容器使用系统当前时间加上一个随机数来标识一个资源,从而确保资源ID的惟一性。
[0038] 资源的销毁:资源的销毁是指在资源的生命周期耗尽时对资源的删除。资源容器首先通过资源的ID获得该资源的实例,然后资源容器将其删除。
[0039] 资源的查找:资源的查找是指资源容器根据名称找到资源中的对应的属性,然后获取属性的值或进行更新操作。首先通过资源ID获得该资源的实例,如果资源存在,那么得到它的子元素列表,然后对列表中的元素进行判断,如果元素名称与输入的属性名称相同,那么就进行属性值的获取或更新操作,否则作递归操作,直到找到该资源属性或访问失败。
[0040] 资源状态的存储:资源容器对资源的存储有三种,存储在内存中、存储在硬盘中和存储在数据库中。资源状态存储在内存中此方式能提供最好的性能,并能在最短的时间内对请求作出响应。资源状态存储在硬盘中是指将某些资源的状态以文件的形式存储在硬盘上,能够有效的防止系统崩溃带来的损失。资源的状态存储在数据库中,这种方式的优点是它可以提供使用SQL语句等强大的查询机制。
[0041] 2、功能选择模块
[0042] 功能选择模块对资源容器中的每一个资源都保存着一个资源属性到具体管理功能的映射表,如下表所示:
[0043] 属性功能映射表
[0044]资源属性 管理功能
ResourceId IdentityCapability
Description DescriptionCapability
OperationalStatus OperationalStatusCapability
Metrics MetricsCapability
State StateCapability
[0045] 其中资源的属性名称包括:资源的标识ResourceId,资源的描述Description为,资源的操作状态OperationalStatus,资源的统计数据Metrics,资源的状态State;管理功能名称包括:标识功能IdentityCapability,描述功能DescriptionCapability,操作状态功能OperationalStatusCapability,统计功能MetricsCapability,操作状态功能StateCapability。
[0046] 对每一个管理对象的管理功能的不同,映射表的长度也不同。上述映射表中的管理功能是每一个管理对象都可能具有的通用的管理功能。不同的管理对象还有其特有的属性及对应的管理功能。
[0047] 当管理消费者将管理请求发送到管理系统时,首先由管理系统中的资源容器接收管理请求,并解析出资源的标识ResourceId及资源属性,然后将解析出的资源标识ResourceId及资源属性交给功能选择模块。
[0048] 功能选择模块根据资源标识ResourceId找到此资源对应的属性功能映射表。然后通过资源属性名称从属性功能映射表中找到对应的管理功能。具体的方法是从前往后依次遍历映射表的属性列,若找到,则返回对应的管理功能,若遍历到映射表的最后还没找到,则返回空。然后功能选择模块根据查找到的管理功能的名称调用功能实现模块中对应的管理功能实现。
[0049] 3、功能实现模块
[0050] 功能实现模块用来对具体的管理功能的实现,每一个功能实现中保存着对应管理属性的状态。为了确保每一个功能实现中保存着的管理属性的状态与真正的管理对象中的管理属性的状态一致,采用了两种方法。第一种方法是管理功能的实现每隔一段时间的对被管理对象中对应的属性状态值进行查询,若被管理对象中对应的属性状态值改变了,功能实现就修改其中保存的管理属性的状态,使其保持一致(如图3所示)。第二中方法是被管理对象的属性状态值改变后,主动通知功能实现模块中的功能实现,然后功能实现模块对其保存的管理属性的状态进行修改。
[0051] 同时,管理消费者可能会发出修改被管对象状态的请求。当用户发送请求时,功能实现会首先修改其中保存的属性的状态,并将值同步修改到被管对象中。
[0052] 4.三个模块之间的相互关系
[0053] 图1清楚的说明了三个模块之间的相互关系,当一个被管理对象通过此管理系统进行管理时,流程如图3所示,分为如下几步:
[0054] 当管理消费者将管理请求发送到管理系统时,首先由资源容器接收管理请求,并解析出资源的标识及资源属性,然后将解析出的资源标识及资源属性交给功能选择模块,功能选择模块根据资源标识找到此资源对应的属性功能映射表,然后通过资源属性名称从属性功能映射表中找到对应的管理功能,功能实现模块实现具体的管理功能,然后将管理功能交付给具体的管理对象,从被管理对象中获得具体的管理数据返回给功能实现模块,功能实现模块再将具体的管理数据交付给资源容器,资源容器构造返回的SOAP消息,返回给管理消费者。
[0055] 5.本发明的管理方法主要分为以下几个步骤:
[0056] 第一步:分析被管理对象的基本特征和属性
[0057] 被管对象的基本管理特征有性能、安全策略、稳定性、可观察性、可控性、状态模型、可操作的状态、度量信息等。下面以Web服务容器为例,说明被管理对象的管理特征和属性。对Web服务容器的管理包括对Web服务本身及支撑运行Web服务组件的管理。
[0058] (1)Web服务
[0059] 首先是Web服务,对Web服务的管理包括对它们的质量如有效性、性能等及它们的状态的管理。下面是它的详细管理信息。
[0060] ◆Web服务的QOS
[0061] 可用性(Availability):可用性是用来刻画Web服务是否立即可用方面的服务质量。
[0062] 性能(Performance):性能是用来测量Web服务的吞吐量和响应时间方面的服务质量。吞吐量用来表示在给定的一段时间内Web服务被请求服务的次数。响应时间是指从客户端发送请求消息开始到响应消息返回到客户端之间的来回时间。
[0063] 稳定性:稳定性是指Web服务在提供服务时的度量。稳定性包括可用率、成功率、和可达率。可用率是指Web服务容器正常工作的时间比率,可达率是指在Web服务容器可用的情况下,它能接收请求的百分比,成功率是指Web服务请求被成功处理的比率。
[0064] ◆Web服务的度量
[0065] 在 MOWS 中 定 义 了 Web 服 务 度 量 属 性,包 括 NumberOfRequests、NumberOfFailedRequests、NumberOfSuccessfulRequets、ServiceTime、MaxResponseTime、AvarageResponseTime。
[0066] NumberOfRequests是指Web服务端点所收到的请求数,NumberOfFailedRequests是指Web服务端点接收SOAP消息并返回错误SOAP消息的个数,ServiceTime指Web服务端点处理正确调用或错误调用的总时间,AvarageResponseTime是指Web服务在处理请求调用时的平均响应时间,它是用于测量Web服务负载的一个非常重要和有用的指标。
[0067] ◆Web服务的生命周期
[0068] Web服务对象和其他技术架构中的对象一样,存在着生命周期的概念。其中Web服务的整个生命周期的状态有运行态和非运行态两种。运行态又分为空闲态和忙态两种。非运行态又分为停止态、中断态和饱和态三种。
[0069] (2)Web服务容器即Web服务运行支撑环境
[0070] 容器的启动、暂停、停止。
[0071] 系统工作负荷监视,包括:
[0072] 完成的请求数
[0073] 待定请求数
[0074] 正在执行的请求数
[0075] 非正常执行的请求数
[0076] 最长等待时间
[0077] 当前等待时间
[0078] 系统的基本信息,包括容器的名称、状态、运行状况、监听端口、启动时间、版本信息、OS名称、OS版本。
[0079] 相关组件的基本信息,如线程池统计信息、对象池统计信息、内存利用率、Java虚拟机监视。
[0080] 第二步:基于以上可管理性和属性分析对被管对象进行建模,将这些被管理对象表示成资源的形式。
[0081] 因为基于WSDM的分布式管理方法的核心概念就是将被管理对象当成Web服务资源管理,Web服务资源的概念在管理系统中已经进行了说明。
[0082] 有了Web服务资源的概念,就可以定义WSDM资源,一个WSRF中定义的资源被注入有关管理方面的属性和功能即称为WSDM资源。后面使用的“资源”一词指的都是“WSDM资源”。
[0083] 以Web服务容器为例,把Web服务本身当作资源实体来看,它是有状态的,Web服务具有的生命周期,Web服务的QOS的指标例如Web服务的吞吐量、响应时间、稳定性等都可以是这个资源实体的状态。而对于Web服务的运行支撑环境,它的对象池、线程池、Java虚拟机都可以看成资源,对象池的大小、线程池的使用调度信息、Java虚拟机的使用情况都可以看作是它们的状态,而且Web服务运行环境本身也可以看作是资源,它的一些基本的运行数据可以看作是它的状态。当使用WSDM的概念对它们进行管理时,那么就需要使用WS-Resource对它们进行建模。
[0084] 建模方法:把每一个管理指标创建为资源的一个属性,这里提供一种用XML文档的形式来展现资源的属性,该文档中的顶层元素包含了该可管理资源的所有属性,以Web服务容器为例,下面是具体步骤:
[0085] a.创建资源的标识功能,标识的目标是判断两个实体是否相同,该功能对应的属性描述为ResourceID。每个可管理资源都必须提供该属性,XML文档Schema的定义:
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095] b.创建对资源的描述功能即Description,该功能包括三个属性:Caption,Description,and Version。对上述的Schema进行扩展,如下所示:
[0096]
[0097]
[0098]
[0099]
[0100]
[0101]
[0102] minOccurs=″0″maxOccurs=″unbounded″/>[0103]
[0104] minOccurs=″0″maxOccurs=″unbounded″/>[0105]
[0106] minOccurs=″0″/>
[0107]
[0108]
[0109]
[0110]
[0111] c.创建资源的操作状态功能即Operational Status,该功能定义了一个资源的可用性。操作状态属性包括以下几个:Available:资源运行良好,可以接收新请求;Unavailable:资源崩溃,不接收新请求;PartiailyAvailable:半好半坏;Unknown:未知。
继续对Schema进行扩展:
[0112]
[0113]
[0114]
[0115]
[0116]
[0117]
[0118] minOccurs=″0″maxOccurs=″unbounded″/>[0119]
[0120] minOccurs=″0″maxOccurs=″unbounded″/>[0121]
[0122] minOccurs=″0″/>
[0123] [0124]
[0125]
[0126]
[0127]
[0128] 所有的创建资源属性的方法都如上面a、b、c所示,对于所有可管理资源来讲,比较通用的属性还有度量Metrics、状态State。当然对于特定的资源有它特定的管理功能,所以可以定义一些特定的属性。例如,对于Web服务容器,需要对它的对象池、线程池监控,则需要扩充定义与对象池、线程池相关的属性。如下所示:
[0129]
[0130]
[0131]
[0132]
[0133]
[0134]
[0135] minOccurs=″0″maxOccurs=″unbounded″/>[0136]
[0137] minOccurs=″0″maxOccurs=″unbounded″/>[0138]
[0139] minOccurs=″0″/>
[0140] [0141]
[0142]
[0143]
[0144] [0145] [0146]
[0147]
[0148]
[0149]
[0150]
[0151]
[0152] [0153] [0154] [0155]
[0156]
[0157]
[0158]
[0159]
[0160]
[0161]
[0162] 这一步说明了如何对被管理对象进行建模,包括如何创建对应的建模资源的通用管理属性和特有管理属性。
[0163] 第三步:将以上建模好的资源放入前述的管理系统中
[0164] (1)将建模好的资源放入管理系统的资源容器中。
[0165] 资源容器提供了对资源状态的存储、资源的查找、及资源生命周期管理的机制,其中资源生命周期管理包括资源的创建和销毁。由此对被管理对象的管理就转换成对资源的管理。
[0166] (2)通过管理系统即可对该资源进行管理。具体的管理方法如下:
[0167] a.当管理消费者对被管理对象进行管理时,管理消费者首先发送基于SOAP消息的管理请求到资源容器;
[0168] b.资源容器解析该SOAP消息请求,从中提取资源标识符及属性名称,对管理操作的每一个SOAP消息请求都是一个XML片段,并且SOAP消息请求中都包含有资源ID和具体的资源属性名称,通过XML解析器解析可以获得资源的ID和资源属性名称;
[0169] c.资源容器解析SOAP消息,从中提取资源标识符及属性名称,对管理操作的每一个SOAP消息都是一个XML片段,并且SOAP消息中都包含有资源ID和具体的资源属性名称,通过XML解析器解析可以获得资源的ID和资源属性名称;
[0170] d.将获得的资源ID和资源属性名称发送到功能选择模块,从功能选择模块中保存的属性功能映射表中获得管理功能的名称;
[0171] e.根据步骤c中解析到的管理功能名称调用功能实现模块中的具体的管理功能实现,获得属性的状态值,返回给资源容器。由于功能实现模块中提供了功能实现中属性值与具体管理对象的属性状态值同步的机制,所以确保了返回的属性状态值即为被管对象的当前状态值;
[0172] f.资源容器获得步骤d返回的属性状态值,构造返回的SOAP消息,返回给管理消费者,完成了一次的管理过程;
[0173] 第四步:通过处理管理消费者的管理请求实现对被管对象的管理[0174] 在实际的应用当中,当某个管理消费者需要请求某种管理功能的时候,首先将管理请求映射成资源的属性,然后通过符合资源规范的请求报文发送给管理系统,通过管理系统的处理,当从管理系统得到响应报文,从中提取预定义的属性的值,由于本管理方法是基于WSDM协议的,所有的被管理对象相应的报文的格式都是相同的,因此提高了互操作性和可扩展性。然后管理消费者将返回来的结果按照统一的处理方式展现给用户。
[0175] 至此,从管理消费者到管理系统到被管对象的整个的管理流程处理完成,从而实现了对被管理对象的管理。
[0176] 本发明提供的实现基于WSDM的Web服务分布式管理系统和管理方法主要应用于对Web服务和Web服务运行容器的管理,也可以用于对其他可被管理的IT对象的管理。本发明由于将所有的被管理对象统一的表示成Web服务资源的形式,通过对Web服务资源的管理达到对被管理对象管理的目的,因此屏蔽了被管理对象的异构性。同时由于该管理系统定义了一系列标准的管理功能,在管理消费者和被管理资源之间存在一种约定,管理消费者理解什么样的消息才能在消费者和资源之间进行交互,因此提高了模型的兼容性及管理的互操作性。本发明未详细说明部分属于本领域公知技术。
[0177] 尽管为说明目的公开了本发明的最佳实施例和附图,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容。