4.0

Table Of Contents
technology, to allow Orchestrator to launch defined actions if certain events
occur on the object, or if the object's values pass certain thresholds. Similarly,
you can define PluginTrigger and PluginWatcher instances that define events
that Wait Event elements in long-running workflows await.
Sets the plug-in name
You provide a name for the plug-in in the vso.xml file. The plug-in adapter gets
this name from the vso.xml file and publishes it in the Orchestrator client
Inventory view.
Installs licenses
You can call methods to install any license files that the plugged-in technology
requires in the adapter implement.
For full details of the IPluginAdaptor interface, all of its methods, and all of the other classes of the plug-in
API, see “Orchestrator Plug-In API Reference,” on page 216. For an examination of an example implementation
of the IPluginAdaptor interface, see “Create a Plug-In Adapter,” on page 186.
Roles of the Plug-In Factory
The plug-in factory defines how Orchestrator finds objects in the plugged-in technology and performs
operations on the objects.
To create the plug-in factory, you must implement and extend the IPluginFactory interface from the
Orchestrator plug-in API. The plug-in factory class that you create defines the finder functions that Orchestrator
uses to access objects in the plugged-in technology. The factory allows the Orchestrator server to find objects
by their ID, by their relation to other objects, or by searching for a query string.
The plug-in factory performs the following principal tasks.
Finds objects
You can create functions that find objects according to their name and type.
You find objects by name and type by using the IPluginFactory.find()
method.
Finds objects related to
other objects
You can create functions to find objects that relate to a given object by a given
relation type. You define relations in the vso.xml file. You can also create finders
to find dependent child objects that relate to all parents by a given relation type.
You implement the IPluginFactory.findRelation() method to find any
objects that are related to a given parent object by a given relation type. You
implement the IPluginFactory.hasChildrenInRelation() method to discover
whether at least one child object exists for a parent instance.
Define queries to find
objects according to
your own criteria
You can create object finders that implement query rules that you define. You
implement the IPluginFactory.findAll() method to find all objects that satisfy
query rules you define when the factory calls this method. You obtain the
results of the findAll() method in a QueryResult object that contains a list of
all of the objects found that match the query rules you define.
For more information about the IPluginFactory interface, all of its methods, and all of the other classes of the
plug-in API, see “Orchestrator Plug-In API Reference,” on page 216. For an examination of an example
implementation of the IPluginFactory interface, see “Create a Plug-In Factory,” on page 158.
Chapter 7 Developing Plug-Ins
VMware, Inc. 145