基于HTA的Crud App的设计建议

时间:2009-02-17 04:56:13

标签: crud hta wordml

我正在为各种内部CRUD应用程序开发框架。我已经考虑了几种MS技术(WPF,Access,WinForms,ASP.NET),并为客户端使用HTA + Jquery确定了ASP.NET MVC。我这样做的原因是我需要一种方法来编写和部署快速的一次性GUI应用程序,以及维护更强大的应用程序,这些应用程序预计会有很长的使用寿命。

首先,我要感谢一些关于在客户端使用ADODB与在服务器端使用ADO.NET的相对优点的想法。我倾向于ADODB,因为我将有客户端访问SQL Server(我已经编写了一个处理与ADODB交互的js库)。但是,我可以看到开发RESTful服务最终是如何有用的。

其次,我需要将报告功能纳入系统。我可以使用SQL Server报告服务或水晶报告,但用户已经习惯了一些使用VBA在Word中编写报告的旧应用程序;所以我正在考虑使用WordML编写报告。

感谢。

1 个答案:

答案 0 :(得分:1)

数据库访问

如果您需要瘦客户端,那么最好不要直接从客户端访问数据库。

主要问题是您将对特定的网络架构引入高度依赖性,并且您的ASP.Net应用程序和HTA都将高度依赖于数据库。

相反,我更愿意将对直接视线的依赖关系切断到数据库,并让数据由服务器处理。

这有一些优点:

  • 对数据库的许多小改动,你可能只需要更新ASP应用程序。

  • 如果你需要你的客户端应用程序在互联网上运行(比如因为一些用户要去外面的会议,需要在工作中工作或者你的公司开设一个新的分支机构)那么你就不会有重写瘦客户端。

  • 您可以更好地控制对资源的访问:只让ASP应用程序与数据库通信并过滤进出的内容。
    这将节省您必须在客户端上实现所有安全性:ASP应用程序成为数据库的守护者。这是一种更好的信息保护方式,它可以让您获得更多控制权。

<强>报告

报告我再次使用服务器而不是在客户端本身实现复杂的报告功能 问题是,如果您使用HTA并且不想开始在每个用户的计算机上安装依赖项,那么您将始终限制客户端。
您最终会立即建立一个客户端......

如果您正在使用ASP.Net,那么有很多非常好的报告工具可以让您的生活更轻松,并允许您的用户在Excel,Word,PDF等中获得精美的报告,而无需您自己编写这些功能。
Crystal Reports没问题,但有更好更简单的替代方案,例如Developer Express Report引擎非常容易使用。

相关问题