开放式管理基础结构 OMI
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。
相关文章:
开放式管理基础结构 OMI的更多相关文章
- Gradle 1.12用户指南翻译——第五十章. 依赖管理
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上 ...
- Windows Azure公有云服务相关方案
http://www.cnblogs.com/sennly/p/4139675.html 1.公有云平台服务简介 Windows Azure 是一个灵活而开放的云平台,通过该平台,您可以在数据中心快速 ...
- 应用服务器Glassfish任意文件读取漏洞
catalogue . 前言和技术背景 . Glassfish安装配置 . 漏洞利用 . 漏洞缓解(修复) 1. 前言和技术背景 0x1: GlassFish是什么 GlassFish 是用于构建 J ...
- iOS-马上着手开发iOS应用应用程序-第一部分介绍
教程:基础 main 中的 main.m 函数会调用自动释放池 (autorelease pool) 中的 UIApplicationMain 函数. @autoreleasepool { retur ...
- Hyper-V介绍
Hyer-v主机是高端虚拟主机用户的最佳选择.您不再受其他用户程序对您造成的影响,您将得到的是更加公平的资源分配,远远低于虚拟主机的故障率.Hyper-V的分区包含两种:父分区和客户分区.Hyper- ...
- Docker 生态概览
Docker 和容器技术的发展可谓是日新月异,本文试图以全局的视角来梳理一下 docker 目前的生态圈.既然是概览,所以不会涉及具体的技术细节. Docker 自从发布以来发生了很多的变化,并且有些 ...
- Docker系列01—容器的发展历程---Docker的生态圈
本文收录在容器技术学习系列文章总目录 Docker 和容器技术的发展可谓是日新月异,本文试图以全局的视角来梳理一下 docker 目前的生态圈.既然是概览,所以不会涉及具体的技术细节. Docker ...
- Yarn vs npm: 你需要知道的一切
Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具.就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 npm ...
- [No0000197]Windows用户都应该知道的运行命令
通过"运行"命令,运行Windows丰富工具的方法.如果您知道工具或任务的相应"运行"命令,那么您就知道访问所述工具或任务的最快方法. 以下是我们最喜欢的Run ...
随机推荐
- HTML入门教程 这里可以免费学习啦
本文目标 30分钟内让你明白HTML是什么,并对它有一些基本的了解.一旦入门后,你可以从网上找到更多更详细的资料来继续学习. 什么是HTML HTML是英文Hyper Text Mark-up Lan ...
- 先定一个小目标,自己封装个ajax
你是否发现项目中有很多页面只用到了框架不到十分之一的内容,还引了压缩后还有70多kb的jquery库 你是否发现项目中就用了两三个underscore提供的方法,其他大部分的你方法你甚至从来没有看过 ...
- 与你相遇好幸运,制作自己的Yeoman Generator
使用别人写好的生成器: npm install -g yonpm install -g generator-angularyo angular 如何自己制作符合自己心仪的生成器呢: https://g ...
- PHP webservice的使用
提到php的webservice.之前还是比较陌生的,因为接触的少呀,几乎在所有的公司中没用过,仅仅用过的一次好像是接入一个第三方的短信通道,用的是SOAP|WSDL. 一个很极端的话“webserv ...
- Visual Studio高级调试技巧
1. 设置软件断点,运行到目标位置启动调试器 方法①:使用汇编指令(注:x64 c++不支持嵌入汇编) _asm 方法②:编译器提供的方法 __debugbreak(); 方法③:使用windows ...
- [BI项目记]-新任务创建
上一篇介绍了如何处理一个Bug工作,此篇主要介绍如何借助TFS对于一个新需求创建一个新的工作项. 这里假定,有一个新的需求,需要创建五个报表. 然后开发的工作流程如下: 这个流程总结起来大致如下: 首 ...
- mac下安装mysql教程
由于更换了mac电脑,需要装一个mysql,经过各种资料的翻阅,各种踩坑,终于装完了,记录一下,方便大家参照: 1.下载最新的mysql安装包,下载地址:http://dev.mysql.com/do ...
- js 处理字母 大小写的 一些函数
js中实现字母大小写转换主要用到了四个js函数: 1.toLocaleUpperCase2.toUpperCase3.toLocaleLowerCase4.toLowerCase 下面就这四个实现大小 ...
- Codeforces CF#628 Education 8 E. Zbazi in Zeydabad
E. Zbazi in Zeydabad time limit per test 5 seconds memory limit per test 512 megabytes input standar ...
- xpath使用
一.安装(win7 64) 1.安装lxml,pip install lxml 2.如果安装出错,下载lxml-3.5.0b1.win-amd64-py2.7.exe: 地址:http://www.l ...