我想給外部訪問一個Web應用程序。許多客戶端上的多個應用程序將廣泛地使用該服務(希望),這將始終導致數據庫上的CRUD函數。何時選擇webservices?
Web服務總是首選嗎?有什麼規則可以選擇web服務,套接字等嗎?
我想給外部訪問一個Web應用程序。許多客戶端上的多個應用程序將廣泛地使用該服務(希望),這將始終導致數據庫上的CRUD函數。何時選擇webservices?
Web服務總是首選嗎?有什麼規則可以選擇web服務,套接字等嗎?
這實際上取決於你的客戶是誰,你看什麼樣的表現,你的客戶對技術的瞭解程度。
套接字等可能會給你一個很好的性能速度,但開發時間可能會增加你和你的客戶。 SOAP Web服務在一段時間後建立了一個標準,但現在人們更多地使用REST Web服務,因爲它的簡單性和較低的開銷。 twilio
我確信Twilio每天都會接到數以十萬計的電話,而且他們表現得很好,所以對我提供的RESTful web服務印象非常深刻。 看一看下面的文章中對此有更多的瞭解 http://www.ibm.com/developerworks/webservices/library/ws-restful/ http://grails.org/doc/1.0.x/guide/13.%20Web%20Services.html
Webservice使其成爲不同類型的客戶端和應用程序交換數據的通用方式,它也取決於您的架構和基礎架構。
套接字編程有點複雜,有些時候可能會造成數據交換的問題。它完全取決於你應該使用的功能需求和結構。
如果您的客戶端將從應用程序的瀏覽器中使用此數據,那麼webservice是更好的選擇。
Web服務的最大好處是易用性和預定義的接口,但與低級套接字通信相比,它們「速度較慢」,因爲例如需要創建SOAP服務的XML請求/響應/ interpreded。
所以我會說,如果你打開服務「局外人」使用Web服務,除非速度真的是最大的擔憂。
另外,因爲Web服務通常可以通過端口80訪問,所以與代理/防火牆相比,使用其他端口上的套接字時遇到的問題少得多。
如果您的工作量很大,cahcing也非常重要,因爲它可以加快系統的運行速度。
我會選擇一個Web服務(SOAP或REST),只要我可以。擴展Web服務比家庭套接字實現更容易,並且構建Web服務所需的時間更少。
如果你需要雙向通信(我知道WCF有回調),套接字通常是首選。