管理应用程序编程: WBEM 和 CIM 简介

本文介绍了基于Web的企业管理(WBEM)标准,它旨在简化企业网络中受管资源的描述和管理。WBEM由公共信息模型(CIM)、受管对象格式(MOF)等组件构成,提供标准化方法来创建管理应用程序。文章通过一个简单的文件系统示例,展示了如何使用WBEM组件进行建模和编程,强调了CIM建模和动态数据提供者的使用,以及CIMOM(CIM对象管理器)在数据存储和访问中的角色。
摘要由CSDN通过智能技术生成

Paul Monday继续他关于构建资源管理应用程序的三部分系列文章,以及基于 Web的企业管理 (WBEM) 倡议的知识。WBEM用于标准化企业网络中受管资源的描述和使用。接着,Paul 描述包含 WBEM的组件并使用一个简单的文件系统示例来练习使用此技术。请点击文章顶部和底部的 讨论,与作者和其他读者分享对本文的看法。

在这一系列的 第 1 部分中,我对联邦管理架构,用于为分布式网络创建基于策略的管理解决方案的 Sun Microsystem 的标准框架作了初步介绍。Jiro 技术是 FMA 的单独执行,特别设计用来为交叉平台分布式存储网络构建管理应用程序。

在第 2 部分中,我将重点放在一个与 FMA 有重叠但对于企业计算环境的需求更具体的标准上。基于 Web 的企业管理 (WBEM) 倡议是一套减轻程序和接口(用于管理一个完整的企业环境)编写负担的技术,它由分布式管理工作组 (DMTF) 负责开发。就像分布式存储网络一样,企业计算环境从各种厂商那里集成硬件和软件。造成的后果是网络管理员经常被要求去部署大量的管理应用程序和技术,还得不断学习新技术以保持自己在这个领域中的领先地位。因为企业网络的规模和复杂性将会 -- 实际上一定会 -- 成指数地增长,所以网络管理员几乎要不断地学习,必须为跟上这个领域的新发展而努力奋斗。

通过提供处理受管资源的标准化方法,WBEM 大大简化了创建管理应用程序的过程从而简化了管理企业网络的工作。这将转变成更大、更易管理的计算机网络,同时也更好地利用了管理员的时间和精力。

为了开始学习 WBEM,我将提供一份组成这个标准的组件的概述,并讲解如何把它们作为框架使用来开发管理应用程序。

WBEM 概述

WBEM 作为一项业界倡议,起始于 1996 年,它规范了企业网络中受管资源的描述与使用。WBEM 由以下几个组件组成:

  • 公共信息模型 (CIM) 是一种机制,用于为受管资源建模并以受管对象格式 (MOF) 表现这些模型。使用 CIM 和 MOF,组成受管资源或资源网络的组件可以象在面向对象设计过程中使用的组件一样被建模和看待。
  • 受管对象格式 (MOF) 是源自 CIM 模型中的类和关联的正规描述。MOF 有它独有的语法,但使用来自于 DMTF 中的 DTD 可将它转化为 XML。
  • 标准化模型是一个 CIM 类集合,用于表现一个特殊的管理域。模型可以表现核心 CIM 类、网络类、软件类和更多的类。
  • CIM 对象管理器 (CIMOM) 是 CIM 类实例的一个数据库。CIMOM 是访问管理资源的重点。
  • XML API 提供对数据的标准化访问并启用针对 CIMOM 中显示的受管资源的操作。

各个公司提供自己对 WBEM 的实现,它们都必须遵循由 DMTF 提出的规范。所有符合 WBEM 的技术必须接受由 DMTF 发行的标准化模型并且所有关联的 CIMOM 都可通过标准 XML API 访问。

存储网络工业协会 (SNIA) 的成员正在构建一个开放源代码的 CIMOM,它基于 WBEM 标准同时松散地基于 Sun Microsystem 对 WBEM 的实现。SNIA 和 Sun 的实现都是在 Java 平台上构建的。微软还用 Windows 管理规范 (WMI) 技术提出了基于 WBEM 的解决方案。(请参阅 参考资料,可得到完整的基于 WBEM 技术的清单)

