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

что преимуществом использования является Python virtualbox API вместо того, чтобы использовать XPCOM?

9
задан badp 16 April 2010 в 14:46
поделиться

3 ответа

С сайта Sun на VirtualBox python API :

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

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

Из этой статьи мне трудно увидеть разницу между "python virtualbox API" и "XPCOM". Не могли бы вы предоставить ссылку на API, о котором вы думаете?

1
ответ дан 4 December 2019 в 14:27
поделиться

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

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

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

8
ответ дан 4 December 2019 в 14:27
поделиться

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

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

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

5
ответ дан 4 December 2019 в 14:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: