Introduction
The Nirvana Realm Server supports the concept of “Plugins”
within the context of the NHP or NHPS protocols. The
plugins are initiated when the underlying Nirvana driver
receives a n HTTP/S packet which is not part of the
standard Nirvana protocol. At this point it passes the
request over to the Plugin Manager to see if there is
any registered plugins interested with the packets URL.
If there is, then the request is forwarded to this Plugin
for processing. There are several plugins supported
by Nirvana 3.1. Please see below for available documentation.
:
File Plugin
XML Plugin
Proxy passthrough Plugin
Servlet Plugin
SOAP Plugin
WebExpress Plugin (AJAX / Comet messaging)
|  |
Configuration
Configuration of a plugin can be done programmatically
with the Admin API supplied
with Nirvana or it can be done with the EnterpriseManager
application. For the rest of this document the EnterpriseManager
will be used.
In order to add a plugin, first of all you need to
have created
the nhp or nhps interface that will use the plugin
within the realm where you wish to run the plugin. Once
the interface is created, select the interface from
the table of configured interfaces for the chosen realm,
and then select the tab labelled 'Plugins' from the
interface configuration panels. Clicking on the 'Add
Plugin' button will present you with a dialog that enables
you to choose which plugin you wish to add. The diagram
below shows a new File Plugin about to be added to the
known interface NHP0.

URL Path
When you configure a plugin, you are required to add
a URL Path. The URL Path is what the realm server used
to determine if the request if destined for a plugin.
If the server matchs the URLPath portion of the URL
supplied within the request to a configured plugin,
then this request is passed to the correct configured
plugin for processing. For example:
If a request with a URL of http://realmServer/pluginpath/index.html
is made to the server, the file path will be extracted
, i.e. pluginpath/index.html, and the configured plugins
will be scanned for a match. If we had a File Plugin
configured with a URL Path as pluginpath, then this
plugin will get a request for index.html.
Similarly:
If a request with a URL of http://realmServer/pluginpath/pictures/pic1.jpg
is received, then the same File Plugin would get a
request for pictures/pic1.jpg.
|