The VMware Infrastructure 3.5 Plugin and Extension Programming Guide – Revision 1 is now available at VIPlugins.com. This document is not sponsored or supported by VMware in any way. In fact, an excerpt from the text:
“While the succeeding pages may give the impression that this paper was written in cooperation with VMware, this work is the result of hours of using Lutz’s Reflector to peer into VMware’s intermediate language (IL), Lutz’s Resourcer to figure out where icons come from (it’s not the icon stork), ProccessMon, FileMon, and RegMon to take a look at things happening in real time, and finally the Microsoft structured query language (SQL) manager to explore the new VI 3.5 database schema. In summary, although the knowledge from these explorations resulted in an idea of the VI plugin architecture and working plugin, do not consider it to be the final word on anything. We will simply have to wait for VMware to provide finality to this matter.
In short, all the information contained in this document may be entirely and completely wrong. Read it at your own risk. If you find yourself stuck in an infinite time loop once you finish, remember two things: 1) ice sculptures impress the heck out of the ladies and 2) you are not god. You may be a god, but not the god. That honor is left to Mr. Morgan Freeman.”
This paper focuses on educating developers on:
Client Plugin Architecture
This includes where plugins are installed, how the VI client discovers local plugins and ones advertised on the VC server, and finally how to create a client plugin.
Server Extension Architecture
Includes how to register server extensions and how to make client plugins centrally available.
Discusses how the VirtualCenter Tomcat installation impacts server extension daemons.
Review the new VirtualCenter database tables that are related to extensions.
Creating Windows Installers
Reveals some problems with creating Windows Installers for server extensions.
Details the namespaces and assemblies VMware provides to create plugins and extensions.
Coins new terminology that developers can use when discussing the above concepts.
Hope this helps!