vSphere Client-Server Architecture

VMware vSphere client applications participate in a distributed architecture that uses an asynchronous communications model. This architecture is based on server-side managed objects, client-side managed object references, and data objects.
  • Managed objects exist on a vSphere server (ESXi or vCenter Server systems). They represent vSphere services and components. Services include
    PropertyCollector
    ,
    SearchIndex
    ,
    PerformanceManager
    , and
    ViewManager
    . Components include inventory objects such as
    VirtualMachine
    ,
    Datastore
    , and
    Folder
    .
  • Managed object references are client application references to server-side managed objects. Your client application uses
    ManagedObjectReference
    objects when it invokes operations on a server. A
    ManagedObjectReference
    is guaranteed to be unique and persistent during an object's lifetime. The reference persists after an object has moved within the inventory, across sessions, and across server restarts. If you remove an object, for example, a virtual machine, from the inventory, and then put it back, the reference changes.
  • Data objects contain information about managed objects. Your client application sends data objects to and receives data objects from a vSphere server. Examples are the different specification and capability objects such as
    VirtualMachineConfigSpec
    and
    HostCapability
    .
Figure 1 shows a vSphere server and client application. The client has a managed object reference to a virtual machine on the server, and a copy of the
GuestInfo
data object for the virtual machine. A client must maintain its copy of a data object because, depending on the type of client request, a vSphere server might send property data for a data object as a set of name-value pairs associated with a managed object reference. See the description of the
ObjectContent
data object in the
vSphere API Reference
.
vSphere Server and Client
Shows vSphere server and client operation.
The VMware vSphere application model uses an asynchronous client-server communication model in most cases. Methods are nonblocking and return a reference to a
Task
managed object. For more information about this managed object, see Tasks and Scheduled Tasks.