---
schema_version: "1"
id: db96dc51fa9855aba5502330f4ebab20d1aef2f730d3614c590a95a18a873be8
title: ポリシー開発キットのアーキテクチャの概要
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/pdk/1.4/policies-pdk-architecture.md
canonical_url: https://docs.mulesoft.com/jp/pdk/1.4/policies-pdk-architecture
source_site: docs.mulesoft.com
content_type: documentation
content_hash: ce4c6d41c471dddc5cef0c1d2437b55b7ce67632cf09c092c57dfcdfad87c99f
description: MuleSoft Documentation Site
release: "1.4"
latest: false
---
# ポリシー開発キットのアーキテクチャの概要

Flex Gateway ポリシー開発キット (PDK) は次のコンポーネントから構成されています。

- [\[anypoint-cli-pdk-plugin\]](#anypoint-cli-pdk-plugin)​: ポリシーを生成して Exchange に配布する
- [\[policy-template\]](#policy-template)​: 新しいカスタムポリシーをスキャフォールディングする
- [SDK ビルドツール](#sdk-building-tools)​: 開発プロセスを簡素化する

## [](#anypoint-cli-pdk-プラグイン)Anypoint CLI PDK プラグイン

Anypoint CLI PDK プラグインは PDK プロジェクトを作成し、ポリシーアセットを Exchange にアップロードします (接続モードのみ)。プロジェクトの作成後、PDK は以降のすべての開発ステップを完了するための簡易コマンドセットを ​`Makefile`​ で提供します。

## [](#ポリシーテンプレート)ポリシーテンプレート

PDK はポリシーを作成する際に、いくつかの簡易スキャフォールディングを生成します。

生成されたすべてのファイルには、ポリシーを適切にコンパイルするために必要な情報が含まれています。

内部についての詳細は、​[「プロジェクト構造」](https://docs.mulesoft.com/jp/pdk/1.4/policies-pdk-create-project#project-structure)​を参照してください。

## [](#sdk-ビルドツール)SDK ビルドツール

Flex Gateway は Envoy 上に構築されており、開発されるポリシーは、イベント駆動型の [proxy-wasm](https://github.com/proxy-wasm/spec)​ アーキテクチャとの互換性を持っている必要があります。

`proxy-wasm`​ のイベント駆動型アーキテクチャでは、1 つの要求を処理するさまざまなイベントをユーザーが管理する必要があります。そのため、次のような問題が生じ、イベント駆動型コードの開発や保守にコストがかかってしまいます。

- ビジネスロジックとエントリポイントの結合によるコードの複雑化
- 共通のロジックをモジュール化できないことに起因するモノリシックなコード
- 関数のコールバックとエラー伝搬を困難にする、冗長な非線形の制御フロー

PDK は、Reactor パターンと Executor パターンを使用することで、イベント指向のコーディングアプローチを抽象化するビルドツールを提供します。PDK は開発者に、受信要求をリニア方式でコーディングする方法を提供することで、以下を実現します。

- 正しくないコンテキストでのメソッドの使用によるコンパイルエラーやランタイムエラーを減少
- 学習曲線を短縮
- コールスタックの最小化によりデバッグ性を向上
- コードの重複を削減
- パラメーターインジェクションを改善
- 動的メモリの使用を削減し、不確定性とカスタムメモリ管理の必要性を低減

## [](#関連情報)関連情報

- [Flex Gateway ポリシー開発キット (PDK) の前提条件](https://docs.mulesoft.com/jp/pdk/1.4/policies-pdk-prerequisites)