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