2010-11-25 227 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等...