Skip to main content

Plugins

Succeed Insurance needs to understand how to override some of the standard Guidewire functionality. They want to see how plugins provide this functionality.

Learning Objectives

The learning objectives for this module are:

  • Explain the different plugin types found in a InsuranceSuite implementation.
  • Describe how to implement a predefined plugin.

Definition

In Guidewire, a plugin is a Gosu, OSGi Java, or Java class that contains a set of methods called by internal code to execute application functionality. Guidewire plugins run in the same Java Virtual Machine (JVM) process as the Guidewire application itself.

Plugin Registry

A plugin might do the required work by itself or it might interact with other external systems. If a plugin must retrieve data from an external system, the integration point must be synchronous. Guidewire strongly recommends that you carefully consider response time, including network response time, as you write your plugin implementations.

In some cases, calls to a plugin block the user from doing further work until the call is complete. End users should not wait for long responses from the application. Developers must ensure that predefined plugins perform quickly and, when possible, synchronously.

For more information about the plugin types, check out this set of Guidewire documentation site.

Types of Plugins

Predefined Plugin - Used to implement customizable behavior for predefined points in the application.

Messaging Plugin - Used to send messages to external systems and to process the resulting replies.

Startable Plugin - Used to listen for incoming messages from external systems and processes them asynchronously.

Configuring a plugin

The following are the steps that should be used to implement a plugin.

  1. Determine the plugin interface - The Integration Guide for each product describes all the plugins in the plugin overview chapter. In some cases, there are numerous issues around a given plugin, and therefore an entire chapter in the documentation is devoted to it.

  2. Create a new Gosu class that implements the interface for the plugin.

  3. Register the plugin - Predefined plugins must be named after the plugin interface. The plugin name and the plugin interface name must be identical for all plugins other than startable or messaging plugins.

  4. Deploy the plugin - If this is a newly registered plugin or if the registration has changed, then the server will have to be restarted.

For more information about plugins, check out this set of Guidewire documentation site.

Plugin Parameters

Plugin Registry

Plugin parameters can be useful in the following situations:

  • You want a single plugin implementation to have different behavior over time (such as changing the username or password needed to access a remote system).

  • You want a single plugin implementation to have different behavior in a development environment compared to a production environment.

  • You want a single plugin implementation to have different behavior on different servers in a clustered environment.

Plugin parameters can be read by the implementation class at startup. In order to read the parameters, the class must implement the InitializablePlugin interface.

Demonstration

The following demonstration shows how to create a new predefined plugin.

Student Workbook

To practice what you have learned try out this exercise to implement a predefined plugin.


Knowledge Check

To validate your knowledge please complete this Knowledge Check of the information you just read.