The vSphere Web Client service layer is a collection of Java services that run on the vSphere Web Client application server, called the Virgo server. The Java services on the Virgo server communicate with vCenter Server, ESX hosts, and other data sources within and outside of the vSphere environment.
The principal Java service included in the vSphere Web Client service layer is the Data Service. The Data Service provides data on objects managed by vCenter Server using a query-based information model. Components in the vSphere Web Client user interface layer, such as Flex data views, send queries to the Data Service for specific objects or attributes. The Data Service processes each query and returns responses.
Components in the user interface layer can use a Flex library called the Data Access Manager to communicate with the Data Service in the service layer. The Data Access Manager library is included with the vSphere Web Client SDK. See Architecting Data Views.
You can extend the vSphere Web Client Data Service to process queries for new data sources. The new data can come from other sources inside the vSphere environment, such as specific ESXi hosts, or from external web sources. When you extend the vSphere Web Client Data Service, your extensions in the user interface layer can communicate with new data sources using the existing methods and libraries, such as Data Access Manager.
You extend the Data Service by creating a Java service called a Data Service Adapter. A Data Service Adapter can either retrieve new properties for existing vSphere objects, or it can retrieve information on entirely new custom objects. You must create different types of Data Service Adapters, depending on whether your environment has added new data to existing vSphere objects, or has added custom objects to the virtual infrastructure.
You can create custom Java services to work with your Flex components. These custom Java services are typically used for performing action operations that make changes to the vSphere environment. Custom Java services are generally used as “pass-throughs” to back-end processes or external data sources. A best practice is to limit your Java service to dispatching requests from the vSphere Web Client and returning data, and implementing extensive or resource-intensive logic on your own external server.
vSphere Web Client Data Flow shows the relationship between Flex components in the vSphere Web Client, Java components on the Virgo server, and data sources in the vSphere environment.
vSphere Web Client Data Flow
This chapter includes the following topics: