Skip to content

Latest commit

 

History

History
84 lines (64 loc) · 2.67 KB

user-guide.adoc

File metadata and controls

84 lines (64 loc) · 2.67 KB

Maven Plugin for API Gateway Policy Development: User Guide

1. About the Plugin

Working as a team on policy development has some challenges. Even if PolicyStudio supports team development it requires manual effort to manage dependencies and to keep the sources in sync. Using shared policies is done by including source code folders. But there is no defined way of how to locate the folders and how to version the source code (especially if they are located in separate SCM repositories). This also makes it difficult to share policies between different teams or within a community.

Environmentalization is used to develop policies or gateways, independent of the target environment. The configuration is done with ConfigurationStudio as a separate step. But, as it is a GUI based application, detecting unconfigured fields is a manual and error prone process. Configuration issues are detected at runtime and not at build time.

The goal of this project is to make the life of a policy developer and gateway administrator easier by extending the power of Apache Maven with a plugin for Axway API Gateway.

2. Introduction

2.1. Project Types

The plugin supports three kind of API Gateway projects:

Project Type Generated Artifact Description

Policy Project

Policy Archive

  • policy directory (as generated by PolicyStudio)

  • static files

Shared and reusable policies. No sever settings are included in the project. Policy projects may depend on other policy projects or external libraries (JARs).

Server Project

Server Archive

  • .pol file

  • .env file

  • static files

  • external libraries (JARs)

Policies including server settings. Server projects may depend on other policy projects or external libraries (JARs). Server projects are environment independent.

Deployment Project

Deployment Archive

  • .fed file (environment specific)

  • static files

  • external libraries (JARs)

Configures the environment independent server projects for a specific environment or group. A deployment project depends on exactly one server project.