API/フロー開発ツールの特徴紹介
投稿者:平間 博
こんにちは。
私たちIntegrationチームはシステム/アプリケーションを統合するソリューションエンジニアであり、API、メッセージ・データ、ファイルを使った様々なデータソースやアプリケーションの統合において、製品の選定から設計・構築、そして導入後のサポートを行っております。
このBlogでは、私自身がワークショップや検証で触れてきたSaaS版のIntegration/API管理製品が提供するフロー開発ツールとAPI開発/管理ツールの使い勝手について、API開発観点で所見をご紹介します。
– フロー開発ツール
アプリケーションやデータソースを統合するフローをイベントドリブンで実行する目的でAPIを開発しますが、これまで触れてきたフロー開発ツールのAPI開発能力について所見をお伝えします。
● IBM App Connect
開発アセットの可読性は開発者が処理ノード間を線で結ぶ構造のため、規模が大きくなると課題が生じると感じています。また、コネクタを通して対象を操作するにあたり大分製品開発者の志向が反映されているため、非技術者が開発する場合、開発しやすいと感じる反面、設計自由度が低いため、ユーザーを選ぶツールだと思いました。加えて他の2製品と異なり、API管理ツールとの連携には同じリージョンにデプロイが求められる環境条件、アセットを再利用できない特性を理解しておかなければなりません。
● IBM webMethods Integration
費用無料、かつ期限無のFree Forever Editionの提供や、コネクタが無料など評価しやすい製品と思いました。コネクタを通したターゲットシステムの操作も、対象の仕様に準じているため、設計自由度は十分と感じました。ここは非技術者には厳しい側面もあるため、フロー開発そのものをユーザー部門に公開して進めるのではなく、ユーザー部門にはAPIを提供するのが良いと感じました。なお、フローの可読性はIBM App Connectと同等です。
● Mulesoft Anypoint Platform
開発アセットはカード形式で管理されるため、可読性が高いです。フロー開発能力もwebMethodsと同等ではあるものの、評価環境の利用期間が30日(申し込み数に制限無)であったり、コネクタが必ずしも無料ではない点から評価はややしづらい。フロー開発ツールがデスクトップ版であるため、開発端末の通信ポリシー次第では開発がしづらくなる場合があります。(コネクタがSaaS管理のため)
– API管理/開発ツール
APIを公開するためのツールであり、ここでは統合製品との絡みでの所見をお伝えします。
● IBM API Connect
IBM API Connectは今回比較している製品と異なりAPIを開発して公開する特性をもっています。サブスクリプションが拡大すればGateway Scriptというコード埋め込みモジュールも使えるようになっていますが、バックエンドへリクエストを中継するまでに様々なデータ加工を行うことができます。しかし、ヘッダー情報に基づくルーティングに対応できない、API料金設定がSaaS連携が前提など、使いづらい側面もあります。
● IBM webMethods API Management
コーディング、ローコード開発などでAPIを開発するのではなく、外部からAPI記述言語をインポートすることで実装する方式をとっています。加えてIBM webMethods Integrationで作成したAPI定義をエクスポートできるため、API化したフローにAPIセキュリティやプランなどをアタッチできる点より、公開APIを手軽に作れるのがよい所になります。加えて、APIルーティングに対しても柔軟性がある点はIBM API Connectより扱いやすいとも感じています。
● Mulesoft Anypoint Platform
Anypoint Studioで作成したAPI定義をWeb上のAPI Managerにインポートすること方式であるため、ほぼIBM webMethods API Managementと同じ内容です。
以上、SaaS版のIntegrationツールとAPI管理ツールの操作感に関する所見をご紹介となります。Integration Tool系は、ユーザーが実現したいリアルタイム連携/自動化施策によって実装方法も千差万別であるため、今後の関わり方次第で評価が変わることもあると考えています。
今後の関わりでアップデートがありましたら、積極的に発信していこうと思っています。