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.