User interface elements in the vSphere Web Client and the vSphere Client` interact with Java services that run in the application server, called the Virgo server. The Java services on the Virgo server communicate with vCenter Server, ESXi hosts, and other data sources within and outside of the vSphere environment.

The principal Java service included in the service layer is the Data Service. The Data Service provides data on objects that vCenter Server manages, using a query-based information model. Components in the vSphere Web Client and user interface layer, such as Flex and HTML data views, send queries to the Data Service for specific objects or attributes. The Data Service processes each query and returns responses.

When you create an extension in the user interface layer that requires data not provided by the Data Service, you must extend the service layer with new providers for the data. This chapter explains how to create Data Service extensions, how to create a custom Java service, how to access data using the vSphere Web Services API or the Data Services interface, and how to import services in a user interface module.

For more information about the relationships between the components in the different layers, see Understanding the vSphere Web Client Architecture and Understanding the vSphere Client Architecture.