このセクションでは、Apigee Edge プラットフォームにデプロイされた API プロキシでよく見受けられる各種のアンチパターンについて説明します。
これらのアンチパターンのそれぞれを明確に特定することができ、推奨される適切な手法によって修正可能です。これにより、Edge にデプロイされた API は API 自体の本来の目的を適切に果たせるようになり、より高い性能を発揮します。
アンチパターンの概要
次のテーブルは、このセクションで説明するアンチパターンの一覧を示します。
カテゴリ | アンチパターン |
---|---|
ポリシーに関するアンチパターン |
|
パフォーマンスに関するアンチパターン | |
一般的なアンチパターン | |
バックエンドに関するアンチパターン | |
Edge for Private Cloud に関するアンチパターン |
アンチパターンに関する電子書籍のダウンロード
上記のリンクに加え、各種のアンチパターンについての説明を電子書籍としてダウンロードできます。
アンチパターンとは
Wikipedia によると、ソフトウェアのアンチパターンは次のように定義されています。
ソフトウェア開発におけるアンチパターンとは、一般的によく使用されている、非効果的または効率を下げてしまうプラクティスの傾向です。
つまりアンチパターンとは、ソフトウェアのユーザーが所定の操作を実行できるとはいえ、機能性、サービス性、パフォーマンスに悪影響が及ぶ可能性のある開発パターンです。
たとえば、全能者のような響きがある「God クラス / オブジェクト」について考えてみましょう。
オブジェクト指向の用語で言えば、God クラスはある特定のアプリケーションにおいて、数多くのクラスを管理するクラスです。
例として、次のような参照ツリーを持つアプリケーションがあるとします。
図からわかるとおり、God クラスが使用および参照するクラスの数は多すぎます。
このアプリケーションの開発に使われたフレームワークでは、このようなクラスの作成が禁止されてはいませんが、この設計ではあまりにも不便です。主な問題点は次のとおりです。
- 管理が困難
- アプリケーションの実行中に単一障害点が生じる
結果として、こうしたクラスの作成は避けるべきです。これがアンチパターンです。
対象
このセクションの主な対象読者は、サービス提供用の API プロキシを設計、開発する一連のライフサイクルを経験している Apigee Edge デベロッパーです。このセクションを、API 開発のライフサイクルで、またはトラブルシューティングでの参照ガイドとして使用するのが理想的です。