我們有一個現有的專有數據處理應用程序,它運行在我們的一臺服務器上,我們希望將它公開爲Web服務,以便客戶遠程提交作業。本質上,系統會採用一組配置參數和一個或多個數據文件(文件數取決於特定配置模板,但正常配置爲2個文件)。應用程序然後獲取輸入文件,處理它們,並輸出單個結果數據文件(所有文件都是分隔的文本/ CSV或選項卡)。關於基於WCF REST Web服務的數據文件模式的想法
我們現在想把這個過程公開爲一項服務。基於我們目前的設置和現有平臺,我們相當有信心,我們希望將WCF 4.0作爲框架,並可能用於服務格式的REST,儘管在某些時候可能需要SOAP實現。
雖然我在SOA,WCF和REST上做了大量的閱讀,但我對如何建模該服務的其他想法感興趣。特別是,作業與所需文件之間的一對多關係用於輸入。使用標準的CRUD命令在REST中建立一個「作業」似乎很簡單。但是,預定義的「作業類型」參數定義了必須包含的文件數量。作業類型「A」可能需要兩個輸入文件,而「B」需要3才能運行作業。
鑑於此,建模工作的最佳方式是什麼?在初始創建作業時是否包含多個文件?我是否創建了一個工作,然後有一個「addFile」方法,然後我可以上傳必要數量的文件?
這些作業將不得不異步運行,因爲它們需要時間。一旦完成,是否最好在作業對象中只有一個狀態字段,並要求客戶端定期查詢系統的工作狀態,或者在作業完成時讓客戶端提供一個「ping」的URL?
我們只在服務的規劃階段,所以任何見解都將不勝感激。
羅伯特,這些文件是工作的關鍵組成部分。如果沒有他們,這項工作就無法實現,他們對自己毫無意義,所以你的觀點很好。然而,那麼我們就會進入實施的螺母和螺栓。我不認爲WCF可以在一個請求中上傳多個文件。如果我有一個「/ job」端點,並且發佈了一個新的工作,我該如何處理一次性提交多個文件和元數據?這僅僅比WCF REST可以處理的多嗎? – 2011-03-15 18:53:09