webservice和jms的區別
Webservice專注於遠端服務呼叫,jms專注於資訊交換。
大多數情況下Webservice是兩系統間的直接互動(Consumer <–> Producer),而大多數情況下jms是三方系統互動(Consumer <- Broker -> Producer)。當然,JMS也可以實現request-response模式的通訊,只要Consumer或Producer其中一方兼任broker即可。
JMS可以做到非同步呼叫完全隔離了客戶端和服務提供者,能夠抵禦流量洪峰; WebService服務通常為同步呼叫,需要有複雜的物件轉換,相比SOAP,現在JSON,rest都是很好的http架構方案;(舉一個例子,電子商務的分散式系統中,有支付系統和業務系統,支付系統負責使用者付款,在使用者在銀行付款後需要通知各個業務系統,那麼這個時候,既可以用同步也可以用非同步,使用非同步的好處就能抵禦網站暫時的流量高峰,或者能應對慢消費者。)
JMS是java平臺上的訊息規範。一般jms訊息不是一個xml,而是一個java物件,很明顯,jms沒考慮異構系統,說白了,JMS就沒考慮非java的東西。但是好在現在大多數的jms provider(就是JMS的各種實現產品)都解決了異構問題。相比WebService的跨平臺各有千秋吧
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
相關文章
- JMS和AMQP有什麼區別嗎MQ
- WebService的概念和基本使用Web
- ../和./和/的區別
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- ||和??的區別
- /*和/**的區別
- webapi建立和呼叫WebServiceWebAPI
- jquery $(this) 和this的區別jQuery
- JQuery this和$(this)的區別jQuery
- T和?的區別
- makefile =和:=的區別
- ++a和a++的區別
- ./ 和sh 的區別
- 和區別
- springmvc和springboot的區別SpringMVCSpring Boot
- SDK和API的區別?API
- ArrayList和LinkedList的區別?
- button和submit的區別MIT
- MTV和MVC的區別MVC
- hadoop和spark的區別HadoopSpark
- rpop 和 brpop的區別
- WebApi和MVC的區別WebAPIMVC
- GET和POST的區別?
- ArrayList和LinkedList的區別
- WBS和TASK的區別?
- JavaScript中for in 和for of的區別JavaScript
- innerText 和 textContent 的區別?
- var 和 let 的區別
- @JsonProperty和@JsonAlias的區別JSON
- POST 和 GET 的區別
- sass和less的區別
- MySQL和Oracle的區別MySqlOracle
- sizeThatFits 和 sizeToFit的區別
- GitHub和GitLab的區別GithubGitlab
- Js中for in 和for of的區別JS
- isKindOfClass和isMemberOfClass的區別
- innerText和textContent的區別