帮助台票务系统:Windows应用程序和网络应用程序

问题描述:

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

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

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

编辑 谢谢大家的意见!鉴于这是一个非常简单的应用程序,我可以去任何一种方式。我决定使用Web应用程序,因为我们的本地Citrix安装程序仍然存在一些需要修复的怪癖。

+1

我想说,这取决于你期望它的工作或像......但从你所说的可能是网络或应用程序......或者甚至两个......例如一个Web应用程序客户端和你的员工的应用程序...我所说的依赖于你正在计划使它为桌面应用程序带来价值。但总的来说,我猜你可以用两种方法做很多事情......我不认为它会比较坚实,也不同于简单... – Prix 2010-07-15 22:08:20

+1

如果可以的话,也可以考虑购买一个应用程序来做到这一点。原因在于一个简单的帮助台在不到一周的时间内就可以实现,这是将来可能会出现的其他所有内容,例如报告和工作流程,这可能会让您在工作中陷入困境。有数以千计的免费和商业选择,只要问姐妹网站上的家伙:http://serverfault.com/questions/107675/help-desk-software-suggestions – tovare 2010-07-15 22:27:36

+0

@tovare - 我首先想到了这一点。其实这是我分配给的一个项目,而不是一些好的工具。关键在于加快工厂车间制造机器的维护请求,他们希望发送通知非常简单,然后收集统计数据。我打赌有一个稳固的数据库模型,这样我就可以在不需要重新映射数据的情况下构建和升级应用程序。 – 2010-07-16 17:01:33

如果您开发了一个Web应用程序,您可以在本地Intranet上将其弹出,并且您的用户可以在Citrix内使用他们的浏览器,或通过终端上的浏览器使用他们的浏览器。但是,如果你已经有了基础设施,那么开发和部署Windows应用程序可能会更容易。 Windows应用程序的唯一限制是,如果您要离开Citrix环境,或者希望将系统外部扩展到工厂层面,那么部署和维护您的安装就更加困难。

您可以对Windows应用程序使用Web部署,这是非常好的,因为每当您发布新版本时都会自行更新,但它对于用户来说是一个faf,您不能保证用户将允许更新发生。所以如果你有一个关键的更新,用户实际上可以选择忽略它。

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

就我个人而言,我会与网络应用程序一起用于未来的打样和易用性。它比Windows应用程序的工作稍微多一些,但是回报通常会超过Web应用程序所需的额外时间。

+0

为什么ClickOnce发布没有“ForceUpdateOnUser”选项? :) – 2010-07-15 22:11:53

+0

@愿意 - 我希望它不会像我写了一个模块,以确保应用程序始终运行最新版本。我只有一个Windows应用程序,这是一个维护噩梦。有些用户会一直打开他们的机器和应用程序。如果我有一个从数据库中清除所有数据的bug,我必须打电话给公司,让他们关闭应用程序的所有实例,然后进行更新,否则他们可能会继续并继续破坏该位置。 – GenericTypeTea 2010-07-15 22:15:05

+0

^^并不是说我曾经有一个如此重要的bug,它只是一个例子! :P – GenericTypeTea 2010-07-15 22:16:00

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

一点题外话:

我真的很喜欢的Eclipse Mylyn的与XML-RPC整合的方式。勾选此架构出灵感:

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

如果你去了一个类似的策略,你可以用一个简单的前端开始(也许作为一个C#与本机图形用户界面和与基于Web的集成增强你的内联网稍后以最快的速度进行)。

在esscente,你有一个3层的方法:

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

只是一个虽然,希望它有帮助。

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

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

编写一个winform应用程序,并通过ClickOnce分发它。这是最好的办法,国际海事组织。

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

+0

谢谢,我正在考虑同一条线。网络报道是不可避免的,所以这个部分几乎是决定性的。想要这个的人只是想要一些简单的事情来跟踪服务请求,所以我最终可能会编写一个Windows应用程序来避免控制事件和演示文稿格式的怪癖。 – 2010-07-16 17:04:33