WebService和JMS区别

本文转自 http://www.pusuo.net/2009-09-19/110876528.html

WebServices(XML WebServices)比较广义一点的解释是
以XML作为applications(application components)之间的讯息格式
稍微再严格一点的
以WSDL 来制定applications之间的interface/contract
以SOAP作为讯息格式, HTTP作为传输协定

而JMS, 严格来说只是一个标准的APIs
用JAVA为programming language来操作使用MOM的标准APIs
最常见, 也最有可能的解释是
以SOAP作为使用JMS时的讯息格式

JMS是API, 不是transport
我相信您可以用HTTP或SMTP/IMAP来实做JMS
JMS spec并无定义要用怎样地transport protocol
您可能会以HttpURLConnection或JavaMail来使用HTTP或SMTP/IMAP
同样的
HttpURLConnection或JavaMail叫做API, 不是transport
HTTP或SMTP/IMAP才是transport

SOA是一种architecture style
WebServices或是MOM都可成为构建出SOA的方式
(但用了WebServices或是MOM并不表示你的系统就SOA)
很多在MOM里头所强调的特色像是reliability, asynchrony
现在在WebServices上多半都已经可以办到, 而且还有interoperability

从上面的理解来看,JMS可以理解就是一个用于实现某种操作或功能的API,而WebService是一种信息传递的方法。而如何实现2个东西,这跟JMS和WebService完全没有关系的。仅为个人理解。