2010-04-16 22 views

Odpowiedz

1

Od strony słońca na VirtualBox python APIs:

SOAP umożliwia sterowanie zdalne maszyny wirtualne nad HTTP, natomiast XPCOM jest znacznie więcej wydajnych i odsłania pewną funkcjonalności niedostępnych z mydłem.

Używają bardzo różne technologie (mydło ma charakter proceduralny, a XPCOM jest OOP), ale jak to jest w końcu API taka sama funkcjonalność VirtualBox, trzymaliśmy w powiązaniach oryginalne semantyki, tak inny, że ustanowienie połączenia, kod może być napisane w taki sposób, że ludzie może nie obchodzić, jaki kanał komunikacji z instancją VirtualBox jest używane.

Z tego artykułu nie widzę różnicy między "python virtualbox API" i "XPCOM". Czy możesz podać link do interfejsu API, o którym myślisz?

+0

pyvb (tj pyton VirtualBox) dokumentacja jest w linku http://enomalism.com/api/pyvb – ask

4

Ogólnie polecam przeciwko jednemu. Jeśli chcesz programowo używać wirtualizacji, spójrz na libvirt, który zapewnia wsparcie dla wielu platform i cross hypervisor; która pozwala później na kvm/xen/vz/vmware.

To powiedziawszy, interfejs API SOAP używa dwóch dodatkowych warstw abstrakcji (strony klienta i serwera transakcji HTTP), co jest całkiem jasne, to po prostu wywołanie interfejsu XPCOM.

Jeśli potrzebujesz wsparcia tylko dla lokalnego hosta, użyj XPCOM. Dodatkowe niedostrzeganie libvirt/SOAP nie pomaga. Jeśli chcesz uzyskać dostęp do wirtualnej skrzynki na różnych hostach na wielu komputerach klienckich, użyj SOAP lub libvirt Jeśli potrzebujesz obsługi wielu platform lub uruchomienia kodu w systemie Linux, użyj libvirt.

6

Zaletą jest to, że pyvb jest dużo łatwiejszy w obsłudze.

Wręcz przeciwnie, dokumentacja dla Pythona API XPCOM nie istnieje, a API nie jest w ogóle pythonic. Nie możesz wykonywać introspekcji, aby znaleźć metody/atrybuty obiektu, itp. Musisz więc sprawdzić źródło C++, aby dowiedzieć się, jak działa lub skrypty napisane w języku Python (takie jak vboxshell.py i VBoxWebSrv.py).

Z drugiej strony pyvb to tak naprawdę tylko pakunek Pythona, który wywołuje VirtuaBoxManager w linii poleceń. Nie wiem, czy to naprawdę niekorzystne, czy nie?

Powiązane problemy