IBMは先頃、API Microgatewayをオープンソース化したと発表した。これはつまり、開発者や企業が自らのコンピューティングプロジェクトにおいて、このソフトウェアを無償で利用できるようになったということだ。
APIゲートウェイは、複数のAPIサービスとそのコンシューマアプリケーションの間に位置するソフトウェアレイヤである。ソフトウェアの目的は、すべてのAPIに利用可能な、さまざまな共通サービスを提供することにある。セキュリティやレート制限、変更管理ツールなどがその例だ。IBMのMicrogatewayはNode.jsで記述され、Swagger Spec 2.0を採用している。IBMやMicrosoft、Oracleなど大手企業のAPIゲートウェイは通常ライセンス提供されるものであるため、オープンソース化は開発コミュニティにとって朗報だ。ただしIBM Microgatewayを、同社の提供するDataPower Gatewayと混同してはならない。後者は特にセキュリティを重視した、まったく別のエンタープライズソリューションである。
IBM API Microgatewayの主な機能は、ネットワークトラフィック管理、セキュリティ標準(OAuthなど)の実装支援、ポリシ管理などである。YAML API仕様の開発用GUI(グラフィカルユーザーインターフェイス)を提供する、API Designerツールキットも用意されている。コンパクトなデータストアと堅牢なフローエンジンプロセスにより、基本的なAPIデータモデルの永続性と、API参照権限に関する複雑なポリシ設定が可能になる。配布されるソフトウェアには、APIキー検証、基本認証、レート制限など、一般的なユースケースを事前定義したポリシが添付されている。
IBM API Microgatewayの主な目的はポリシ管理だ。既定のポリシを利用しない場合は、フロー管理の一部として、“if”や“switch”ステートメントを駆使した独自のカスタムポリシを作成することができる。プロダクトマネージャのOzair Sheikh氏は、基本的な条件文の枠を越えたポリシ拡張に関して、自社のブログに、“腕をまくって独自ロジックを開発しなければならないようなケースでは、JavaScriptポリシが豊かなペイロードのために究極の柔軟性を提供してくれます”、と記している。基本条件とjavascriptの構成能力を組み合わせることにより、ユーザそれぞれのビジネスニーズとカスタムビジネスロジックに対して、ゲートウェイを適合させることが可能になる。
このゲートウェイのもうひとつの重点は、API定義の認識と生成だ。Swagger Specへの対応により、単一の認識可能なAPI定義標準が存在することになる。同梱のSwagger Editorを使用すれば、独自仕様をYAMLで作成することも可能だ。YAMLの編集は、強風の中でトランプカードの家を組み立てるように繊細な作業であるため、GUIが用意されたことによって、そのプロセスの大幅な時間短縮が可能になる。これらのツールを使えば、ゲートウェイ上で開発者自身のAPIを簡単に定義できるだけでなく、コンシューマ特有のAPI定義に基づいたポリシの作成も可能になる。ただし、ゲートウェイの認識可能な APIタイプはRESTとSOAPに限定されているので、いずれのパラダイムも現在使用していないAPI開発者にとっては、サポート不足となる可能性はある。同じ理由から、Swagger Specが既存のAPIエコシステムに適合しない場合については、Microgatewayのエクスペリエンスは満足のいくものではないかも知れない。しかしながら、オープンソースの大きな特徴として、ソフトウェアにこのような追加や改善が可能な部分がある場合には、コントリビュータの登場が求められるのが常である。
この記事を評価
このコンテンツのトピックは Architecture です。
関連記事:
関連記事
関連スポンサーコンテンツ
InfoQ ニュースレター
毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。 サンプルを見る
We protect your privacy.