XML-RPC
和绝大多数程序设计语言一样,XML-RPC定义了少量的元数据类型,然后允许他们结合起来形成符合数据类型。和Xen相关的有 int double,boolean,dateTime。这些走在抽象API中被用来标识int,float,bool,Datatime.这里就不在详细赘诉,感兴趣大家自行谷歌。
Xen CIM提供者
在为Xen开发稳定的API背后的一个驱动力就是最求适应不同管理接口的能力。通用信息模块(CIM)正是符合这一要求的接口。CIM指的是一组管理工具定义接口的标准。它们不局限于虚拟化,被广泛的用于一些管理任务,比如管理复杂的存储环境,简单讲,CIM提供者只是一种语言绑定,不同于libxen和pyxen等其他绑定,CIM提供者在Xen API 和另一种域先关非常高层语言之间转换。尽管用户可以使用C写一个使用libxen的工具,也可以使用自己悬着的一种通用编程语言编写和CIM提供者交互的东西。
CIM VS libvirt
咋看起来,CIM和libvirt似乎有相似的目的。二者都为编写工具提供了hypervisor无关的抽象层。但他们有一些大的区别:CIM是一个抽象模型,基于XML的重新表述,并且以语言无关的方式使用。相比之下libvirt非常精密的和C绑定。另外一个大区别在开发模型上。CIM标准的相关部分正在由一个代表多个接口。它任然更加贴近于Xen的处理方式。它也只是被设计来管理本机的虚拟化环境,而CIM管理工具通常被用来组织大量的计算机和其他设备。最后CIM是一个大的规范,虚拟化相关的部分相对来说较少。为一个支持CIM的管理工具添加旬计划的支持相对简单。