The vSphere Client architecture consists of three layers: the user interface layer, the Java service layer, and the back end layer.

User Interface Layer

The user interface layer consists of an HTML platform that provides a framework for plug-in extensions displayed in a Web browser. The HTML application contains all user interface elements with which the user interacts, such as menus, commands, home screen shortcuts, and other views. You can use the user interface elements to view information about an object in the vSphere environment and to make changes to your vSphere infrastructure.

The vSphere Client platform ensures that each plug-in view is isolated from the vSphere Client application, which allows you to use the UI technology of your choice when developing HTML plug-ins. You can also use any library to implement the UI components within your views.

At the user interface layer vSphere Client plug-ins use the JavaScript API to communicate with the HTML platform components.

Java Service Layer

The Java service layer provides session management, a data query interface, controller components, and communication with the back end layer. HTML platform components use RESTful API calls over HTTPS to communicate with the Java platform in the service layer.

The service layer is based on the Spring MVC and the OSGI framework. Both the platform services and the vSphere Client plug-ins run in this environment.

Back End Layer

The back end layer consists of services belonging to VMware vCenter Server, and of services created by third parties. Java components in the service layer use the vSphere Web Services SDK to access one or more instances of vCenter Server, or any custom or standard API to access third party services.

vSphere Client Architecture diagram, showing 3 layers of software.