2010-04-16 13 views

Respuesta

1

desde el sitio del sol en VirtualBox python APIs:

de SOAP permite el control remoto de máquinas virtuales sobre HTTP, mientras que XPCOM es mucho más de alto rendimiento y expone ciertas funcionalidades no disponible con jabón.

Se utilizan tecnologías muy distintas (jabón es de procedimiento, mientras que XPCOM es programación orientada a objetos), pero ya que es en última instancia API para la misma funcionalidad del VirtualBox, que mantiene en encuadernaciones semántica original, por lo demás que Establecimiento de la conexión, el código podría escribirse de tal manera que a la gente no le importe qué canal de comunicación con instancia de VirtualBox es usado.

De ese artículo, tengo problemas para ver la diferencia entre "python virtualbox API" y "XPCOM". ¿Podría proporcionar un enlace a la API en la que está pensando?

+0

pyvb (es decir pitón VirtualBox) la documentación está en el enlace http://enomalism.com/api/pyvb – ask

4

En general, recomendaría cualquiera de los dos. Si necesita usar la virtualización programáticamente, eche un vistazo a libvirt, que le brinda soporte multiplataforma e hipervisor cruzado; lo que le permite hacer kvm/xen/vz/vmware más adelante.

Dicho esto, la API SOAP está utilizando dos capas de abstracción adicionales (el lado del cliente y el servidor de la transacción HTTP), que es bastante claro, simplemente llamar a la interfaz XPCOM.

Si necesita soporte de host local, use XPCOM. La indirección adicional de libvirt/SOAP no te ayuda. Si necesita acceder a virtualbox en varios hosts en varias máquinas cliente, use SOAP o libvirt . Si desea soporte multiplataforma, o para ejecutar su código en Linux, use libvirt.

6

La ventaja es que pyvb es mucho más fácil de trabajar.

Por el contrario, la documentación para la API python de XPCOM no existe, y la API no es para nada pitonica. No puede hacer una introspección para encontrar métodos/atributos de un objeto, etc. Por lo tanto, debe verificar la fuente de C++ para encontrar cómo funciona o algunos scripts de Python ya escritos (como vboxshell.py y VBoxWebSrv.py).

Por otro lado, pyvb es realmente solo un contenedor de pitón que llama a VirtuaBoxManager en la línea de comandos. No sé si es una desventaja real o no.

Cuestiones relacionadas