在下一节,我们将深入探讨组成 WBEM 的各个组件。我将使用类似于我们在这个系列的第 1 部分中使用的文件系统的示例,来循序渐进地解释一个简单的基于 WBEM 的开发过程。我们必须熟悉这个将用来建模和构建文件系统的过程,因为它接近地反映了传统的面向对象的先建模(典型情况下通过 UML )后编程的开发周期。我们将按以下步骤进行:

  • 用 CIM 建模技术为环境建模。
  • 为类和类之间的关联产生 MOF 。
  • 为要求动态数据更新的类构建动态提供者。
  • 将 MOF 导入 CIMOM 并植入类实例要求的任意静态数据。
  • 通过 CIMOM 的 API 使用受管对象。(我们将为这个系列的最后一部分保留这一步)

在这篇文章中,我已使用了 SNIA 中的开放源代码 CIMOM 创建示例。请参阅 参考资料,下载 SNIA 的 CIMOM。

 




回页首

 

公共信息模型

公共信息模型(CIM),目前为 2.2 版,以类似对象设计图和称为受管对象格式 (MOF) 的模型的中性语言描述的形式,提供了一个数据建模环境。在这一点上,CIM 建模环境 和 MOF 与统一建模语言 (UML)、接口定义语言 (IDL) 很相似。

CIM 开发周期与面向对象开发周期非常相似,在此周期内要开发类图,创建类的中性语言描述和它们的关联,实现类,然后部署并使用结果数据和操作。CIM 开发在两个重要方面反映了面向对象的开发:一是它使用继承来扩展现有的类,二是它用类图作为转换数据结构的主要机制。

然而,与面向对象的类不同,CIM 的类包含唯一标识对象实例的关键字。纯面向对象的设计不用关键字标识实例(虽然一些对象技术 -- 诸如 Enterprise JavaBeans -- 的确有关键字定义)。另外,CIM 包含一个很象数据库连接的特别的 关联类。这个关联涉及的实例,就象磁盘外壳和外壳里的物理磁盘。这种关联不是创建外壳和磁盘类之间的关系,而是定义两个类之间的关系。类本身没有这样的关系。通过关联而不是通过显式查询受管资源类实例来为实例定位。使用 CIM 对象实例中的关键字才可使关联定位成为可能。

CIM 和纯面向对象设计的区别是由于它们在各自环境中有不同的使用意向。然而面向对象技术已经发展成服务于创建应用程序编程环境的需求,CIM 则明确地适用于描述,编目录和与受管资源交互。为进一步理解 CIM 是如何工作的,应该看创建和构建它的类层次和各种模型的方式。

如何创建 CIM 模型

DMTF 通过在标准体中的重复创建一个分层类层次,它正确反映需管理的各种区域中的可管理元素。每个管理区域,如存储器或应用程序,都显示在 CIM 模型中。在这些管理区域中细化的 DMTF 标准体工作在不同的管理区域上。图 1 说明了 CIM 模型在概念上是如何层叠的。核心模型居中,其它模型依次构建体现了更为具体的管理区域。


图 1. CIM 模型 
 

核心模型是按 Java 平台类层次的结构构建的。核心模型包含所有管理区域公共的类与关联。例如,所有可管理元素是从一个名为 CIM_ManagedElement 的类继承而来的。在下面的清单 1 中,可以看到一个受管元素包含一套所有可管理实体的公共基本属性。我们将立刻讨论更多关于 MOF 的内容 -- 清单 1 中使用的语言。到目前为止,仅仅看到了模型的结构。


清单 1. CIM_ManagedElement类

// ==================================================================
// ManagedElement
// ==================================================================
     [Abstract, Description (
     "ManagedElement is an abstract class that provides a common "
    "superclass (or top of the inheritance tree) for the "
    "non-association classes in the CIM Schema.")]
     class CIM_ManagedElement
     {
       [MaxLen (64), Description (
        "The Caption property is a short textual description (one-"
        "line string) of the object.") ]
       string Caption;
       [Description (
        "The Description property provides a textual description of "
        "the object.") ]
       string Description;
     };

 

受管元素的子类包含逻辑元素和物

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值