Contents and Structure of an Extension

A vSphere solution must register with
as an extension. If you register a solution with
, you can mark virtual machines as belonging to that solution, and integrate it with
and ESX Agent Manager.
extensions can have both a client and a server component, or they can consist of just a client component or just a server component. Each instance of an extension is represented by an
Extension
data object.
An extension can define events, tasks, faults, and privileges for performing operations on the objects that the solution exposes to
, or on existing
objects.
  • Events inform users about occurrences in the solution.
  • Tasks are operations that the extension performs.
  • Faults signal errors in the extension to the end users.
  • Privileges define which users or user groups can access the objects in the extension and perform tasks on them.
Solutions typically include Web pages that appear in
. You can use the pages to configure the solution and to manage the objects that the solution exposes.
An extension is typically a Web application that runs in an application server or a script that
accesses through a URL. You can implement the Web server features by using any of the following programming languages.
  • Java Servlets or Java Server Pages (JSP)
  • Microsoft Active Server Pages (ASP.NET)
  • Common Gateway Interface (CGI) scripting
  • Static or dynamic HTML pages
For example, the EAM Sample Solution uses Java, the Spring Framework, and WSDL to implement its Web application.
An extension performs the following types of tasks:
  • Establishes the connection to
    .
  • Registers the extension with
    ExtensionManager
    .
  • Deploys virtual machines or vApps by using Open Virtualization Format (OVF).
  • Deploys VMkernel modules or ESXi applications as vSphere Installation Bundles (VIB).
  • Exposes the functions of the product that the extension integrates into
    .
  • Provides a user interface to access, configure, and use the extension.
To integrate an extension as a solution with
, the solution must be a valid extension and it must implement the
Extension.shownInSolutionsManager
property. The solution can also provide information about itself to
in the
ExtSolutionManagerInfo
object.
The requirements for integrating a solution with ESX Agent Manager are slightly more restrictive than for integrating with
. For information about requirements, see Integrating Solutions with vSphere ESX Agent Manager.
For information about how to develop
extensions, see the
VMware vSphere Web Client Extensions Programming Guide
.
For information about developing vSphere applications, see the
vSphere Web Services SDK Programming Guide
and the
VMware vSphere API Reference
documentation.