如果您正在使用 OpenAPI 規格 (OAS) 開發 API,並使用 Swagger 工具,您可能聽說過採用「設計優先」方法的重要性。
「設計優先」方法主張在開始開發 API 之前,先使用像 OAS 這類常見標準定義 API,並針對 API 的設計達成一致。在「設計優先」方法中,API 定義會作為 API 開發的真實來源,並有助於簡化 API 生命週期中的後續流程,包括開發、測試、文件等。
但是,大規模採用「設計優先」方法也可能面臨挑戰。這就是為什麼我們很高興邀請 Viasat 的系統工程師 Cyndi Recker 擔任即將舉行的 SmartBear Connect 會議的演講者。在她的演講「透過「設計優先」方法支援快速系統成長」中,Cyndi 將向您展示如何控制系統中影響廣泛的元素、使用「設計優先」方法建立通用階層式資料字典,以及建立可重複使用的元件來建置系統 API。
最近我們有機會與 Cyndi 聊聊,以深入了解她的組織如何使用 SwaggerHub 採用「設計優先」方法,並先睹為快她在 SmartBear Connect 會議上的演講。
請繼續閱讀以了解更多。
不要重複您的簡介,您希望與會者了解您的哪些方面?
我對我所做的一切都充滿熱情。無論是在工作上還是個人時間都是如此。我精力充沛,需要燃燒殆盡,並嘗試將生活中的每一項任務都視為一場冒險。
您使用像 SwaggerHub 這類 SmartBear 工具的經驗如何?
我曾在先前的工作中使用 Collaborator (以前稱為 Code Collaborator),它對我們的團隊來說效果很好。我們是全球分散式團隊;我的團隊成員遍佈在聖荷西、亞利桑那州、印度和波士頓。Collaborator 的作用是幫助我們跨越時間和口語障礙。
接著談談我使用 SwaggerHub 的經驗,我已經在 Viasat 使用它一年多了,我在這裡擔任系統工程師,負責系統的硬體和軟體架構。商業移動系統非常複雜,其通訊介面橫跨飛機、衛星和地面,為航空乘客提供 Wi-Fi 服務。
與許多架構一樣,系統隨著時間演變,並且出現了異常情況,導致介面上產生問題。存在許多系統對系統的訊息,其中從起始點(例如入口網站)取得的資訊,在到達最終目的地之前需要經過數次跳轉。例如,一個物件(例如飛機)已被多次建立,但名稱和屬性不同。MAC 位址也是如此。
過去,我曾參與過一個太空通訊的軍事計畫,當時我手工製作了資料字典和需求追溯工具,因為市面上沒有任何產品能滿足我們的需求。幾年後,我來到 Viasat,面臨類似的工具需求。
因此,當我一年多前擔任這個職務時,我們希望 SwaggerHub 網域技術可以幫助我們解決一些問題。雖然並非完美契合,但它使我們能夠維護目前的系統,同時開發新的設計。我們可以將一組通用的資料實體和訊息作為基礎來建置階層式模型。SwaggerHub 正在為我們的業務解決一些問題,最重要的是它正在幫助我們整理資料。
總結來說,我認為優點是:
首先,使用網域可讓您達到一個可以組織資料的階段,以便您在了解所有變更的影響時獲得最大的效益。
其次,透過您的 SwaggerHub 工具,您可以按一下 API 中的參考,即可導覽至另一個文件中向後參考的定義。這有助於您識別使用該實體的 API 和網域。未來,我希望看到一項功能,可讓我按一下定義,並提供使用資料實體的所有 API 的摘要。
最後,SwaggerHub 提供了一種與不同角色的各種團隊成員合作的方式,例如架構師、開發人員、測試人員、QA 人員等,他們都可以接觸資訊並讓專案持續在管道中推進。
Viasat 何時轉向「設計優先」方法?
我認為 Viasat 一直都有「設計優先」方法,但沒有很好的工具來支援架構和設計任務。
您認為哪些人最能從參加您的演講中獲益?
我認為本次研討會對許多不同的參與者都有好處。我將展示網域如何有助於將從入口網站 UX/UI 到較低層級的系統對系統訊息的多種類型介面整合在一起。我也認為,這對那些需要使用包含通用資料的 API 來擴展系統以實現成長的人,以及那些使用 Swagger.io 但尚未嘗試 SwaggerHub 的人來說,也會有所幫助。
您最期待 SmartBear Connect 會議的哪些方面?
我真正感興趣的是兩件事:一是學習和了解其他產品,二是與我的同儕見面,並看看他們如何解決我還沒想到的其他問題。
如果您想要與同儕會面以討論類似的問題,您是否有一些正在苦思的問題想與他們討論?
我使用 SwaggerHub 採用「設計優先」方法遇到的問題之一,是真正達到程式碼產生的階段。您無法真正透過程式碼產生達到完全成熟的階段,您仍然需要手動處理程式碼。因此,我會對討論 SwaggerHub 的程式碼產生這個主題感興趣。我想問的問題是,「您是否成功?」,如果有的話,「您如何才能夠跨過這個障礙以產生程式碼?」
我也非常有興趣透過自動化測試執行我們的 API,並了解其中一些運作方式,因為我們在 Viasat 尚未執行過。
您目前如何測試您的 API?
我們採用內部測試和在某些情況下使用 Soap UI 的組合方式。最近,我們的組織採用了 DevOps 方法,其中測試是團隊的一部分。有些團隊正在考慮使用 SoapUI Pro 和 LoadUI Pro 的 ReadyAPI 解決方案。我期待在 SmartBear Connect 會議的訓練課程中更深入地了解這些產品。
今年 10 月 29 日 和 30 日,Cyndi 將在 SmartBear Connect 準備好與您交談。她非常期待來到波士頓與您見面。想加入我們參加 SmartBear Connect 嗎?請使用促銷代碼「SwaggerHub_Connect18」為您的門票省下 100 美元。