看完了前面的兩個case之後,今天分享的案例需求會轉換成開發者的角度去探討,接著會從事情的緣由到可能的做法來逐步說明與解析。
簡單來說就是不希望第三方的系統直接連資料庫做CRUD的動作,並且部分的系統並不能擁有刪除和操作特定表的權限,另外隨著時間會有越來越多系統使用此中心系統的資料庫。
因此在這樣的情況以及未來管理的考量下,就會有幾個面向比較最後比較選擇較適合的解決方法,接著就先以資料交換的可行技術初步檢視。
在去年參賽時有提過ASP.NET Web 服務 (ASMX)的開發做法,但由於該做法比較廣泛應用的框架為.NET Framework,並且現在新系統的開發都會使用.NET Core(再過一陣子.NET 7即將推出),所以這個選項以當前開發的趨勢和未來的維運負擔較不推薦。
另外補充剛剛提到的新系統的開發框架選擇的部分,因為每個框架都會有生命週期,在查詢上可以輸入開發框架、考量的版本以及EOS(End of support)的關鍵字。
以.NET Core為例透過官方網站與下圖的截圖為例,Supported versions的項目為當前TLS的資訊,所以如果以現在的時間點選定.NET Core 3.1的版本,就需要留意在今年年底就會End of Support,所以如果會留意框架的安全性更新,就可以考慮直接使用.NET 6做開發。
另外補充如果應用程式需要Migrate到.NET 6的版本,可以到微軟的官方文件查找關於框架版本升級的參考資訊。
除了上述提到的.NET的框架可以應用開發外,基本上其他的程式語言都會有相對應可使用的框架,像是Node.js可以使用Express.js的框架、Python可以使用Flask、Django REST、FastAPI等框架開發,除了上述提到的之外還有非常多的選擇。
選擇上的考量可以視當前的需求或者是開發時程,選擇自己熟悉或者開發的學習曲線較平緩的程式語言與框架,而在接下來的解法與相關應用則會以.NET 6說明。
接著就直接切入重點,確認當前的解決方法為開發Web Api,首先簡單介紹一下.NET 6的背景以及相關可以參考的資訊,從下圖可以看到的是目前應用.NET開發的版本支援主要是.NET 6的版本(LTS版本支援的生命週期為三年左右)。
另外如果要使用.NET 6進行開發,需要先安裝該版本的SDK參考資源,並且依照當前的開發工具確認環境的設定與需要額外留意的事項,以下兩個資源分別為Visual Studio Code 與Visual Studio應用.NET 6的開發操作介紹。
今天的內容先需求帶到最後使用的技術解法(Web Api with use .NET 6 Framework),而在接下來的幾天會進一步分享.NET 6開發Web Api的過程,以及延伸使用的套件與開發規範的資訊分享。