В чем преимущество использования Python Virtualbox API? - PullRequest
9 голосов
/ 16 апреля 2010

В чем преимущество использования Python Virtualbox API вместо XPCOM?

Ответы [ 3 ]

8 голосов
/ 17 апреля 2010

Преимущество в том, что с pyvb работать намного проще.

Напротив, документации по python API XPCOM не существует, и API вообще не является pythonic. Вы не можете выполнить самоанализ для поиска методов / атрибутов объекта и т. Д. Поэтому вы должны проверить исходный код C ++, чтобы выяснить, как он работает, или какие-то уже написанные скрипты Python (например, vboxshell.py и VBoxWebSrv.py ).

С другой стороны, pyvb - это на самом деле просто оболочка Python, которая вызывает VirtuaBoxManager в командной строке. Я не знаю, является ли это реальным недостатком или нет?

5 голосов
/ 16 апреля 2010

Я бы вообще рекомендовал против любого из них. Если вам нужно использовать виртуализацию программно, взгляните на libvirt, которая дает вам кроссплатформенную и кросс-гипервизорную поддержку; который позволяет вам делать kvm / xen / vz / vmware позже.

Тем не менее, API-интерфейс SOAP использует два дополнительных уровня абстракции (клиентская и серверная сторона транзакции HTTP), что довольно просто при вызове интерфейса XPCOM.

Если вам нужна поддержка только локального хоста, используйте XPCOM. Дополнительное косвенное обращение к libvirt / SOAP не поможет вам. Если вам нужен доступ к virtualbox на разных хостах на нескольких клиентских машинах, используйте SOAP или libvirt Если вы хотите кроссплатформенную поддержку или запустить свой код в Linux, используйте libvirt.

1 голос
/ 16 апреля 2010

С сайта Sun на API-интерфейсах VirtualBox Python :

SOAP позволяет управлять удаленными виртуальными машинами над HTTP , тогда как XPCOM намного больше высокопроизводительный и выставляет определенные функциональность недоступна с SOAP.

Они используют самые разные технологии (SOAP является процедурным, в то время как XPCOM ООП), но как это в конечном итоге API для та же функциональность VirtualBox мы держали в привязках оригинальная семантика, так что другие установление соединения, код может быть написано так, чтобы люди может не важно какое общение канал с экземпляром VirtualBox б.

Из этой статьи у меня возникают проблемы с различием между «Python virtualbox API» и «XPCOM». Не могли бы вы предоставить ссылку на API, о котором вы думаете?

...