[Q&A] デザインファーストアプローチでシステムの急速な成長をサポートする方法

  2018年10月23日

OpenAPI Specification (OAS) を使用してAPIを開発し、Swaggerツールを使用している場合、「デザインファースト」アプローチを採用することの重要性について聞いたことがあるでしょう。

デザインファーストアプローチは、OASのような共通の標準を使用してAPIを定義し、APIの開発を開始する前にAPIの設計について合意を得ることを提唱しています。デザインファーストアプローチでは、API定義がAPI開発の真のソースとして機能し、開発、テスト、ドキュメントなど、APIライフサイクルのさらに下流のプロセスを合理化するのに役立ちます。

しかし、デザインファーストアプローチを大規模に採用することには課題も伴います。そのため、ViasatのシステムエンジニアであるCyndi Recker氏を、今後のSmartBear Connectカンファレンスのプレゼンターとしてお招きできることを嬉しく思います。彼女の講演「デザインファーストアプローチでシステムの急速な成長をサポートする」では、Cyndi氏がシステムの広範囲にわたる要素をどのように制御し、デザインファーストアプローチを使用して共通の階層データ辞書を確立し、システムAPIを構築するための再利用可能なコンポーネントを作成する方法を紹介します。

最近、Cyndi氏にお会いし、彼女の組織がSwaggerHubでデザインファーストアプローチをどのように採用しているか、そしてSmartBear Connectでの彼女の講演のプレビューについて詳しく伺う機会がありました。

詳細については読み続けてください。

自己紹介を繰り返さずに、参加者に知ってほしいことは何ですか?

私は、仕事でもプライベートでも、ほとんどすべてのことに情熱を注いでいます。エネルギーはたくさんあり、すべてを使い果たし、人生のすべてのタスクを冒険のように捉えようと努力しています。

SwaggerHubのようなSmartBearツールの経験はどうでしたか?

以前の職務でCollaborator (旧Code Collaborator)を使用しましたが、チームにとって非常にうまくいきました。私たちは世界中に分散していました。サンノゼ、アリゾナ、インド、ボストンにチームメンバーがいました。Collaboratorは、時間と話し言葉の障壁を乗り越えるのに役立ち、うまく機能しました。

次に、SwaggerHubの経験についてですが、Viasatでシステムエンジニアとして1年以上使用しており、システムのハードウェアとソフトウェアアーキテクチャの両方を担当しています。商用モビリティシステムは複雑で、航空機、衛星、地上間の通信インターフェースがあり、航空機の乗客にWi-Fiサービスを提供しています。

他の多くのアーキテクチャと同様に、システムは時間の経過とともに進化し、インターフェースに問題を引き起こす異常が発生しました。ポータルなどの起点から取得された情報が、最終目的地に到達するまでにいくつかのホップを介して送信されるシステム間のメッセージが多数あります。たとえば、航空機のようなオブジェクトは、異なる名前と属性で何度も作成されました。MACアドレスについても同様です。

以前、私は宇宙ベースの通信のための軍事プログラムで働いており、私たちのニーズに合うものが市場になかったため、データ辞書と要件トレーサビリティツールを手作業で作成しました。数年後、私はViasatにいて、同様のツールの必要性に直面していました。

そのため、1年以上前にこの役割に就いたとき、SwaggerHubのドメインテクノロジーがいくつかの問題を解決するのに役立つことを期待していました。完璧に適合するわけではありませんが、新しい設計に取り組みながら現在のシステムを維持することを可能にしました。共通のデータエンティティとメッセージのセットを基盤として使用し、階層モデルを構築できます。SwaggerHubは私たちのビジネスのいくつかの問題を解決しており、最も重要なのはデータの整理に役立っていることです。

まとめると、利点は次のとおりだと思います。

まず、ドメインを使用すると、すべての変更の影響がどこにあるかを知るという点で、データを整理して最大限の効果を得ることができます。

次に、SwaggerHubツールを使用すると、API内の参照をクリックして、別のドキュメントのバックリファレンスされた定義に移動できます。これにより、エンティティが使用されているAPIとドメインを特定できます。将来的には、定義をクリックして、データエンティティが使用されているすべてのAPIの概要を提供する機能を見たいと思います。

そして最後に、SwaggerHubは、アーキテクト、開発者、テスト、QAなど、さまざまな役割を持つさまざまなチームメンバーと協力する方法を提供し、全員が情報にアクセスしてプロジェクトをパイプラインで進めることができます。

Viasatはいつデザインファーストアプローチに移行しましたか?

Viasatは常にデザインファーストアプローチを取っていましたが、アーキテクチャと設計タスクをサポートするための優れたツールがありませんでした。

あなたの講演に参加することで最も恩恵を受けるのは誰だと思いますか?

このセッションは、さまざまな参加者にとって有益だと思います。ポータルUX/UIから下位レベルのシステム間メッセージまで、複数のタイプのインターフェースをまとめる上でドメインがどのように役立つかを紹介します。また、共通のデータを含むAPIでシステムの成長のために拡張する必要がある人々や、Swagger.ioを使用しているがSwaggerHubを試したことがない人々にとっても良いと思います。

SmartBear Connectで最も楽しみにしていることは何ですか?

2つのことに非常に興味があります。1つは他の製品についてのトレーニングと学習、もう1つは同僚に会い、私がまだ解決策を見つけていない他の問題を彼らがどのように解決しているかを知ることです。

同僚と似たような問題について話し合いたい場合、彼らと話し合いたいと考えている問題はありますか?

SwaggerHubを使用したデザインファーストアプローチで私が抱えている問題の1つは、実際にコード生成の段階に進むことです。コード生成で完全に成熟するまでには至らず、まだ手作業でコードに触れる必要があります。そこで、SwaggerHubからのコード生成のトピックについて話し合うことに興味があります。私が尋ねたいのは、「成功しましたか?」そしてもしそうなら、「どのようにしてコードをステップアウトできるようになりましたか?」です。

また、ViasatではまだAPIの自動テストを行っていないため、APIの自動テストを行い、それがどのように機能するかを見ることに非常に興味があります。

現在、APIをどのようにテストしていますか?

社内テストと、場合によってはSoap UIを使用する組み合わせです。最近、私たちの組織はDevOpsアプローチを採用し、テストがチームの一部になっています。一部のチームは、SoapUI ProとLoadUI Proを使用したReadyAPIソリューションを検討しています。SmartBear Connectのトレーニングセッションでこれらの製品を詳しく見るのを楽しみにしています。

10月29日&30日に、CyndiはSmartBear Connectであなたと話す準備ができています。彼女はボストンに来てあなたに会うことを本当に楽しみにしています。SmartBear Connectに参加しませんか?プロモーションコード「SwaggerHub_Connect18」を使用して、チケットを100ドル節約してください。