2010-07-15 69 views
4

我想在工作中創建一個小型幫助臺票證控制系統,以便用戶輸入幫助請求票據;這些票據將被分配給技術人員進行工作,並且技術人員在工作完成後將其標記爲「完成」。然後請求用戶能夠確認和「關閉」票證,以便服務檯主管可以根據票證詳細信息跟蹤響應時間和其他統計數據。沒有太複雜的,使用.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

回答

2

如果您開發了一個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

0

就個人而言,在這種情況下,我會選擇一個Windows應用程序 - 因爲聽起來好像你有任何強制性的理由來調用網絡的複雜性(也許它只是我認爲web =>額外的複雜)。我相信你可以創建一個整潔的小窗口應用程序。只需要一半的時間來創建一個同樣的東西的笨重的網絡版本!

0

一點題外話:

我真的很喜歡的Eclipse Mylyn的與XML-RPC整合的方式。勾選此架構出靈感:

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

如果你去了一個類似的策略,你可以用一個簡單的前端開始(也許作爲一個C#與本機圖形用戶界面和與基於Web的集成增強你的內聯網稍後以最快的速度進行)。

在esscente,你有一個3層的方法:

  • 數據庫。
  • 實現XML通信協議的應用層(XML-RPC非常簡單)。
  • 信息字段和工作流程步驟在客戶端「內省」而不是硬編碼的前端。

只是一個雖然,希望它有幫助。

2

在編寫此係統之前,我強烈建議您搜索www.codeplex.com並確保適應其他工作不是更好的選擇。您可能會發現某些已編寫好的內容並滿足您的需求,同時允許您在需要某些尚未提供的新功能時進行挖掘,學習並準備進行修改。 (如果用戶相信開發人員,我相信所有項目都會增長)。

如果您要編寫自己的並且可以在您擁有的時間內完成這項工作,我強烈建議您使用基於Web的MVC ,或WPF(使用MVVM)如果你想要一個桌面客戶端。有MVVM或WPF與MVVM的權威學習曲線。但我相信會有回報。當業務邏輯和視覺行爲之間存在明確界限時,我發現變更更容易。

0

編寫一個winform應用程序,並通過ClickOnce分發它。這是最好的辦法,國際海事組織。

0

不要急於做出這個決定。最後,Web vs Win問題是關於用戶可訪問性的。您的業​​務所需的大部分處理邏輯都獨立於接口。花一些時間建立正確的數據模型,並確定所需的必要處理/服務。精心設計的數據庫和服務層將同時適用於Web和Win應用程序。這也將爲您提供最佳的靈活性,因爲您的「產品」不可避免地會增長。如果您需要更高級的用戶處理能力,您可能需要一個需要報告功能的經理的Web界面和一個WinForms應用程序。那就是當你最初的設計工作會得到回報。

+0

謝謝,我正在考慮同一條線。網絡報道是不可避免的,所以這個部分幾乎是決定性的。想要這個的人只是想要一些簡單的事情來跟蹤服務請求,所以我最終可能會編寫一個Windows應用程序來避免控制事件和演示文稿格式的怪癖。 – 2010-07-16 17:04:33