4 Replies Latest reply on Jan 7, 2011 2:53 AM by AngelaS

    Difference between APIs / SDKs and their purpose

    d0se Novice


      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 Getting Started with vSphere SDKs - Updated for SDK 4.1 release 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


        • 1. Re: Difference between APIs / SDKs and their purpose
          tos2k Expert



          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.



          1 person found this helpful
          • 2. Re: Difference between APIs / SDKs and their purpose
            storm27 Enthusiast





            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!









            • 3. Re: Difference between APIs / SDKs and their purpose
              devta Novice

              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?

              • 4. Re: Difference between APIs / SDKs and their purpose

                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.