イベント駆動型AsyncAPI仕様をSwaggerHubで使用する

  2023年5月11日

SmartBearの最新のソフトウェア品質レポート – API – 2023によると、マイクロサービスは組織におけるAPIの主要な成長ドライバーであり続けています。  

APIの世界はRESTとSOAP以来、飛躍的に成長しました。リクエスト-レスポンスAPIが廃れることはありませんが、イベント駆動型アーキテクチャ(EDA)は組織にとって改善された中核コンポーネントとして台頭しています。これらはRESTfulやその他のAPIシステムが統合できる中央バスとして機能します。EDAは、拡大するマイクロサービス資産をより適切に管理しようとしている開発チームにとって、より柔軟でスケーラブルなソリューションを提供します。   

EDAは着実に確立されてきましたが、これらのシステムに対するガバナンスと制御がさらに必要です。今日、AsyncAPIオープンソースイニシアチブは、OpenAPIとSwaggerがRESTfulシステムにもたらしたものをEDAにもたらそうとしています。   

EDAは、Eコマース、金融サービス、保険などのB2BおよびB2Cの両方の垂直分野で、疎結合サービスと集中型インフラストラクチャを通じて、開発者エクスペリエンスを向上させます。 

SwaggerHubがAsyncAPIのサポートを開始  

イベント駆動型APIはRESTful APIほど広く採用されていませんが、その人気は高まっています。AsyncAPIは、イベント駆動型APIアーキテクチャを文書化および記述するための主要な仕様です。OpenAPIと同様に、組織はイベント駆動型APIを制御し、統制するためにAsyncAPIを採用することを選択するでしょう。  

SmartBearでは、初期段階から広範な採用に至るまで、SwaggerとOpenAPIを見て、育ててきました。SwaggerHubおよびツールポートフォリオ全体でサポートを強化するにつれて、これらのパターンの多くがAsyncAPIにどのように適用できるかを楽しみにしています。  

SwaggerHubでAsyncAPIを使用するメリット 

組織のマイクロサービスアーキテクチャが成長するにつれて、RESTful APIとイベント駆動型APIの両方が連携して混在することが一般的になります。  

SwaggerHubを使用するメリットは、これらの異なるAPIのカタログ化を一元化し、共同ワークフローをサポートし、標準化とガバナンスを通じてコストを削減できることです。RESTful APIとイベント駆動型APIの両方を連携させることは、ポートフォリオを管理するための重要なステップです。この単一のAPIカタログにより、開発者、アーキテクト、デザイナー、および利用者全員が、検出性の向上とガバナンスの強化から恩恵を受けることができます。 

SwaggerHubは、組織全体にわたるチームに、API設計、ドキュメント、コラボレーション、標準化に関してAsyncAPIとOpenAPIの両方で同じエクスペリエンスを提供します。  

標準化が重要な理由 

2023年ソフトウェア品質レポート – APIによると、回答者の51%が標準化を解決すべき最大の課題として挙げています。 

あるシナリオを考えてみましょう。組織として、API定義に連絡先の詳細を含める必要があると決定するかもしれません。これは、ベテランデザイナーが新しいデザイナーに常に追記するよう促し、それが存在することを確認する必要がある小さな詳細です。小さなことが大きな影響を与えます。このシナリオでは、適切な連絡先を探すのに費やされる時間の量を想像するのは簡単です。  

このシナリオに加えて、API標準化を使用しない場合にチームが経験する可能性のあるその他の落とし穴は次のとおりです。 

  • セキュリティリスク - セキュリティを考慮してAPIが設計されていない場合、機密データが公開されるリスクがあります。 

  • 統合の問題 - 異なるAPIとそれらがどのように機能するかを理解するのに時間が無駄になる可能性があります。このプロセスでの誤解はエラーにつながります。 

  • コストの増加 - APIの開発と保守には、より多くのリードタイムとリソースが必要となり、APIに精通した開発者を見つけるのが困難です。 

  • データ形式の不整合 - APIデータ形式が不整合な場合、開発者エクスペリエンスが低下し、統合の問題が発生する可能性があります。 

  • スケーラビリティの低下 - APIが追加されるにつれて、標準化されていない場合はスケーリングがより困難になります。 

SwaggerHubでのAsyncAPI標準化 

上記のシナリオに戻ると、これらの詳細を忘れないようにするための最善の方法は、SwaggerHubを使用して設計プロセスに標準化を追加することです。現在、RESTful仕様とAsync仕様の両方をサポートしています。両方のプロトコルで標準化プラクティスを使用することで、チームは品質とスタイルの整合性を維持しながら設計を加速できます。カスタムルールと組み込みルールを使用して、組織固有のスタイルガイドからAPIガバナンスを強制できます。開発チームは、内部ゲートチェックに合格し、設計どおりに機能するAPIを作成していると確信できます。 

APIポートフォリオを標準化する要素の1つとして、リンティングに言及する価値があります。スペルミスが発生したときにMicrosoft Wordでおなじみの赤い波線。APIの世界では、リンティングはIDEに表示され、私たちのアクションを導き、意図を明確にするための標識として機能します。 

AsyncAPIの標準化をSwaggerHubでどのように使用するか、および現在サポートされているルールのリストについては、 SwaggerHubドキュメントを参照してください。 

標準化ルールに対するSpectralの影響  

AsyncAPIに関する標準化に向けた業界の動きを調べたとき、当時主要なツールはSpectralでした。SwaggerHubで選択されたルールのリストは、AsyncAPI用のSpectralルールセットに大きく影響を受けています。これらのルールは、オープンソースコミュニティで行われた素晴らしい作業に基づいています。  

SmartBearツールでのAsyncAPIサポート  

SmartBearは、APIライフサイクルの異なる部分を統合し、開発者の可視性のギャップを埋めるための新しい方法を見つけることに取り組んでいます。AsyncAPIのテストに関しては、すべてをカバーしています。 

主要なコントラクトテストツールであるPactFlowは、AsyncAPIに関連する重大な変更がSDLCの後半で問題を引き起こす前に、それらを簡単に検出できるようにします。Asyncサービスにコントラクトテストを使用できます。現在、PactFlowはAsyncAPIをサポートしていませんが、この機能を作成する作業はロードマップにあります。 

AsyncAPI定義をサポートする当社の最高のエンドツーエンドテストツールであるReadyAPIで完全なカバレッジを実現しましょう。SwaggerHubで生成および管理されたAsyncAPIデザインをReadyAPIに直接インポート(統合)してテストすることで、Kafkaスタックを構築します。詳細はこちら。 

CTAボックス:SwaggerHubのAsyncAPIサポートの使用を開始する準備はできましたか?アカウントにログインするか、無料トライアルを作成してください。