帮助台票证系统:Windows应用程序与Web应用程序

时间:2010-07-15 22:03:36

标签: c# asp.net winforms architecture

我想在工作中创建一个小型帮助台票务控制系统,允许用户输入帮助请求票据;然后将这些票据分配给技术人员进行处理,并且技术人员在作业完成后将其标记为“完成”。然后,请求用户将能够确认并“关闭”故障单,以便帮助台主管可以根据故障单详细信息跟踪响应时间和其他统计信息。使用.NET和SQL Server没什么太复杂的。

我不确定是否应将其开发为Web应用程序或Windows应用程序。该应用程序将用于工厂车间,因此必须在LAN中轻松使用。但是我们目前通过Citrix托管Windows应用程序列表,因此部署在这里不会成为问题。我真的没有从头开始创建winapps的经验(虽然我已经修改了很多),但感觉就像Web应用程序看起来不那么“坚固”。

读者可以提供哪些建议来指导我为此目的决定更好的架构?

修改 谢谢大家的想法!鉴于这是一个非常简单的应用程序,我可以采取任何一种方式。我决定使用Web应用程序,因为我们的本地Citrix设置仍有一些需要修复的怪癖。

6 个答案:

答案 0 :(得分:2)

如果您开发了一个Web应用程序,则可以在本地Intranet上将其弹出,并且您的用户可以使用Citrix中的浏览器,也可以通过其终端上的浏览器使用。

但是,如果您已经有了基础架构,那么可能更容易开发和部署Windows应用程序。 Windows应用程序的唯一限制是,如果您要离开Citrix环境,或者要扩展到希望在工厂外部使用系统,那么部署和维护您的安装将更加困难。

您可以将Web部署与Windows应用程序一起使用,因为它会在您发布新版本时自行更新,但是对于用户来说这是一个不错的选择,并且您无法保证用户将允许更新发生。因此,如果您有关键更新,用户实际上可以选择忽略它。

这就是网络应用程序获得奖励积分的地方。一个安装和一个访问点。如果您更新它,那么所有用户都会立即使用最新版本。

就个人而言,我会使用网络应用程序进行未来验证和轻松访问。它比Windows应用程序稍微多一点,但是收益通常超过了Web应用程序所需的额外时间。

答案 1 :(得分:2)

在编写此系统之前,我强烈建议您搜索www.codeplex.com并确保调整其他作品不是更好的选择。您可能会发现已经编写并满足您需求的内容,同时允许您在需要一些尚未出现的新功能时进行挖掘,学习并准备进行修改。 (我相信如果用户相信开发人员,所有项目都会增长。)

如果您打算自己编写并且可以在您拥有的时间内完成,我强烈建议您使用MVC(如果基于Web)或WPF(使用MVVM)(如果您需要桌面客户端)。 MVVM或MVF与MVVM有明确的学习曲线。但我相信会有回报。当业务逻辑和视觉行为之间存在明确界限时,我发现变更更容易。

答案 2 :(得分:0)

就个人而言,在这种情况下我会选择一个Windows应用程序 - 因为它听起来好像没有任何令人信服的理由来调用web-ness的复杂性(也许只是我认为web =>附加复杂)。我相信你可以创建一个整洁的小窗口应用程序。只有一半的时间来创建同样的笨重网页版本!

答案 3 :(得分:0)

作为旁注:

我非常喜欢Eclipse Mylyn与XML-RPC集成的方式。检查这个架构的灵感:

http://www.eclipse.org/mylyn/

如果你采用了类似的策略,你可以从一个简单的前端开始(也许作为一个带有本机GUI的C#,并在以后以你最快的方式与你的内部网进行基于网络的集成。做)。

在esscente中,您可以使用3层方法:

  • 数据库。
  • 应用层实现了XML通信协议(XML-RPC非常简单)。
  • 信息字段和工作流程步骤“内省”而不是客户端硬编码的前端。

只是一点,希望它有所帮助。

答案 4 :(得分:0)

编写winform应用程序,并通过ClickOnce分发。这是最好的方式,IMO。

答案 5 :(得分:0)

不要急于做出这个决定。最后,Web vs Win问题是关于用户可访问性的。您业务需求的大部分处理逻辑都与接口无关。花费您的时间来构建正确的数据模型并确定所需的必要处理/服务。精心设计的数据库和服务层将适用于Web和Win应用程序。当您的“产品”不可避免地增长时,这也将为您提供最大的灵活性。如果您需要为用户提供更高级的用户处理能力,您可能希望为需要报告功能的管理员和WinForms应用程序提供Web界面。那就是你最初的设计工作将得到回报。