The remote plug-in sample in the vSphere Client SDK shows how to design and implement, deploy and register a remote plug-in. The sample is functionally simple, to focus on displaying the infrastructure rather than the business logic.

The sample remote plug-in package contains several components:

  • The user interface is written in JavaScript and Angular, using Clarity design components to maintain compatibility with the vSphere Client user interface.
  • The sample plug-in server is written in Java, but Java is not a requirement. The server includes the following:
    • In-memory data storage for fictitious Chassis objects.
    • Controller logic to handle user interface requests for Chassis objects and vSphere HostSystem objects.
    • Service interfaces for operations on both kinds of objects.
    • A library layer to interface to vCenter Server, including logic to handle delegated authentication.
  • The plugin.json file specifies the vSphere Client extension points that the plug-in extends.
  • The spring-context.xml file contains the Spring bean definitions for the plug-in server.
  • The pom.xml file specifies how Maven will install dependencies and build the plug-in deliverable.
  • The application.properties file specifies properties that the Spring application server uses to deploy the plug-in server.
The following diagram illustrates the basic architecture of the remote plug-in sample, when installed in a simple vSphere environment.
Figure 1. Remote Plug-in Sample Environment
Illustration shows browser, server, registraiton tool, and relationships to vCenter Server.