本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
其他考量
到目前為止,我們已經討論了使用 API Gateway 和 Windows 容器來現代化您的舊版 ASP.NET Web 服務AWS。以下是需要考慮的其他一些注意事項:
-
安全性
-
服務網域服務網域
-
當有許多服務需要現代化時,對 Web 服務升級進行排序
下列各節會詳細討論這些內容。
身分驗證和授權
現代 API 通常利用基於令牌(JSON Web 令牌或 JWT)身份驗證和授權標準,例如 OAuth 2.0 和 OpenID Connect,而傳統的 ASP.NET Web 服務傳統上依賴基本身份驗證或 Windows 集成身份驗證到 Windows 活動目錄域。最佳作法是,在新舊的驗證和授權方法不相容的情況下,建議您先升級這些安全性機制,然後再將 Web 服務現代化AWS。嘗試對應身分識別或嘗試在新舊系統之間安全地傳輸安全性狀態可能不是一項重大努力,但可能會導致安全性弱點。
網域驅動設計
將整體區分為個別服務時,網域驅動設計 (DDD) 是最佳作法,通常用於將系統建模為具有凝聚力的業務領域。DDD 是通過將實現連接到核心業務概念的不斷發展的模型開發軟件的複雜需求的方法。其前提是將項目的主要焦點放在核心領域和領域邏輯上,並將系統設計基於反映業務的模型。如果您在現代化現有的整合式應用程式時使用 DDD,則需要從整體式的功能和使用者流程向後工作。您可以結合使用 DDD 與絞殺器模式來指導破壞整體和確定哪些服務串連的過程,因此術語域驅動設計。
臨時狀態和目標狀態
當您要現代化超過幾個 ASP.NET Web 服務時AWS,最好先定義目標狀態架構在所有服務現代化之後的目標狀態架構。不過,目標狀態架構不一定是結束狀態或最終狀態,因為企業前後關聯經常變更,而且應視需要更新系統目標狀態,以便與業務目標保持一致。定義目標狀態後,您可以從那裡向後工作,以定義逐步滿足目標狀態願景的內部狀態架構。你可以把這些內部狀態架構看作是在遇到並吞沒宿主樹的主要部分時,絞殺者無花果在樹上藤蔓的進展。內部狀態架構通常引入臨時或重疊的結構,這些結構不會成為終端狀態架構的一部分,以便於進化到目標狀態。以 SOAP 為基礎的 ASP.NET Web 服務的現代化提供了一個範例:暫時引入以 Windows 為基礎的容器,以彌補依賴於舊版服務的呼叫系統之間的差距,直到它們可以升級到新的 REST API 為止。