Key Property Stores

Overview

A Key Property Store (KPS) is an external data store of policy properties (typically, read frequently, and seldom written to). Using a KPS enables metadata-driven policies. Policy configuration data is stored in an external data store, which is looked up dynamically when policies are executed. You can specify configuration settings in Policy Studio and API Service Manager using selectors, which are evaluated and expanded at runtime.

For example, the following is a simple keyed property in an external data store:

  • Key: customerId

  • URL: http://myapp.test.com

  • Username: john.doe

  • Password: changeme

In this example, the KPS is configured in Policy Studio using an alias of oauth. You can use the following selector to specify the username in Policy Studio and API Service Manager:

${kps.oauth[customerId].username}

For more details on selectors, see Selecting Configuration Values at Runtime.

KPS Backing Data Stores

A KPS provides a consistent interface to object data in different backing data stores. By default, the API Gateway provides support for the following KPS backing stores:

  • JSON file

  • Oracle certificate store (DNAME to certificate, alias to certificate)

  • Database (Oracle, Microsoft SQL Server, DB2, MySQL, JPA, DB schema)

The database support includes generic Java Persistence API (JPA) for serializing Java objects to a database, and existing or custom database schema for writing beans that map keyed property attributes to the schema.

[Note] Note

JSON files and certificate stores are cached on startup. A database-backed KPS is read each time.

You can configure a KPS using Policy Studio (for example, specify details such as store name, alias, type, and provider, or import and export a KPS). For web-based user interfaces, JavaScript-based KPS browser widgets are also available. You can use the KPS Service Provider Interface (SPI) to add custom stores. KPS functionality is exposed using a Java API and a REST API.

Configuring a Key Property Store

To configure a KPS in the Policy Studio, perform the following steps:

  1. In the main Policy Studio tree, select Libraries -> Key Property Stores.

  2. Click Add at the bottom of the screen.

  3. Complete the following fields in the Add Store dialog:

    • Name:

      Enter the KPS name (for example, ApplicationRegister).

    • Description:

      Enter a description for your KPS.

    • Alias:

      Enter an alias used to identify your KPS (for example, appregister).

    • Type:

      Enter a type for your KPS (for example, AppDetails).

    • Store Implementation:

      Enter an implementation for your KPS (for example, com.vordel.kps.storeImpl.StoreImpl).

  4. Right-click the Store Configuration Properties table, and select New Property.

  5. Enter a name-value pair in the Add Property table (for example, Name of key and Value of clientID).

  6. Click OK.

  7. Repeat to add multiple properties.

Further Information

For more detailed information on using a KPS, please contact the Oracle Support Team with your queries (see Oracle Contact Details).