Windows 长久以来在 CIM 实施领域一直傲立桥头,而这一切都是从 WMI(Windows 管理基础结构)开始的。分布式管理任务组 (DMTF) 通用信息模型 (CIM) 是一种开放式标准,用于定义如何通过一组通用对象来表示接受管理的元素,并使用关联定义它们之间的关系。WMI 最初在 Windows NT 4.0 中引入并与操作系统捆绑安装,其中实施了早期版本的标准和架构。WMI 使用 DCOM 进行远程管理,因为当时尚未制订标准协议。在 Windows Server 2012 中,我们在标准和远程管理方面投入了大量精力,在 WMI 中加入了最新的 DMTF 标准和协议。
     CIM 标准具备足够的复杂度和灵活性,可用作所有设备的管理模式,尤其是数据中心设备。尽管这些 DMTF 标准已经存在多年,但仍旧难以实施,并且现有实施对于移动和嵌入式设备来说过于庞大。为了解决这些难题,Microsoft 构建了一种名为 OMI 的 CIM 对象管理器,OMI 具备高度便携、占用资源少和性能极高的优点,并且专门设计用于实施 DMTF 标准。随后,微软与 The Open Group 展开合作,以便通过 Apache 2 许可向所有用户提供 OMI 的源代码。OMI 的源代码可以在 Linux 和 UNIX 系统中轻松实施。

采用 OMI 的合作伙伴将获得以下优势:

  • DMTF 标准支持:OMI 根据 DMTF 标准实施其 CIMOM 服务器。
  • 小型系统支持:OMI 在设计时也考虑到了在小型系统中的实施(包括嵌入式和移动系统)。
  • 易于实施:显著简化在设备/平台中实施 Web service 管理和 CIM 的过程。
  • 支持远程管理:可通过 Windows 和非 Windows 客户端及服务器,以及其他支持 Web service管理的平台实时进行远程管理。
  • API 兼容 WMI:可在 Linux 和 Windows 上使用相同的 API 编写提供程序和管理应用程序。
  • 支持 CIM IDE:用于生成和开发 CIM 提供程序的工具,例如 Visual Studio 的 CIM IDE。
  • 可选的 PowerShell 支持:如果 OMI 提供程序使用一系列编档的约定,Windows PowerShell 将自动发现这些约定,并根据它们自动生成 Cmdlet(Windows Server 2012 中的 2300 余条 Cmdlet 就是如此实施的)。微软刚在Github上发布了Linux上的 PowerShell Desired State Configuration Takes on Linux

OMI 详情
OMI 较低的资源占用(250KB 的基本大小,外加 1MB 的工作集内存使用)和高质量的代码将有助于开发人员更轻松地开发具备高性能和高稳定性的基于标准的管理堆栈。对于 IT 专业人员,OMI 将增加您能够管理的设备数量和类型,并通过基于标准的管理和自动化工具(例如 Windows PowerShell 和 System Center,以及其他管理解决方案)统一管理体验,从而大幅提升您的工作效率和效力。
OMI 在其 CIM 服务器的实施中包含了以下组件和工具。


可扩展

OMI 采用了一种Provider程序模型,允许开发人员将 OMI 扩展到其具体的设备或平台中。在过去,编写Provider非常困难,通常成本较高且不甚稳定。OMI 利用了一种大幅简化的Provider程序模型,该模型也在 Windows Server 2012 和 Windows 8 的 WMI 中使用。简而言之,OMI 通过向开发人员提供以下功能简化了实施:

  • 下一代Provider程序接口
  • 兼容 Windows Server 2012 和 Windows 8 中的新 WMI 提供程序接口
  • 生成Provider程序骨架 (omigen)
  • 生成具体 CIM 类数据结构和代码
  • 提供Provider注册工具 (omireg)

该模型首先需要定义接受管理的内容。根据定义的接受管理内容,omigen 工具会生成一系列用于实施管理模型的 C 语言数据结构和代码。开发人员可将这些代码添加到骨架中并注册该Provider程序。

OMI 适用于嵌入式和移动系统
嵌入式和移动设备管理可能是对于管理技术来说要求最高的任务之一,因为它们的处理器和内存约束最为显著。我们认为,如果我们能构建一种满足其需求的管理技术,那么 OMI 就应该能够满足任何设备的管理需求。因此,为了确保 OMI 较低的资源占用和嵌入式系统适用性,我们实施了以下设计特征:

  • 小于 250 千字节的服务器对象大小
  • 服务器实施完全使用 C 语言
  • Provider程序接口使用 C 语言
  • 无存储库服务器
  • 具体Provider程序类产生较少代码
  • 迭代式大小优化
  • 无盘操作

安全
安全问题。自从 Bill Gates 著名的可信计算备忘录以来,我们一直在致力于完善安全开发生命周期模型。安全性在我们开发和编码流程的所有方面都是首要考虑因素。OMI 虽然体积小巧,却实施了以下安全功能:

  • HTTPS (SSL)
  • HTTP 基本身份验证
  • 本地身份验证
  • 可插入身份验证模块 (PAM) 支持
  • 进程外Provider程序
    • 作为请求程序运行
    • 作为服务器运行
    • 作为指定用户运行

