Skip to content

This repository holds a sample stand-alone agent implementation Gradle project for connecting Azure API Gateway with API Control Plane, utilizing the Agent SDK.

Notifications You must be signed in to change notification settings

SoftwareAG/webmethods-api-control-plane-agent-azure

Repository files navigation

webMethods API Control Plane Agent for Azure API Management Service

Version 1.0.0 Agent SDK Version 1.0.0 API Control Plane Version 11.0.4 Azure API Management Service Azure Functions Azure Subscriptions Azure API Management Service SDK

Java 17 Gradle 7.4.2 Spring

This repository holds an agent implementation Java project for connecting Azure API Management Service with API Control Plane, utilizing the Agent SDK. The key functionalities include:

  1. Registering Azure API Management Service with API Control Plane.
  2. Retrieving Azure API Management Service’s health status and sending it to API Control Plane.
  3. Publishing Azure API Management Service’s assets to API Control Plane.
  4. Synchronizing assets between Azure API Management Service and API Control Plane.
  5. Retrieving metrics from Azure API Management Service to API Control Plane.

This project is developed using Java 17 and Gradle 7.4.2
If you plan to upgrade Gradle, ensure that you also upgrade the supported Java version accordingly. For details about the compatibility between Java and Gradle versions, see Compatibility Matrix.

Table of Contents

Implementation Overview

The implementation utilizes the Manual approach of the Agent SDK, providing options for deploying the Azure agent as a stand-alone application. For details about the Agent SDK implementation approaches and deployment modes, see Agent SDK documentation. The implementation leverages Azure SDK for API Management Service to:

  • Manage connections and authentication for Azure API Management Service
  • Retrieve APIs and metrics from Azure API Management Service

Note: The agent implementation is compatible with API Control Plane version, 11.0.4 and currently supports only the REST, SOAP, and Graph QL APIs of Azure API Management Service.

The Azure agent can be deployed in the following ways:

  • Spring Boot application
  • Azure Functions

For a detailed understanding of how the agent for Azure API Management service is implemented, see Core Implementation Logic.

The Azure agent developer can utilize this repository in the following ways:

  • Use the repository directly to build and deploy the Azure agent.
  • Fork the repository, customize the code as required, and then build and deploy the Azure agent.

How is this Repository Structured?

This section outlines the Git repository's structure, highlighting the purpose of each directory. For details, see Repository structure.

Co-relation Between Azure API Management service and API Control Plane Terminologies

This section details the relationship and equivalence between the terminologies used in Azure API Management service and the API Control Plane. For details, see Co-relation.

How to Build the Gradle Project?

For details, see How to build?

How to Deploy and Run the Azure Agent as a Spring Boot Application in Docker?

This section details how to deploy the Azure agent as a stand-alone application. For details, see How to deploy?

How to Deploy and Run the Azure Agent in Azure Functions?

Azure Functions is a cloud service provided by Azure that lets you deploy and run your application without provisioning or managing servers. You are responsible only for the agent application code that you provide to Functions and the configuration of how the Function runs that code on your behalf. For details about Azure Functions, see Azure documentation.

Deploying an Azure agent using Azure Functions lets you run the agent virtually without the need for administration of the underlying infrastructure. Azure Functions support various tools for creating and deploying Functions in Java. For details, see Azure documentation. This tutorial specifically covers the creation and deployment of Azure Functions in Java using the following tools:

  • Visual Studio Code
  • Azure CLI

For details about how to deploy and run the Azure agent in Azure Functions, see How to deploy?

Best Practices

This section outlines the essential best practices for using this implementation and deploying the Azure agent. For details, see Best Practices.

References

About

This repository holds a sample stand-alone agent implementation Gradle project for connecting Azure API Gateway with API Control Plane, utilizing the Agent SDK.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published