分布式Web Service管理——WSDM标准体系,本文主要内容关键词为:分布式论文,体系论文,标准论文,Service论文,Web论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
【分类号】TP393
1 引言
在现代管理中,最大的问题是“管理工具”(Management Tools)的问题[1],形形色色的管理软件和基础设施能在特定环境中提供特定的管理工作,但是,在网络环境下,这些工具很难被发现和协同工作。这就产生了典型的集成问题:管理集成问题。在此需求上,OASIS推出了WSDM标准(Web Services Distributed Management)[2],对Web Service管理提供标准化的支持,通过使用Web Service来实现对不同平台的管理。
WSDM不仅仅是一个管理协议,或简单的分布式管理技术,它寻求的是提供一个软件开发商、平台、网络和协议都遵循的统一的管理标准架构,确保能获取和接收可管理资源的消息。WSDM能实现很多设备管理的标准化,从网络设备到电子设备,如网络打印机、电视、数字摄像机、唱片机和PDA等,甚至能实现对Web Service的管理。
2 WSDM与其他相关标准及系统的关系
WSDM标准建立在W3C和OASIS标准的基础上,XML是WSDM的基础技术,所有的WSDM消息编码和传递都采用XML文档。同时,WSDM建立在两个基本的Web Service技术的基础上:SOAP和WSDL。
2.1 支撑标准
WSDM标准体系遵循和采用OASIS以下标准:
(1)WS-I Basic Profile[3],WSDM使用Basic Profile测试程序来测试服务在不同平台和技术上的互用性。
(2)WS-Resource Framework(WS-RF)[4]、Resource Properties(WSRP)[5] 用于属性设置。
(3)WS-Notification(WSN)、Base Notifications(WSBN)[6] 用于管理事件的传送。
(4)WS-Addressing(WSA)[7] 用于服务引用。
2.2 WSDM与Web Service
WSDM采用Web Service作为提供支持分布管理的各种基本功能的平台。这样的优势在于很多技术和操作都是内嵌的。WSDM采用Web Service技术作为分布式管理框架的基础,包括采用Web Service来实现可管理资源和管理者之间的互操作,可管理资源和管理者之间的管理集成等。
图1[1] 是一个关于在打印机管理者和使用者中的MUWS、MOWS和传统的Web Service关系示例。打印机用户采用标准的Web Service平台作为打印机管理平台;打印机管理者(计算机或人)应用MUWS管理打印机;IT管理者应用MUWS,支持MUWS的Web Service,采用MOWS的Web Service来实现打印机的管理。
图1 Web Service与WSDM关系示例
2.3 WSDM与SOA
SOA(面向服务架构)提供了一种网络配置服务的新模式,不是通过一个中央服务器管理单个操作,而是采用Web Service模型实现分布和灵活的架构,由于不受某个服务器的性能限制,系统很容易进行扩展。同时,由于系统建立在Web Service基础上,很容易与其他系统兼容。
WSDM是推动SOA发展的主要动力之一,提供了管理网络资源和管理支持SOA的Web Service的方法。图2[8] 是一个典型的SOA基本结构,其中WSDM作为SOA的服务品质部分,用来解决基本的Web Service规范,如WSDL、SOAP、UDDI不能满足的高级需求——管理需求。任何根据WSDM实现的服务都可以由一个遵循WSDM的管理方案来管理,因此,WSDM可管理SOA架构中所有运行在多相环境下的服务。
图2 WSDM在SOA中的角色
3 WSDM主要技术内容
3.1 WSDM
WSDM是一个用于描述特定设备、应用程序或者组件的管理信息和功能的标准[9]。WSDM以Web Service为平台提供基本的分布式运算功能性、互操作性、松耦合以及独立实现能力。WSDM可看作一个介于管理者和用于控制资源的不同协议之间的整合层,允许开发者利用Web Service构建管理应用,能使多个管理者通过单一界面控制资源。
WSDM标准体系由两个标准组成:
(1)Web Service分布式管理:使用Web Service的管理(WSDM-MUWS);
(2)Web Service分布式管理:Web Service的管理(WSDM-MOWS)。
WSDM-MUWS[10,11]定义了如何把资源的可管理性接口作为Web Service表示和访问,还定义资源的识别、度量、配置等核心功能集。MUWS管理对象非常广泛,包括不同种类和数量的分布式IT资源。
WSDM-MOWS[12] 定义了如何把Web Service作为资源来进行管理,如何利用MUWS描述和访问这个可管理资源。MOWS管理的对象是不同的Web Service,MOWS还提供了能使可管理Web Service应用于跨不同企业或机构互操作的机制和方法。
MOWS建立在MUWS规范、结构、定义和属性基础上,采用与MUWS相同的WSDM体系,是MUWS的一个扩充和应用。从MOWS到MUWS的应用提供了管理的一个完美组合,应用这两个规范,为建立可靠的和可计量的管理系统提供了可能,从而实现自我管理。
3.2 WSDM-MUWS
MUWS包含两个部分:第一部分提供了使用Web Service管理的基本概念,第二部分提供了用于执行MUWS互操作的详细消息格式。
(1)WSDM基本架构
图3[12] 是使用Web Service管理的WSDM的基本架构,管理消费者发现这个Web Service端点,然后,通过与端点交换消息,从而获得信息、订阅事件以及控制与端点相关联的可管理资源。WSDM规范侧重于提供对可管理资源的访问。管理是资源一个可能具有的特性,可管理资源的实现是通过Web Service端点提供一组管理功能。WSDM架构不限制可管理资源的实现策略,实现方式包括直接访问资源、用非代理方法、用管理代理等,实现细节对于管理消费者来说都是透明的。
图3 WSDM基本架构
WSDM架构具有灵活性、可组合性等特点。WSDM提供了从低端(如移动电话)到高端(如应用服务器、商业过程等)的功能组件管理,其基础部分非常灵活。可管理资源的实现可由若干特性或通过若干Web Service端点提供给管理消费者的功能组合而成,其实现包括特征组合和功能组合两种。
(2)WSDM标准管理功能
MUWS系统建立在一组支持特定管理任务的属性、操作、事件、元数据和其他组成部分而形成的管理功能基础上。表1是WSDM定义的标准管理功能,根据资源管理的需要,用户可自行增加相应的功能。
3.3 WSDM-MOWS
WSDM-MOWS是WSDM-MUWS的一个应用,定义了如何管理用于Web Service,并能通过Web Service获取的Web Service端点和资源。由于Web Service可看作分布式网络中的一个单独的资源,因此,可采用与WSDM-MUWS相同的WSDM体系。
MOWS核心是管理功能的定义,其定义与MUWS中的相类似。但是,其Schemas中提供了管理Web Service操作的信息。MOWS定义了以下功能:
(1)Identify(标识):服务的唯一标识,可用于定义是否两个可管理终端提供的管理来自于同一源。
(2)Identification(鉴别):人工可读的资源定义,帮助建立可管理的Web服务端点,如打印机名称、功能、位置。
(3)Metrics(度量):该功能扩展了MUWS度量功能的定义,包含NumberOfRequests、NumberOfFailedRequests、NumberOfSuccessfulRequests、ServiceTime、MaxResponseTime、LastResponseTime5个基本度量。
(4)OperationalState(运行状态):包含两个主要状态:Up和Down,以及Up的Busy和Idle子状态及Down的Stopped、Crashed、Saturated子状态。
(5)OperationalStatus(当前运行状态):建立在MUWS OpertationalStatus基础上,在MOWS中,所有的UP状态返回为可获取,所有的DOWN状态返回为不可获取(Saturated除外,其返回为部分可获取)。
3.4 WSDM事件
WSDM事件在WSDM体系中起着联系不同部分信息的作用。每个WSDM是一个XML文档,该文档包含需要通知和记录一定管理范围的特定事件的信息。
WSDM事件格式以XML定义了用来承载管理事件的信息。格式定义了一组基本、一致的数据元素,使得不同类型的管理事件能够以统一的方式被承载。WSDM事件格式提供了用于程序处理、关联、跨平台及管理工具间相互理解的基础。
WSDM事件格式将管理信息组织为3类:事件报告者,事件资源,可扩展的、具体事件环境数据。每一种类都包含了一些通用属性,并允许扩展和具体事件数据。WSDM事件格式具备灵活性和可扩展性。WSDM事件格式必须提供以下一些基本信息:
(1)发送事件的资源称为源;
(2)报告事件的标识称为报告者。在大多数情况,源报告它自己的事件,这时候源和报告者合二为一。
事件必须包含事件号,事件号在资源的所有事件种类中是唯一的。事件可能包含该事件发生时的情况或上下文相关的一些信息,如消息文本、严重错误信息等,建议使用容器来封装对事件来说有意义的附加信息。
MUWS和MOWS都包含一系列缺省的事件主题,MUWS主题包括IdentityCapability、DescriptionCapability、StateCapability、MetricsCapability、ConfigurationCapability、RelationshipsCapability、RelationshipCreated RelationshipDeleted、RelationshipAccessCapability等。MOWS包含的用于Web Service的主题有IdentificationCapability、MetricsCapablity、OperationalStateCapability、OperationalStatusCapability、RequestReceived、RequestProcessing、RequestCompleted、RequestFailed等。
4 WSDM应用
WSDM影响以下3种不同性质的用户:
(1)使用不同IT环境的用户:WSDM允许来自不同开发商的管理软件更容易地进行互操作,能够进行端到端甚至是交叉式的企业管理。
(2)ISV独立软件开发商:WSDM提供了在IT环境下对资源的特性进行识别、检查及修改。
(3)设备的制造厂商:WSDM提供了能够以标准的方式使用Web Service显示管理接口的能力,而不管内部的测试设备如何操作。
图4 在网络环境中WSDM对不同用户的影响[1]
WSDM标准应用相对比较直接,MUWS的应用关系到建立正确的WSDL、WSRP、WSRF文档来定义系统的属性和功能。任何资源都必须有一个唯一的ResourceID,以便在资源生命周期中识别资源,在此基础上,应用扩展的XSD定义资源属性,如打印机的打印页数、墨粉、操作状态等,然后通过WSDL文档获取资源属性,最后,应用WSDL增加管理功能。下面是应用Apache Muse来创建一个WSDM平台的具体应用。
Apache Muse[13] 是使用Java编写的可实现WSDM的规范,它是一种框架,用户可以使用它为可管理的资源创建Web服务接口。Muse的创建可在Apache Axis2和OSGi环境中配置,Muse项目包含了一组命令行工具,可以为你所布置的场景生成恰当的产物(Artifact)。
使用Muse包括以下步骤[14]:
(1)创建WSDL
①定义资源属性,在Apache HTTP Server中有很多对管理者有用的基本数据,存在于httpd.conf中。打开后可为里面的属性增加namespace来创建XML Schema,如ThreadsPerchild,Listen和ServerName属性分别是整数、整数、URI。
②资源操作,WSRF要求的最小的操作集只需要一个操作:GetResourceProperty,Muse 2.0可运行全部3个相似的操作:GetResourceProperty、GetResourcePropertyDocument、GetmultipleResourceProperties,将其作为一个组成部分或功能,在Muse中的非常有用的操作还包括WS-MetadataExchange中的Getmetadata。因此,最后形成的WSDL应包括这4个操作。
③创建XML文档,可使用Muse SDK提供的WSDL模板创建你所需要的WSDL,WSDL模板包括了所有WSRF和WSDM规范中的属性和操作。
④增加HTTP资源属性和操作,可增加httpd-specific资源属性和操作来定制WSDL文档,然后生成代码,使用Muse command-line工具来创建WSDL。
(2)使用WSDL2Java生成代码
应用WSDL2Java工具来生成WSDL的Java代码和XML产物,结果包括3个目录:JavaSource、WebContent和src。
(3)编写自定义Capability代码
所有集成的用于创建资源实现的Capability类都是基于Muse接口的org.apache.muse.core.Capability的。这个接口有两个重要属性:性能URI和生命周期事件。
(4)应用部署
WSDL2Java生成Ant构造文件(build.xml),该文件用于编译我们所编写的代码,并创建一个可部署的J2EE WAR文档。
(5)测试应用
当与一个资源通信后,必须对资源创建一个客户端。对于wsdl2java工具创建的资源,当部署终端时将创建一个默认的资源。
标签:wsdl论文;