Microsoft 已与 The Open Group 结为合作伙伴,共同致力于打造针对利用、支持和强化 OMI 的硬件、软件和开发人员社区。您可以从 The Open Group 的项目网站下载 OMI 和/或了解更多详情:http://omi.opengroup.org。

相关文章:

通用信息模型 CIM 开发介绍

开放式管理基础结构 OMI的更多相关文章

  1. Gradle 1.12用户指南翻译——第五十章. 依赖管理

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上 ...

  2. Windows Azure公有云服务相关方案

    http://www.cnblogs.com/sennly/p/4139675.html 1.公有云平台服务简介 Windows Azure 是一个灵活而开放的云平台,通过该平台,您可以在数据中心快速 ...

  3. 应用服务器Glassfish任意文件读取漏洞

    catalogue . 前言和技术背景 . Glassfish安装配置 . 漏洞利用 . 漏洞缓解(修复) 1. 前言和技术背景 0x1: GlassFish是什么 GlassFish 是用于构建 J ...

  4. iOS-马上着手开发iOS应用应用程序-第一部分介绍

    教程:基础 main 中的 main.m 函数会调用自动释放池 (autorelease pool) 中的 UIApplicationMain 函数. @autoreleasepool { retur ...

  5. Hyper-V介绍

    Hyer-v主机是高端虚拟主机用户的最佳选择.您不再受其他用户程序对您造成的影响,您将得到的是更加公平的资源分配,远远低于虚拟主机的故障率.Hyper-V的分区包含两种:父分区和客户分区.Hyper- ...

  6. Docker 生态概览

    Docker 和容器技术的发展可谓是日新月异,本文试图以全局的视角来梳理一下 docker 目前的生态圈.既然是概览,所以不会涉及具体的技术细节. Docker 自从发布以来发生了很多的变化,并且有些 ...

  7. Docker系列01—容器的发展历程---Docker的生态圈

    本文收录在容器技术学习系列文章总目录 Docker 和容器技术的发展可谓是日新月异,本文试图以全局的视角来梳理一下 docker 目前的生态圈.既然是概览,所以不会涉及具体的技术细节. Docker ...

  8. Yarn vs npm: 你需要知道的一切

    Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具.就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 npm ...

  9. [No0000197]Windows用户都应该知道的运行命令

    通过"运行"命令,运行Windows丰富工具的方法.如果您知道工具或任务的相应"运行"命令,那么您就知道访问所述工具或任务的最快方法. 以下是我们最喜欢的Run ...

随机推荐

  1. win10控制台程序printf死锁问题

    昨天遇到一个奇葩的问题,服务器正常运行但经常出现客户端无法连接的问题.我很好奇,在accept返回的地方断点,发现无法accept了.这就怪了,以前从没出现过这种情况.服务器网络用的asio,无法ac ...

  2. 工作记录 java

    1:tomcat有两个这个文件,是缓存文件和临时文件.可能会缓存部分的jsp文件,所以如果有时候文件重新替换不起效果的话,可以先把这两个文件夹下面的文件清空

  3. 用户名 不在 sudoers文件中

    切换到root用户,然后加上某个账户 pzdn@CentOs$ su #输入root密码 root@CentOs cd /etc/ chmod 770 sudoers vim sudoers # 找到 ...

  4. 《转》Unity3D研究院编辑器之5.3JSON的序列化

    Unity5.3 的一项新功能就是Json的序列化,支持嵌套使用,可以把json字符串转成对象,把对象转成json字符串. using UnityEngine; using UnityEditor; ...

  5. jQuery数据缓存方案详解:$.data()的使用

    我们经常使用隐藏控件或者是js全局变量来临时存储数据,全局变量容易导致命名污染,隐藏控件导致经常读写dom浪费性能.jQuery提供了自己的数据缓存方案,能够达到和隐藏控件.全局变量相同的效果,但是j ...

  6. BZOJ2498 : Xavier is Learning to Count

    考虑容斥,通过$Bell(p)$的时间枚举所有等价情况. 对于一种情况,强制了一个等价类里面的数都要相同,其它的可以相同也可以不同. 这方案数显然可以通过多项式乘法求得,乘上容斥系数$(-1)^{p- ...

  7. 数论 - Moon Game

    Fat brother and Maze are playing a kind of special (hentai) game in the clearly blue sky which we ca ...

  8. 【BZOJ1623】 [Usaco2008 Open]Cow Cars 奶牛飞车 贪心

    SB贪心,一开始还想着用二分,看了眼黄学长的blog,发现自己SB了... 最小道路=已选取的奶牛/道路总数. #include <iostream> #include <cstdi ...

  9. HDU 5976 数学,逆元

    1.HDU 5976 Detachment 2.题意:给一个正整数x,把x拆分成多个正整数的和,这些数不能有重复,要使这些数的积尽可能的大,输出积. 3.总结:首先我们要把数拆得尽可能小,这样积才会更 ...

  10. 移动端常用的meta

    1. 禁止缩放:<meta name="viewport" content="width=device-width, initial-scale=1.0, maxi ...