Components in the Remote Plug-in Sample

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.
Remote Plug-in Sample Environment
Illustration shows browser, server, registraiton tool, and relationships to
						vCenter Server.