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 withExtensionManager.
- 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.