2010-06-29 143 views
6

我一直在寫軟件幾十年,現在一切都是網絡。
在網絡之前,我們有客戶端服務器應用程序,這些應用程序基本上是直接與數據庫對話的胖客戶端應用程序。他們有一些缺點,比如部署很麻煩,沒有規模,因爲數據庫處理所有流量。當然,當時的應用程序分發僅限於在企業網絡上的桌面上。這些應用程序的好處是,它們層數較少,開發速度很快。有沒有人仍然使用客戶端服務器架構

有些時候,需求需要在具有專用數據庫和相對較少數量的客戶端的防火牆後面調用應用程序。我建議(有時在StackOverflow上)舊的客戶機/服務器類型體系結構,每個人看起來像我有3條腿和6條臂。

使用現代技術可以自動部署應用程序和我們今天的工具。這種技術不可行的原因是什麼?新一代的開發人員是否只知道網絡內容?

+1

什麼,從來沒有聽說過的Access應用程序? – Earlz 2010-06-29 23:53:28

+1

嘿,你的孩子!從我的草坪上離開! – Stephen 2010-06-30 00:12:48

+0

在這些日子裏,我嗆每當有人說瀏覽器是瘦客戶端......他們並沒有在插件列表偷看我的FF ... – 2010-06-30 05:34:05

回答

6

我敢肯定厚客戶端仍在開發中,即使在今天。

話雖如此,選擇一個基於Web的架構是不是「新世代的開發商」只知道網絡的東西,你得到了很多好處,如果你可以讓你的應用程序基於Web的:

  1. 部署非常簡單。即使有像ClickOnce,自動更新等等,沒有什麼比只刷新頁面以獲得最新版本
  2. 您可以使用Silverlight之類的東西來獲得桌面應用程序的99%的好處(就運行能力而言代碼在客戶端)
  3. Web應用程序可以比桌面應用程序更容易地遠程使用(許多公司現在有遠程工作者,建立VPN是一個痛苦,如果你想要做的只是訪問工資單(或什麼))

但在一天結束時,這一切都是關於工作的正確工具。當您想要爲Office(Word,Outlook等)編寫插件時,Web應用程序無法提供幫助,但如果您必須控制自定義硬件(POS終端等),則它們無法提供幫助 - 儘管您可以將它寫入服務器案件...),也可能還有其他幾個案例。

7

我至少能想到兩個大十歲上下的市場中,客戶端 - 服務器仍然是大的:

  • 在線遊戲和虛擬世界,如戰場或第二次生命。通常你需要一個胖客戶端加上到共享服務器的連接。
  • 定製科學軟件。複雜的技術或科學軟件,尤其是如果需要交互式圖形用戶界面(可直接操作)的軟件,有時也會以這種方式編寫。
1

我們有一些Flex應用程序與基於XML的Web服務進行通信,這些應用程序非常接近舊學校的客戶端服務器應用程序。但不是使用SQL,而是使用自定義XML語言並呈現SOAP響應。

+2

然後你需要編程,維護和管理整個中間層。 XML很麻煩。它是許多應用程序的工具,但我試圖說服人們,我們已經擺脫了簡單化,有時更簡單的解決方案仍然是最好的。我也寫GWT應用程序以及網絡應用程序,所以我理解這些機制。 – 2010-06-30 02:20:19

1

我們目前每年開發和部署大量的客戶端/服務器應用程序。開發過程簡單而且自動化。我們不僅限於我們能夠部署的數據庫技術。客戶端/服務器部署計算速度更快,形式更新和報告更快。基於Web /雲的應用程序的響應性低於在客戶端工作站(胖客戶端)上運行的應用程序。

這是因爲CPU負載的分佈。儘管服務器端應用程序要求服務器執行所有計算,但客戶端可以在本地計算機上運行此操作。隨着任何系統變得越來越複雜,用戶必須等待結果的時刻增加。員工時間的這些時刻更加昂貴,因爲他們涉及更多的有薪僱員。這些時刻在一個組織內累積了一年多的「工時」。

與更新的問題是我們的開發工具集內解決。就像你打開你最喜歡的瀏覽器時一樣,它注意到你使用的版本並不是最近我們在客戶/服務器應用程序中嵌入了同樣的過程。實際上,我們不會給他們更新的選擇。由於更新可能會多次需要更改數據庫,因此我們強制在用戶被允許運行軟件之前進行更新。

爲了改善我們所提供的定製開發具有特定應用,例如現場調度或客戶支持論壇集成到桌面客戶端/服務器應用程序的網站包含我們的自定義客戶端/服務器系統中的信息的可視性。從我的角度來看,我看到客戶端服務器和響應式Web應用程序的完整集成在未來幾年中佔據了更好的位置。

相關問題