2009-02-17 70 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引擎非常易于使用。