web api 是一種應用介面框架,它能夠構建http服務以支撐更廣泛的客戶端(包括瀏覽器,手機和平板電腦等移動裝置)的框架, asp.net web api 是一種用於在 .net framework 上構建 restful 應用程式的理想平台。本文主要以asp.net web api 的框架實現來介紹整個web api應用架構設計,但不侷限於.net的技術。
從上面的架構分析來看,我們的web api作為核心層,可以在上面開發我們各種企業業務應用,
同樣,在winform介面裡面,我們除了可以利用直接訪問資料庫方式,以及採用訪問分布式wcf
服務的方式接入,還可以使得它能夠訪問web api的資料服務,從而構建成乙個適應性更加廣泛、功能更加強大的混合式開發框架模式。
安全性方便,直接訪問資料庫方式,沒有在網路上公開介面,它們只是在單機或者區域網安全的環境執行,因此只需要確保資料庫的安全即可,一般可以通過加密連線字串方式實現一定的限制即可。
wcf服務的安全性,可以通過x509證書方式實現校驗,也還可以利用自定義的使用者名稱、密碼驗證方式進行檢查等等。
對於web api,由於它提供的是一種無狀態的介面訪問,而且往往web api一般為了多種客戶端接入的需要,可能需要發布在公網上進行訪問,因此我們需要更加注重web api介面層的安全性,這方面我們後面詳細介紹。
也就是新型的混合式開發框架,除了直連資料庫訪問的傳統模式,wcf分布式訪問的wcf服務訪問模式,還可以接入api分布式訪問的web api介面模式,他們的關係構成了乙個完整的winform應用體系,如下圖所示。
下面圖示是我的基於傳統訪問資料庫方式和分布式wcf資料
服務訪問方式的乙個模組分析圖,圍繞著混合型框架的核心,我們可以構建很多鬆散耦合的模組,從而能夠為我們winform應用的開發整合提供更高的開發效率。
混合型框架可以看成是winform框架高階版本,除了它本身是乙個完整的業務系統外,它外圍的所有輔助性模組均(如通用許可權、通用字典、通用附件管理、通用人員管理。。。。)都實現了這種混合型的框架,因此使用非常方便,整個框架如果簡化來看,就是在原有的winform介面層,用介面呼叫方式,避免和業務邏輯類的緊耦合關係。由於它是通過介面方式的呼叫方式,它本身又可以通過配置指定指向wcf的實現,因此也囊括了wcf框架的一切特點。在完成web api層的開發後,基於web api層的整合就是我下乙個階段的工作了。
我們進一步分析混合式框架的實現細節,原來考慮的傳統winform訪問資料庫和wcf服務訪問方式,就是通過乙個配置模組,確定是採用直接訪問資料庫方式,還是訪問wcf服務的方式,它們兩者是統一到乙個facade介面門面層上,如果考慮到web api層,基於混合式的架構,也就是在這個facade介面門面層上增加多乙個web api的介面的封裝成即可。具體整個框架的架構圖如下所示。
Web API應用架構設計分析(1)
web api 是一種應用介面框架,它能夠構建http服務以支撐更廣泛的客戶端 包括瀏覽器,手機和平板電腦等移動裝置 的框架,asp.net web api 是一種用於在 net framework 上構建 restful 應用程式的理想平台。本文主要以asp.net web api 的框架實現來介...
Web API應用架構設計分析(1)
web api 是一種應用介面框架,它能夠構建http服務以支撐更廣泛的客戶端 包括瀏覽器,手機和平板電腦等移動裝置 的框架,asp.net web api 是一種用於在 net framework 上構建 restful 應用程式的理想平台。本文主要以asp.net web api 的框架實現來介...
Web API應用架構設計分析(1)
web api 是一種應用介面框架,它能夠構建http服務以支撐更廣泛的客戶端 包括瀏覽器,手機和平板電腦等移動裝置 的框架,asp.net web api 是一種用於在 net framework 上構建 restful 應用程式的理想平台。本文主要以asp.net web api 的框架實現來介...