VMware {code} Community
d0se
Contributor
Contributor
Jump to solution

Difference between APIs / SDKs and their purpose

Hi!

I have a vSphere environment running and i'm just starting out with the vSphere APIs and SDKs in C#. So i startet reading with and downloaded the SDK and API packages.

First i got PowerCLI with the vSphere SDK for .NET and read through the vSphere SDK for .NET developer's guide. Then i downloaded the vSphere web services SDK package, compiled the samples and dlls and am now reading through the programming guide.

But still the overview which API/SDK is best for what and how to use it is missing.

Am i right in the assumption, that both vSphere SDK and vSphere Web Services SDK depend on vSphere API which is available on each ESX host?

I found the vSphere API reference but it seems to me that both, samples from webservices SDK and vSphere SDK, use the same objects and methods from vSphere API directly.

The only difference i found out is, that the web services examples use AppUtil which again uses vSphere API but vSphere SDK doesn't. Is that right and where is the advantage in using one of the SDKs instead of vSphere API? In case of using web services SDK, have i to use the AppUtil out of the samples?

So you see, i'm a bit confused by the possibilities and usage. Especially the difference between vSphere SDK and vSphere Web Services SDK is not clear to me.

Can you help me by summarizing briefly the differences and purposes of those packages? Or is there a good document which treats that topic?

Thanks and regards

Patrick

Reply
0 Kudos
1 Solution

Accepted Solutions
storm27
Enthusiast
Enthusiast
Jump to solution

Hi,

You are absolutely right in saying that both vSphere SDK and vSphere Web Services SDK depend on vSphere API.

Just to clear out your confusion, both vSphere SDK and vSphere Web Services SDK are logically same, there's no difference between them.

vSphere SDK uses Web Services as the underlying technology/channel to manage the whole virtual infrastructure.This management is achieved by using vSphere APIs,formerly called VI APIs, which are exposed as web services, running on each ESX system.

For better understanding of vSphere Web Services SDK, refer to the readme html doc shipped with the SDK package.

Hope this will help to clear out your confusion!

Thanks.

Angela

View solution in original post

Reply
0 Kudos
4 Replies
tos2k
Expert
Expert
Jump to solution

Hi!

I agree on that these SDKs provide similar functionality. The might have some (dis-)advantages concerning usability and programming (dis-)likes.

Concerning the question according to ESX: VimSDK gives you access to both, functionality provided by ESX and provided by vCenter. It is the same SOAP based interface.

Connecting to an ESX will give you access to functionality provided by ESX, which is less functionality than found on vCenter. A single ESC does f.e. not provide Cluster or Clone functionality, but vCenter does.

Tos2k

storm27
Enthusiast
Enthusiast
Jump to solution

Hi,

You are absolutely right in saying that both vSphere SDK and vSphere Web Services SDK depend on vSphere API.

Just to clear out your confusion, both vSphere SDK and vSphere Web Services SDK are logically same, there's no difference between them.

vSphere SDK uses Web Services as the underlying technology/channel to manage the whole virtual infrastructure.This management is achieved by using vSphere APIs,formerly called VI APIs, which are exposed as web services, running on each ESX system.

For better understanding of vSphere Web Services SDK, refer to the readme html doc shipped with the SDK package.

Hope this will help to clear out your confusion!

Thanks.

Angela

Reply
0 Kudos
devta
Contributor
Contributor
Jump to solution

Clone VM is possible only through vCenter by using VI sdk.

is there any other task which is supported on ESX but not throug h vCenter?

we have noticed that CreteDisk/delete disk is failing when we are running through vCenter

There is one more quesition I have about what is the difference between VI and VIX ?

Do we have any list of function where I can get what is supported and what is not?

Reply
0 Kudos
admin
Immortal
Immortal
Jump to solution

CloneVM_Task API and CreateVirtualDisk_Task API are only available on vCenter Server.Cloning is a process which can be done via vCenter only.

You can refer to the list in vSphere Basic admin guide, where it is mentioned which all managed objects are available on ESX and which all are on both ESX and VC. Refer http://www.vmware.com/pdf/vsphere4/r40/vsp_40_admin_guide.pdf, appendix section.

Angela.

Reply
0 Kudos