2011-06-29 26 views
0

我有一個基於Web的企業應用程序。我們面臨的一個問題是後端與我們的前端緊密結合。現在我們想要爲我們的軟件提供移動應用程序和桌面客戶端。爲此,我們決定將後端移動到Web服務,以便多個前端客戶端可以使用相同的函數調用。但仍然懷疑這是否是一個正確的舉措?或任何其他方法可以幫助?使用網絡服務的任何陷阱?最讓我關注的是速度。 Web服務本來就比較慢?什麼時候應該使用Web服務?

感謝您的幫助。

回答

0

取決於您對'webservices'的理解。 SOAP,REST,像這樣的所有技術?

SOAP服務具有很大的優勢,它們通過WSDL具有定義良好的合同,並且客戶可以輕鬆生成存根。另一方面,SOAP服務還可以帶來更多的工作(例如,如果在沒有soap客戶端的客戶端(例如iOS,普通的html應用程序)上使用它們)。此外,網絡服務會帶來很多開銷,如果您打算提供大量數據,可能會發揮作用。移動設備。

在那裏你必須考慮到,客戶端可能有限帶寬(速度和數據量)。此外,它必須處理hole XML文檔,而json可能更容易。

3

大多數Web服務(SOAP,REST)都用於創建平臺無關的服務。我想說的是,Web服務可以通過用Java,.NET平臺等編寫的應用程序訪問,而不用擔心語言使用和技術之間的互操作性。另外,大多數應用程序需要訪問相同的數據,因此爲每個應用程序編寫數據抽象層不是OO。

在你的情況下,Web服務將是必要的,因爲你將有大量的表示層(桌面,移動和Web應用程序),將通過網絡協議訪問您的系統。在這種情況下,我會建議一個Web服務,因爲您可以輕鬆地在服務中編寫業務邏輯/規則,客戶端只需執行請求/響應過程以獲取/發佈數據)。

1

這取決於你來回傳遞的信息的類型,但在更廣泛的方案中,如果你希望有一個「後端」系統,SOA就是要走的路。我相信你會對演出感到滿意,甚至在某些情況下會感到驚訝。大多數情況下,數據庫調用仍然是瓶頸。我負責在很多項目上實施SOA。在很多情況下,應用程序通過Web服務執行速度更快,並不是因爲調用速度更快,而是因爲它會引導您更好地設計並利用其他技術,如本地和遠程緩存。

我會說通常有兩個使用Web服務作爲後端的缺陷。

1.)它們是如何實現的。在你開始寫真實的東西之前,先閱讀一些書並做一些測試。制定標準並努力堅持。 2)單點訪問是一件好事,但不是在不穩定或快速變化的環境中。有一些冗餘和備份計劃以及沙箱和臨時區域。

0

它不會降低性能(速度)。因爲web服務是肥皂的http.I認爲,在你的情況反手應暴露爲web服務,這將是可行的調用服務由多個客戶端。如果您需要,也可以引入額外的安全性....

+1

不同意。與一些不同的簡單協議相比,web服務會明顯減慢處理速度(客戶端和服務器端可能會受到影響)。 webservice默認不僅是soap。這取決於每個人的理解。 – rit

相關問題