2010-11-25 269 views
2

我在組織中進行了一場討論,在那裏我被僱用爲顧問。討論圍繞着替換使用VB6(MDI)胖客戶端構建的應用程序。Windows客戶端與Web客戶端

該應用程序有大約100個屏幕+ 40個報告。大約400位用戶使用該報表和數據時使用內聯查詢,而數據庫結構相當標準化。其餘的代碼非常糟糕。

在討論補貨策略時,我們拋出了一些想法。

  1. J2EE Web應用程序運行在使用Crystal Reports for Reports的Web球體上。
  2. ASP.NET Web表單Web應用程序使用Crystal報表進行報表。
  3. 帶有報告報告服務的Windows客戶端應用程序(WPF/Win-forms)。

雖然我不想開始一場火焰戰爭(Dot net vs. Java或WEb vs. Desktop),但知道社區關於此事的想法是很好的。 只是要提前,我覺得選項3也許是最好的版本,但我想知道別人的意見。

+0

開發團隊熟悉哪些技術? – 2010-11-25 17:05:16

+0

添加了sql-server標記,因爲您提到了報告服務,對嗎? – 2010-11-25 17:06:37

+0

我想你可以在http://programmers.stackexchange.com/about上更好地提出這個問題。 – 2010-11-25 17:09:20

回答

1

你要問/發現一個關鍵的問題是你是否真的不需要複製現有的功能。您可能會發現,隨着業務工作流程的改變和技術的改進,您無需構建數百頁和40個報表解決方案。

如果你或多或少要更換它,然後任何3種技術可以做的伎倆。他們的關鍵是原型。在你選擇一個之前,嘗試每一個。

1

添加到karianna的回覆...小心。你將更有可能陷入Second System Effect。更好的方法是離開現有系統,並使用新技術之一創建新功能,並慢慢開始遷移。不要計劃將代碼遷移到「新版本」

1

第三方控件之類的VB6應用程序有多重?你可以在基於瀏覽器的用戶界面中複製這些內容嗎?

1

我還要補充到這裏優良的言論,你考慮的那部分可能涉及系統「statbility」。如果您的應用需要頻繁更新,那麼網絡方法可能會更好。如果應用程序將保持穩定,桌面客戶端的構建可能會便宜得多。

1

將「舊」應用程序轉換爲不同的平臺並不容易。 學習新技術並以最佳方式實施它需要時間。

由於您熟悉VB6,我建議您考慮使用VB.NET作爲編程語言的ASP.NET MVC。

我已經開發,在過去的幾個WebForm的Web應用程序,但我從來沒有覺得真的很舒服: - 太多的事件來管理 - 麻煩與回傳和viewstates

ASP.NET MVC是,比方說,更直觀。我喜歡它。 您可以添加jQuery(或其他JavaScript框架)以獲得更流暢的界面。 作爲一個報告工具,我已經使用並憎恨Crystal Reports。 我更喜歡RDL/RDLC格式(報告服務)。您有一個集成在Visual Studio中的設計器,甚至可以從頭開始構建XML。

1

從部署和支持的角度來看,1或2:無需客戶端安裝。

我建議Winforms 只有如果您需要複雜的演示文稿或流量,很難在網頁捕捉。也就是說,有Flash和Silverlight等...