Create the Program that Manages the Extension

An extension communicates with vCenter Server across a network, so you can use any programming language to create the program that manages an extension.

The product that you are exposing as an extension to vCenter Server determines the way you create the program that will manage your extension. The managing program must implement Extension to provide the information that vCenter Server requires to register the extension.

For example, you can create a solution that defines its server side in a MyManager class.

The MyManager.java can performs the following tasks for your solution.

  • Sets up your solution by obtaining the values for the extension key, vCenter Server connection, IP addresses, and port configuration from the mysolution.properties file.
  • Secures the connection to vCenter Server by using TLS.
  • Defines methods to construct the URLs through which to access the server side of the extension.
  • Implements the Extension object to register your solution as an extension with vCenter Server.
  • Integrates your solution as a solution with ExtensionManager.
  • Connects the solution to the ESX Agent Manager.
  • Instantiates the class that defines the ESX agents that the solution deploys.
  • Starts the solution in vCenter Server.
  • Defines a task to unregister the solution from vCenter Server.

Prerequisites

Download the vSphere ESX Agent Manager SDK.

Procedure

  1. Create a program to manage your extension using the programming language of your choice.
    For example, you can create a MyManager class to manage the extension. MyManager can implement the Spring Framework API.
    public class MyManager implements InitializingBean {
    }
  2. Create an instance of the Extension data object with which to register the extension with vCenter Server.
    The MyManager class can define an internal method that instantiates an Extension.
    public class MyManager implements InitializingBean {
    
      [...]
      private Extension createExtensionObject() {
        Extension extension = new Extension();
      [...]
      }
    }

What to do next

Connect the extension to vCenter Server.