You extend the vSphere Web Client by creating plug-in modules. Each plug-in module extends either the user interface layer or the service layer of the vSphere Web Client. The user interface plug-in modules and service plug-in modules together form a complete solution to add new capabilities to the vSphere Web Client graphical user interface.
■
|
You have extended the vSphere environment in some way. You can extend vSphere by adding a new type of object to the environment, or by adding more data to an existing object. If you have extended vSphere in this way, you can extend the vSphere Web Client with new user interface elements that allow users to observe, monitor, and control these new objects.
|
■
|
You want to view existing vSphere data in a different way. You can extend the vSphere Web Client without having added new objects or data to the vSphere environment. For example, you might want to collect existing vSphere data on a single screen or location in the user interface. Shortcuts, global views, and Object Navigator inventory lists are examples of extensions that you can use for these purposes. You can also create a new sub-tab, portlet, or other data view that displays existing vSphere data, such as performance data, as a custom graph or chart.
|
A user interface plug-in module adds one or more extensions to the vSphere Web Client user interface layer. Extensions to the user interface layer can include new data views, either in the virtual infrastructure or as global views. When you create a data view extension, you must also create the actual GUI objects in Adobe Flex and package them in the plug-in module. These Flex objects rely on data from the vSphere Web Client service layer. You can use the libraries included with the vSphere Web Client SDK to enable communication between your Flex objects and the service layer.
Other user interface extensions can include new workspaces for custom objects, shortcuts added to the Object Navigator or Home Screen, new relations between vSphere objects, and new actions associated with vSphere objects.
See User Interface Layer for a complete discussion of the types of extensions you can add to the vSphere Web Client user interface.
You can add new Java services to the vSphere Web Client service layer. The Java services you add can perform any of the functions of a typical Java web service. In general, however, Java services you add to the vSphere Web Client service layer are used to retrieve data from the vSphere environment for display in the user interface layer, or to make changes to the vSphere environment in response to actions in the user interface layer.
Service plug-in modules that gather data from the vSphere environment usually extend the native services on the vSphere Web Client application server, such as the Data Service. While it is possible create standalone custom Java services for data gathering, it is a best practice to extend the built-in services in the vSphere Web Client SDK. Extensions to the built-in services in the vSphere Web Client SDK are often simple wrappers around existing Java services that you create.
The service extensions you create can access data from any source, either inside or outside of the vSphere environment. For example, you can create an extension to the Data Service that retrieves data from an external web server, rather from than vCenter Server.
Service plug-in modules that make changes to the vSphere environment are standalone Java services that you create. These services are used when the user invokes an action in the vSphere Web Client user interface. If you create an action extension, you must also create the Java service that actually performs the action operation on the vSphere environment as a service plug-in module.
The plug-in modules you must create for your solution depends on the features your solution provides for the user. Most extension solutions include at least one user interface plug-in module, to add a new feature to the vSphere Web Client user interface. Depending on what types of extensions your user interface plug-in module contains, you might also need to add a service to the service layer to support your user interface extensions.
A global view is a custom data view that appears in the vSphere Web Client main workspace. You can use a global view to display any data you want, from inside or outside the vSphere environment. Typical uses for global views include “dashboard” applications that display information on many different vSphere objects, or complex monitoring or management applications that are separate from the virtual infrastructure.
You can add data view extensions to the object workspace for any existing object in the vSphere Web Client. The vSphere Web Client provides extension points to let you add Flex elements to the existing
Getting Started,
Summary,
Monitor,
Manage, and
Related Objects tabs for each type of vSphere object, such as a host, virtual machine, or cluster. These data view extensions are displayed as sub-tabs or sub-tab views in the object workspace hierarchy.
To add a data view to an existing object workspace for a vSphere object, you must create a user interface plug-in module that contains a data view extension. The data view extension specifies the Flex component that appears in the main workspace in the object workspace hierarchy.
If your data view extension requires data from the vSphere environment that the vSphere Web Client Data Service does not already provide, you must also create a Data Service Adapter to extend the Data Service.
You can create actions associated with existing vSphere objects, such as hosts, clusters, or virtual machines. When you create an action extension, your actions are added to the vSphere Web Client Actions Framework. The Actions Framework displays the available actions for a given object to the user with toolbars and context menus in the vSphere Web Client main workspace.
To add an action to an existing vSphere object, you must create a user interface plug-in module that contains an action extension. The action extension specifies the details of the action, including when the action is available and how the action is handled.
You must also add a Java service to the vSphere Web Client service layer. The Flex code that handles the action execution must import the Java service. The Java service is responsible for performing the action operation on the vSphere environment.
You can add entirely new object types to the vSphere environment, and extend the vSphere Web Client to display information about the new objects. The vSphere Web Client SDK includes templates that you can use to create the standard object workspace, including the
Getting Started,
Summary,
Monitor,
Manage, and
Related Objects tabs, for your custom object type.
The plug-in modules you create for your extension solution, for the both the user interface layer and the service layer, are deployed to vSphere in plug-in packages. A plug-in package bundles together one or more plug-in modules. Each plug-in package represents a complete solution for the vSphere Web Client. The package contains at least one user interface plug-in module, that adds new elements to the vSphere Web Client user interface, and might contain one or more Java services that are required to provide the new elements with data.
You deploy plug-in packages to a vCenter server by registering with the server’s ExtensionManager API. When the vSphere Web Client connects to a vCenter server, the vSphere Web Client downloads and deploys any plug-in packages that are currently registered with the vCenter server.