2009-02-17 73 views
1

我正在開發各種內部CRUD應用程序的框架。我已經考慮過幾種MS技術(WPF,Access,WinForms,ASP.NET),並且已經爲客戶端解決了帶有HTA + Jquery的ASP.NET MVC。我之所以這樣做,是因爲我需要一種方法來編寫和部署快速的一次性GUI應用程序,以及維護更長壽命的應用程序。首先,我將非常感謝在客戶端使用ADODB和在服務器端使用ADO.NET的相對優點。我傾向於ADODB,因爲我有客戶端訪問SQL Server(我已經寫了一個處理與ADODB交互的js庫)。但是,我可以看到如何開發RESTful服務最終可能會有用。基於HTA的Crud應用程序的設計建議

其次,我需要將報告功能整合到系統中。我可以使用SQL Server報表服務或水晶報表,但用戶已經習慣於使用VBA在Word中編寫報表的一些較早的應用程序;所以我正在考慮使用WordML來編寫報告。

謝謝。

回答

1

數據庫訪問

如果你需要一個瘦客戶端,那麼它可能更好地從客戶端中直接訪問數據庫望而卻步。

主要問題是您將引入對特定網絡架構的高度依賴性,並且您的ASP.Net應用程序和HTA都將高度依賴於數據庫。

相反,我寧願切斷對數據庫的直接視線依賴關係,並讓數據由服務器處理。

這有幾個優點:

  • 許多小的變化到數據庫,你可能只將不得不更新ASP應用程序。

  • 如果你曾經需要你的客戶端應用程序在互聯網上運行(比如說因爲有些用戶要去外部會議,需要在工作中工作或者你的公司打開一個新的分支),那麼你將不必重寫您的瘦客戶機。

  • 您可以更好地控制對資源的訪問:只讓ASP應用程序與數據庫對話並過濾進出它的內容。
    這將節省您必須在客戶端上實現所有安全性:ASP應用程序成爲數據庫的監護人。這是一種更好的保護信息的方式,它可以給你更多的控制權。

報告

對於報告我會使用的服務器再次,而不是實現客戶端本身的複雜報表功能。
問題是,如果您使用HTA並且不想開始必須在每個用戶的計算機上安裝依賴項,您將始終限制客戶端。
你將最終建立一個客戶端在任何時間...

如果您使用ASP。Net有很多非常好的報告工具,可以讓你的生活變得更輕鬆,並讓你的用戶在Excel,Word,PDF等等中獲得精美的報告,而無需自己編寫這些功能。
水晶報表是好的,但有更好更簡單的選擇,例如Developer Express Report引擎非常易於使用。