The SDK was formerly referred to as the Masking Algorithm SDK, but it is now referred to as the Masking Extensible SDK, as of SDK version 1.5.0, as it now allows for the development of different types of extensible plugins. As of Delphix release 18.104.22.168, the Delphix Masking Engine supports the installation of plugins, written in Java, that provide new masking algorithms; and as of 22.214.171.124, driver support plugins. The former feature is referred to as Extensible Algorithms and the latter is referred to as Extensible Driver Supports. This section of the documentation details all aspects of masking algorithm and driver support plugin usage and development. The Guided Tour portion of the workflows section for Extensible Algorithms and Extensible Driver Supports walk the user through the basic process of building a simple plugin and installing it onto the Delphix Masking Engine. Other sections explore in-depth topics such as making algorithms configurable, consuming input files, etc.
This documentation assumes the reader has some familiarity with Java development as well as operation of the Delphix Masking Engine via both the UI and Web API Client. The reader should also understand the security requirements associated with any new algorithms being developed.
Before Getting Started¶
This documentation assumes you have a functional Java 8 development environment. Instructions for setting up a basic development environment are here.
You should also download the Extensible SDK binary package from the Delphix download site and unpack it into a new directory on your development system. This directory - the root of the unpacked archive - will be referred to as sdk_root.
It's helpful to add the binaries directory to your PATH. On a UNIX like system, this command will add the SDK utilities to PATH:
It is presumed that the SDK bin directory is in the user's PATH throughout this documentation.
The Extensible SDK provides a number of useful functions that aid development of new algorithms and driver supports for the Delphix Masking Engine. It is available on the Delphix software download site.
- Creation of empty "skeleton" projects, with build files - the maskScript init sub-command
- Creation of empty class files for algorithms and driver supports - the maskScript generate sub-command
- Testing of masking algorithms and driver supports without a masking engine
- The maskApp CLI (only algorithms)
- The maskScript mask sub-command (both algorithms and driver supports)
- Uploading of plugins to the masking engine - the maskScript install sub-command
- Sample algorithms and driver supports that illustrate the usage of key features of the Masking Plugin API
The SDK shares some key elements with the Masking Engine, so in order for the SDK to provide behaviors as close as possible to the Masking Engine, use the SDK version which corresponds to the Masking Engine where you are planning to use the created algorithm(s). The SDK and the Masking Engine use a common Masking API which provides the mechanisms to run the extensible algorithms. Masking algorithms built on the SDK using the latest Masking API will not necessarily run on an older Masking Engine version.
|Delphix Release||Masking API*||Extensible SDK*|
* Note that prior to Delphix Release 6.0.9 and SDK release 1.5.0, Masking API was referred to as Algorithm API and Extensible SDK as Algorithm SDK.
Getting More Information¶
Several other sources of information are available to aid in plugin development:
- The README.md file under docs in the Extensible SDK download archive
- The Masking Plugin API Javadoc
- Invoke maskScript (located under sdkTools/bin in the SDK download) with the -h option for usage help
- Type help at the maskApp (also under sdkTools/bin in the SDK download) command prompt