Web服务是面向服务的体系结构实现。
但是,我们可以说CORBA,RMI和Java EE平台也是SOA的实现吗?
答案 0 :(得分:6)
如果你说SOA意味着WS- *标准,那么答案就是“不”。
但是如果SOA意味着分布式组件使用商定的协议进行通信,那么答案是肯定的,您可以将CORBA,RMI和Java EE视为SOA。 (我的建议是删除“2” - 它已经很长时间了。除非你想要显示为过时,否则请将它称为Java EE。)
即使是Web服务也至少有两种风格:SOAP和REST。您可能还包括XML-RCP。
所有案例的不同之处在于协议的选择。
SOAP在HTTP上使用自己的XML请求/响应习惯用法。
REST是直接HTTP - GET,POST,每个请求的URL。
CORBA使用OMG标准协议。 ORB之间的互操作性以及每种语言的不同绑定曾经是一个大问题。我使用CORBA已经很久了,我不知道当前的技术发展水平。我不认识任何使用CORBA的人。从我的观点来看,这是一种失败的死技术。
RMI是CORBA唯一的Java答案。所有端点必须用Java实现并说RMI。
Java EE使用RMI作为EJB的基础。
简单而开放的胜利:这就是基于HTTP的协议日益普及的原因。
答案 1 :(得分:2)
是肯定的。 WS- *是实现SOA的最常用方式之一。