2010-04-16 118 views

回答

1

從Sun的網站上VirtualBox python APIs

SOAP允許在 HTTP控制遠程虛擬機,而XPCOM是多少更 高性能和暴露某些 功能不可用SOAP。

他們用非常不同的技術 (SOAP是程序性的,而XPCOM是 OOP),但因爲它是最終的API 的 的VirtualBox相同的功能,我們一直在綁定 原始語義,其他的是 連接建立,代碼可以寫成 可能不會在意使用什麼通信與VirtualBox實例的通信 使用 。

從那篇文章中,我很難看出「python virtualbox API」和「XPCOM」之間的區別。你能提供一個你正在考慮的API的鏈接嗎?

+0

pyvb(即python virtualbox) 該文檔位於鏈接中 http://enomalism.com/api/pyvb – ask 2010-04-16 18:17:16

4

我通常會建議反對任何一個。如果您需要以編程方式使用虛擬化,請查看libvirt,這會爲您提供跨平臺和跨系統管理程序的支持;它可以讓你稍後做kvm/xen/vz/vmware。

也就是說,SOAP api使用兩個額外的抽象層(HTTP事務的客戶端和服務器端),這很清楚,然後調用XPCOM接口。

如果您只需要本地主機支持,請使用XPCOM。 libvirt/SOAP的額外間接對你沒有幫助。 如果您需要跨多臺客戶端機器訪問各種主機上的virtualbox,請使用SOAP或libvirt 如果您希望跨平臺支持或在Linux上運行代碼,請使用libvirt。

6

好處是,pyvb很容易處理。

相反,XPCOM的python API的文檔不存在,並且API根本不是python。您不能自省查找對象的方法/屬性等。因此,您必須檢查C++源代碼以查找它的工作原理或已編寫的某些Python腳本(如vboxshell.pyVBoxWebSrv.py)。

另一方面,pyvb實際上只是在命令行上調用VirtuaBoxManager的python包裝器。我不知道這是否是一個真正的劣勢?