APIコラボレーション
APIコラボレーションとは?
APIコラボレーションとは、開発者、テスター、アーキテクト、その他のビジネス関係者が協力してAPIを作成し、利用するプロセスのことです。
APIコラボレーションは、現在のソフトウェアの世界において重要な柱です。この世界では、内部APIがアプリケーションの主要な構成要素として機能し、開発の取り組みを牽引しています。多くの組織は、特定のユーザーや顧客と連携するためにパートナーAPIを構築・維持しており、また一部の組織は第三者の利用者に対して有料の製品としてAPIを提供しています。APIコラボレーションのプロセスはAPIの種類によって異なりますが、すべてのAPIが常に一貫して利用可能であり、高いパフォーマンスを保ち、使いやすく、利用者のニーズを満たすことを目的としています。
ここではまず、APIファーストの世界におけるAPIコラボレーションの役割を探り、その後、チームがAPIライフサイクルの各段階でどのように協力するか、さらにPostman APIプラットフォームがどのようにその支援を行うかについて説明します。
APIファーストの世界におけるAPIコラボレーションの利点は?
APIファーストとは、アプリケーションをAPIを通じて提供されるサービスの集合として設計・構築する開発モデルです。APIファーストのチームは、依存するアプリケーションや統合を構築する前にAPIを開発します。そのためには、コードを記述する前に、APIの設計と想定されるユースケースについて完全な合意を得る必要があります。APIライフサイクルの最初の段階でコラボレーションを行うことで、APIファーストのチームは共通のコンテキストを構築でき、APIの開発・デプロイ ・改訂の各工程において指針とすることができます。このエンドツーエンドのAPIコラボレーションスタイルにより、フィードバックループが短縮され、APIが継続的に利用者のニーズを満たし、品質が時間とともに低下しないようにすることができます。
チームはAPIライフサイクル全体でどのように協力するのか?
APIは、ビジネスや利用者のニーズに応じて常に進化しており、明確に定義されたAPIライフサイクルにより、チームは計画的かつ体系的な方法で共同作業を通じてAPIを反復的に改良することが可能になります。各組織は独自の方法でAPIライフサイクルを定義しますが、すべてのライフサイクルには以下の基本的な段階が含まれます。
設計段階
API設計は、すべてのステークホルダーがAPIの目的や機能について合意する必要がある、高度に協力的なプロセスです。また、データの形式、必要なリソース、それらの相互関係、各エンドポイントで使用可能なメソッドについても決定する必要があります。ステークホルダーが合意に達した後は、APIの意図された機能を人間と機械の両方が理解可能な形式で表現す る「API定義」にこれらの設計決定を正式に反映させる必要があります。
開発段階
APIの設計が完了すると、開発チームは実装作業に着手できます。API開発では、フォーク、マージ、コンフリクトの解決といった効果的なソースおよびバージョン管理手法が重要です。これにより、チームメンバーは破壊的変更のリスクを抑えつつ並行して作業できます。また、コメント機能を活用してAPIアーティファクトやコードの行ごとにフィードバックをやり取りすることで、コンテキストの切り替えを減らし、ワークフローを加速させることができます。
テスト段階
APIテストは、APIの挙動を検証し、利用者のニーズを満たしているかを確認するために役立ちます。従来は開発完了後に実施されていましたが、現在では開発中やCI/CDパイプラインの中でテストするケースが増えています。テストを早期かつ頻繁に行うことで、問題が導入された時点で即座に検知できるほか、設計段階での意思決定の妥当性を早い段階で検証することができます。これにより修正にかかるコストが削減され、高品質なAPIをより速く本番環境へリリースできます。
配布段階
APIが設計、開発、テスト、デプロイされた後は、チームが協力して利用者がそのAPIを発見できるようにする必要があります。これには、APIをプライベートまたはパブリックのAPIカタログに登録し、検索時に見つけられるよう適切なメタデータを付与することが含まれます。また、利用者がAPIの機能を理解し、最初のリクエストを送るまでの時間を短縮するために、最新かつ充実したドキュメントの作成も重要です。最終的に、この配布段階は、内部APIの重複作成を防ぎ、パブリックAPIを適切な対象に届けて収益を生み出すことにつながります。
なぜPostmanワークスペースが優れたAPIコラボレーションツールなのか?
Postmanワークスペースは、チームが協力して問題を解決するために必要なツールへの共有アクセスを提供するコラボレーションハブです。すべてのAPI関連作業における単一の信頼できる情報源として機能することで、チームは共有コンテキストを構築しながら、API品質に関する組織全体の基準を満たすことができます。ワークスペース内のやり取りは、関連するAPIアーティファクトのすぐそばで直接行われるため、コンテキストの切り替えが減り、コラボレーションプロセスが効率化されます。さらに、ワークスペースはリアルタイムで更新され、すべての変更がバージョン履歴として記録されるため、チームはスピード感をもって動きながら、常に全員が同じ情報を共有できます。
Postmanワークスペースは非常に多用途であり、チームが以下のような目的で活用できます。
開発者のオンボーディングを改善する
新しい役割に就く際、エンジニアはチームのリポジトリ、ツール、ワークフローに迅速に慣れる必要がありますが、それらが直感的でなかったり、ドキュメントが不十分だったりすることもあります。この課題を解決するために、チームはオンボーディング用のワークスペースを作成できます。そこには、新しいチームメンバーがすばやく状況を把握するために必要なすべてのアセットと情報が含まれています。
開発プロセスを加速する
開発者ワークスペースは、開発チームがコラボレーションを行うための中心的な場所です。これにはドキュメント、テスト、モックサーバー、ハウツーガイドが含まれており、APIライフサイクルのプリプロダク ション、開発、ポストプロダクションの各段階で利用できます。API成果物の単一の信頼できる情報源を提供することで、ボトルネックを減らし、市場投入までの時間を短縮します。
内部APIの発見可能性を向上させる
チームによっては、すべてのAPIを1つのワークスペースに集約することもあれば、大規模な企業では、APIごとおよび担当チームごとに分割されたワークスペースを作成することもあります。チーム構成をAPIワークスペースに対応させることで、論理的かつスケーラブルな組織体制が形成され、開発者が他チームが管理するAPIを簡単に見つけて確認できるようになります。
テストを実行し問題をトラブルシューティングする
APIライフサイクル全体におけるテストは、APIファースト戦略の中心的な要素です。これにより、チームは問題を迅速に発見・修正できます。APIファーストのチームは、専用のAPIテスト用ワークスペースを活用し、他のワークスペースで開発中のAPIに対するテストの作成・実行を行えます。これらのテストは、Postmanのコマンドラインツールを使って各開発チームのCIプロセスに統合することも可能です。
API設計の一貫性を確立する
リーダーは、リファレンスAPI、設計パターン、「やるべきこと・避けるべきこと(dos and don'ts)」を含むスタイルガイドワークスペースを作成することで、組織全体にわたる効果的なAPIガバナンス戦略の確立と徹底を図ることができます。これらのスタイルガイドは、チームが日々作業するのと同じプラットフォーム上に存在するため、開発者はそれを「生きたドキュメント」として活用でき、API要素の設計・反復の出発点として利用できます。
サポートチケットに対応する
サポートチームはワークスペースを使用して、顧客からのチケットに対応する際の対応手順を記録しておくことができます。これにより、迅速な問題解決が可能になり、チケット件数の増加を抑えることができます。実際、一部の開発者はコレクションをサポートチームと直接共有しており、これにより問題解決に要する時間が大幅に短縮されています。
より多くの開発者とつながる
ソリューションエンジニアは、Postmanワークスペースを使って外部APIのデモ環境を構築し、潜在的な顧客に対してAPIの主要なユースケースを紹介できます。これにより、商談の成立が促進され、新規顧客の迅速な立ち上げを実現できます。
また、パブリックAPIワークスペースは、APIの提供者が自らのコミュニティと直接つながることを可能にします。これらのワークスペースには、ドキュメント、ハウツーガイド、その他の参考資料を含めることができ、利用者の初回呼び出し(time to first call)までの時間を短縮できます。PostmanのパブリックAPIネットワークには、Salesforce、Stripe、Notion、PayPalなどの企業による何十万ものパブリックワークスペースが存在しています。
Postmanが提供するその他のAPIコラボレーション機能は?
上記で紹介したワークスペースは、チームが幅広い複雑な問題を解決するうえで非常に有効であり、Postmanのコラボレーション機能の中でも特に重要な存在です。しかし、Postmanにはワークスペースを補完し、APIライフサイクル全体にわたってAPIの提供者と利用者が協力できるようにする、他のコラボレーション機能も備わっています。これらの機能は以下のとおりです。
コレクション
Postmanコレクションは、関連するリクエストをまとめたグループであり、Postmanのあらゆる機能の基本的な構成要素です。たとえば、コレクションを使用すると、チームはモックサーバー、テストスイート、モニター、ドキュメントなどを作成できます。これらはAPIライフサイクルの各段階で、さまざまなチームに活用されます。コレクションはコメント機能やバージョン管理にも対応しており、組織内のあらゆる関係者と簡単に共有することが可能です。
APIビルダー
PostmanのAPIビルダーを使用すると、チームはAPIプラットフォーム内でOpenAPI、GraphQL、RAMLなどの多様なフォーマットを用いて、APIを共同で設計・定義できます。また、APIスキーマをGitHubやGitLabと双方向に同期することができるため、すべてのAPI関連作業における共有可能な信頼できる情報源を確立できます。これにより、開発チームとテストチームは、APIライフサイクルの全段階において、同じスキーマを基に並行して作業することができます。
統合
APIライフサイクルは非常に複雑であり、チームはコミュニケーション、インフラ管理、CI/CD、インシデント対応、パフォーマンス監視など、多くのツールを活用する必要があります。Postmanはこれらのツールとの組み込み統合を提供しており、コラボレーションの摩擦を軽減し、作業の流れを円滑にします。たとえば、PostmanのSlack統合機能により、すべての関係者がチームのAPIアクティビティやPostmanモニターの結果について常に最新の情報を得られるようになります。
プライベートAPIネットワーク
チームはPostmanのプライベートAPIネットワークを使用して、内部API成果物のカタログを構築できます。これにより、APIの発見性が向上し、開発者が重複するコードを書くことを回避できます。さらに、チーム同士の接 続とナレッジ共有を促進するだけでなく、ビジネスリーダーが組織全体にわたって効果的なAPIガバナンスポリシーを策定・徹底するための基盤も提供されます。
パブリックAPIネットワーク
PostmanパブリックAPIネットワークは、世界最大規模のパブリックAPIアーティファクトのハブであり、APIの提供者を世界中の3,000万人以上の開発者とつなげます。パブリックAPIネットワークを通じて、提供者は利用者と直接コラボレーションできるようになり、フィードバックループが短縮され、サポートチケットの件数も減少します。