How plug-ins work

A detailed example of how iSeries Navigator will locate a new plug-in and install it in a new configuration

The following illustration demonstrates how a Java™ plug-in that adds a new container to the iSeries™ Navigator tree could work.

After identifying the new plug-in to the Windows® registry, iSeries Navigator will find the new plug-in and install it in a new configuration. Afterwards, the new container will appear in the iSeries Navigator hierarchy. When the user selects the container, the plug-in's Java code is called to obtain the container's contents--in this case, a list of messages on the user's default message queue.

Figure 1. iSeries Navigator dialog -- messages in the message queue
Operations Navigator message queue

iSeries Navigator communicates with the Java plug-in by calling methods defined on a Java interface: ListManager. This interface lets Java applications supply list data to the Navigator's tree and list views. To integrate your application into iSeries Navigator, you create a new Java class that implements this interface. The methods on the new class call into your existing Java application to obtain the list data, as shown below.

Figure 2. How iSeries Navigator calls an application to obtain list data

How iSeries Navigator obtains list data

What happens when the user wants to perform an action on one of your objects? The illustration below shows what happens when the user right-mouse clicks on a message object to display its context menu.

Figure 3. iSeries Navigator object context menu

iSeries Navigator object context menu

iSeries Navigator calls a predefined method on another Java interface: ActionsManager. This interface obtains the list of menu items supported for message objects. Once again, you would create a new Java class that implements this interface. This is how you make your application's specialized functions available to your users through iSeries Navigator. When the user selects the menu item, the Navigator calls another ActionsManager method to perform the action. Your ActionsManager implementation calls your existing Java application, which then can display a confirmation dialog or some other more sophisticated user interface panel that allows the user to perform a specialized task. The iSeries Navigator user interface is designed to let users work with lists of iSeries server resources and to perform actions on them. The architecture of the plug-in feature reflects this user interface design, both by defining interfaces for working with lists of objects in a hierarchy, and for defining actions on those objects. A third interface, DropTargetManager, handles drag-and-drop operations.