2011-02-16 34 views
4

遠程或不遠程?遠程或不遠程?

原諒我,如果我的術語不是100%正確的。

在爲小公司開發軟件(所有Windows窗體應用程序)多年之後,我最近從岩石下面爬出來,發現了Remoting和/或WCF的概念。在過去我所做過的所有項目中,我們一直將每臺客戶機直接連接到數據庫服務器。最近我在閱讀「Microsoft .Net:爲企業構建應用程序」後發現,通過WCF將我們的業務對象公開爲POCO對象可能更有意義,這樣我們的客戶端應用程序就不需要安裝數據庫客戶端軟件在每臺機器上(所有與它一起使用的機器,如每臺機器的另一個數據庫用戶許可證)。我們的客戶端應用程序只需連接到我們的WCF服務,就可以將「服務層」暴露爲業務對象的包裝。

我瘋了,還是這是分佈式應用程序中的常見方法?

此外,什麼ORM解決方案可以指向一個數據庫,並創建一個DAL和業務對象,然後可以通過WCF公開?

我也不能完全包住我的腦海裏圍繞如何延遲加載會在這種情況下工作...

感謝, 喬納森

回答

1

我要離開別人的ORM問題,只回答問題部分,詢問這是否是一種常見方法。

這是一種常見的方法,稱爲SOA(Service-Oriented Architecture)。它有很多優點,也有缺陷。這是幾年前的嗡嗡聲,現在它仍然是常用的,但興奮程度已經下降。

儘管如此,網上還是有大量的資源來研究這一點。最大的問題是要提前思考,因爲不同的人對於如何實現SOA有不同的想法,以及它的含義。而且,跨平臺的承諾在實踐中比人們最初希望的要難得多。 (例如,嘗試從Java調用.NET Web服務,但可以完成,但雙方都需要完成工作。)如果您需要擔心跨平臺兼容性,那麼研究「SOA跨平臺兼容性「之前太深。你最好學習如何做到這一點,以免日後陷入困境,必須重新創建一些原本面向需要Java客戶端的.NET客戶端的服務(例如智能手機應用程序,例如)。

我們自己犯了這個錯誤,最終在我們開始開發需要Android/Blackberry客戶端使用的服務時,不得不重新創建大量的Web服務。鑑於這個行業正朝着智能手機發展的方向發展,現在立即採取措施將爲您節省大量工作。

2

SOA正在消亡。標準的使用MOA(面向消息的體系結構)的.Net Remoting是一種可行的方式!

+0

+1作爲一個詞,儘管我並不完全同意SOA正在降級。我同意基於消息傳遞的解決方案是一個好方法,但我不認爲通過.NET Remoting。 – kenny