开放式管理基础结构 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 ...
随机推荐
- RSA算法学习
package com.test.rsa; /* * 为了选择公钥和私钥,Bob必须执行如下步骤: * 1)选择两个大素数p和q.那么p和q应该多大呢?该值越大,RSA越难于破解,但是执行加密和解密所 ...
- Ubuntu 搭建SSH服务器
参考地址:https://help.ubuntu.com/community/SSH/OpenSSH/Configuring 配置文件路径:/etc/ssh/ssh_config 和 /etc/ssh ...
- UWP学习记录9-设计和UI之控件和模式6
UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...
- http错误代码含义中英文对照
Http错误代码含义中文 概要当用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字 ...
- Mac 不能输入波浪线?
当你发现你的Mac或者mbp不能输入波浪线 , 输出的都是的时候,检查一下这个选项(如下图所示)有没有选中. 如果没有,就勾上它!
- iOS CoreData primitive accessor
Given an entity with an attribute firstName, Core Data automatically generates firstName, setFirstNa ...
- [资料分享]SQL Server 2016/2014/2012/2008简体中文企业版下载+对应补丁
为什么只提供企业版下载呢?因为不管你是学生还是工作研究人员,企业版都是功能最为齐全的一个版本,比如企业版都集成了SQL Server Management Studio管理界面(俗称企业管理器的可视化 ...
- hoops暂时用过的一些方法
(中文全部为谷歌翻译) HC_EXTERNAL void HC_CDECL HC_Show_Shell HC_PROTO ((HC_KEY, int *, HC_POINT *, int *, int ...
- Ubuntu配置Tomcat9非root用户启动
unix类系统的root用户具有极大的权利,所以很多时候我们不希望程序以root身份启动,这也就是配置Tomcat以指定身份(非root)启动的初衷,虽然也没人来攻击我的服务器,但本着学习学习的目的, ...
- Linux添加开机启动命令
1.vi /etc/rc.d/rc.local 添加要启动的命令 如: service php-fpm start //这样,开机就自动启动了php扩展 2. crontab -e //是写定时 ...