周总结

一、基本概念

1、什么是CIM

CIM ( 通用信息模型 ) 是由 DMTF 制定的用于管理计算机系统和网络的工业规范,它提供了一个共同的概念框架,将所有系统进行分类,并确定了部分网络环境,而且描绘了这些部分的互动。由公共信息模型开发出的管理软件可以统一异构环境下的产品管理。

CIM 由以下几部分组成 :

CIM 规范- 定义了整合管理模型的语言和方法论。

CIM 标准模型- 定义了对计算机系统,应用程序,网络和设备描述信息模型。

CIM 标准模型由以下及部分组成:

核心模型 - 提供了基本的受管对象的假设信息,内容包括一系列描述和分析受管系统的类和他们之间的关联信息。

公共模型 - 实现了管理领域的公共概念。这些概念独立于各个特殊的技术和实现。可以说这个模型提供了一个管理软件发展的基础。

拓展模型 - 他们是在公共基础上拓展一些与平台相关的模型,比如操作系统的模型等。

2CIM可以做什么?

根据前面的介绍,CIM利用自己的语言(MOF)和语法对受管对象进行建模。使得信息管理者可以在网络中以一种通用的标准交互,从而可以实现跨系统、跨平台的系统管理。

3WBEM ( 基于 Web 的企业管理 ) 是一系列网络管理规范 . 它标准化了企业网络中受管资源的描述和使用。

4CIM profile DMTF 组织或其它相关组织织定的,定义了在特定环境下的 CIM 模型的实现。它内容包括 CIM 类,关联信息,方法和属性。它为 CIM 模型在具体化条件下的应用提供了统一和便利。每一个 profile 都清晰的指出每一个类,属性,方法在具体条件的应用下都应该被实例化。

5CIM Server CIM 技术中一个核心组件,用来管理和操作信息模型对象,现在已经有很多不同版本的 CIM Server

SMALL-FOOTPRINT CIM BROKER (SFCB) - SFCB 是一个轻量级 CIM 后台程序 (CIMOM) 用来处理 CIM 客户端的请求,随后根据请求内容进行系统管理的操作。 SFCB 支持标准的 http/https CIM-XML http 编码之上的操作。它实现高度模块化,可以很容易补充,删除或自定义不同的管理应用软件。 SFCB 由于它的轻量级大小,十分适用于嵌入式环境。

Open Pegasus – Pegas  us 是一个 DMTF CIM WBEM 标准的开源项目。它由 C++ 编写,所以可以很方便的将面向对象的 CIM 管理对象转变成程序模块。因此他被各个操作系统平台所支持,包括 UNIX, Linux, OpenVMS, and Microsoft Windows

OpenWBEM - OpenWBEM 是一个企业级 wbem 实现的开源项目。它由 C++ 编写,可用于任何商业和非商业的用途。它提供了一个基础管理的开发框架,克服跨平台的障碍,并赋予真正的互操作性。开发人员可以使用 openwbem,以提供配置和变更管理,系统健康监测,和企业范围的管理功能。

WBEM Services - WBEM Services 项目是用 Java 编写的,适用于任何商业和非商业用途的,基于 wbem 的实现。它的内容包括应用编程接口,服务器端和客户端的应用程序和工具。

二、CIM开发过程

CIM Profile 里面定义了某一个特定领域对象的 CIM 模型,到目前为止,已经发布的 CIM Profile 基本上已经涵盖了在工业生产生活中所常见的对象模型。下面是一小部分已经发布的 CIM Profile

1. 已经发布的一些 CIM Profile 举例

编号

名称

介绍

DSP1027

Power State Management Profile

计算机电源状态管理模型

DSP1028

Alarm Device Profile

警报设备模型

DSP1029

OS Status Profile

操作系统状态模型

DSP1030

Battery Profile

电源模型

我们的 CIM 开发,就是要扩展这些标准的 CIM Profile,创建符合 CIM 标准的具体模型,这样的好处有几点:

·            已经存在的 CIM Profile 已经为我们搭建起了一个标准的现实世界模型框架,我们可以通过类继承实现模型重用。

·            标准的 CIM Profile 具有通用性,接口标准和统一化,这样便于将来的跨系统跨平台操作。

CIM 模型的访问操作,是通过叫做 "CIM Provider" 的程序来实现的,我们要做的事情就是把对于特定类的操作,转化为具体的 CIM Provider 程序,这样,任何满足 CIM 规范的客户端程序,都可以通过标准 CIM Client 接口调用到我们的对象,并进行一些标准操作,比如访问特定对象,枚举所有该类对象等。 CIM 程序的整体框架如下图所示:

 

下图是CIM程序框架

图中,绿色的部分叫做 CIM Provider,就是我们所要实现的程序,它的工作就是对具体的 CIM 模型对象提供访问调用功能,这些程序是以动态连接库的形式被 CIM Server 调用,并提供给远端的 CIM client 使用。

图中的黄色部分叫做 CIM client,它是具有 CIM 交互能力的客户端程序,可以连接到 CIM server,并通过 CIM provider 程序访问和操作 CIM 模型对象。

灰色部分是 CIM server,这是 CIM 体系的核心,对上接口有 WBEM 标准,对下接口有 CMPI,现在已经有很多的实现版本如:OpenPegasus, OpenWBEM, WBEM service SFCB 等。

我们的具体任务就是开发CIM Provider

CIM Provider开发现状及主要接口介绍

目前,主要的CIMOM实现主要有OpenPegasusOpenWBEMWMI以及WBEM Service等开源项目,不同的CIMOM都拥有自己的Provider接口标准,比如OpenPegasusC++接口,或者WBEM ServiceJava接口, 因此针对不同的CIMOM都有相对不同的Provider开发方法。一方面Provider内部繁琐的实现接口和逻辑过程,导致Provider的学习和开发过程漫长而艰难。另一方面采用这些相对独立的方式开发Provider 必然会导致的问题是移植性和通用性的降低,如长期开发C++ Provider的工程师要把项目转移到Java中, 就不可避免的面对一段艰苦的过程。

针对以上问题,为了降低不同Provider开发接口的差异性,目前已经有一些统一的接口标准出台。使用C语言的CMPI接口和基于C++CIMPLE接口就是其中主要的两项接口标准。

总结:

在具体开发阶段我们的有待完成的任务:

1、  对目标系统进行需求分析。

2、  对系统进行设计和建模。主要包括对资源、接口的进行抽象和封装。

3、  选择CIMOMProvider开发接口。

4、  系统实现。用(MOF)对系统进行描述进而实现系统。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值