理解SOA 、 WebService 、Axis / Xfire / CXF
coder做久了,就有一种不安分,鲤鱼跳龙门的躁动。
?
想理解SOA,别想着如何实现(通病),咱们慢慢聊~~
?
SOA?是一个架构模型 , 可以说是一个宏伟的设想和蓝图 。每当听到火箭发射成功的时候,总有一个总设计师出现。对,他就是提出这种设想和蓝图的人。
?
Webservice? 是一种实现SOA蓝图的规范和标准。Webservice说,照着我的标准和规范作,你就可以实现SOA蓝图。火箭设计指导专家,他制定规范和标准。
?
Axis / Xfire / CXF?/JWS 他们哥几个是对Webservice的标准和规范的实现,是真正用来开发SOA应用的工具和平台。就是站在操作火箭实现平台上的一线技术人员。也就是像目前的我一样的coder。
?
再说说这几个具体实现者的信息吧,找到一些资料,分享一下:
?
1、JWS是Java语言对WebService服务的一种实现,用来开发和发布服务。而从服务本身的角度来看JWS服务是没有语言界限的。但是Java语言为Java开发者提供便捷发布和调用WebService服务的一种途径。
?
2、Axis2是Apache下的一个重量级WebService框架,准确说它是一个Web Services / SOAP / WSDL 的引擎,是WebService框架的集大成者,它能不但能制作和发布WebService,而且可以生成Java和其他语言版WebService客户端和服务端代码。这是它的优势所在。但是,这也不可避免的导致了Axis2的复杂性,使用过的开发者都知道,它所依赖的包数量和大小都是很惊人的,打包部署发布都比较麻烦,不能很好的与现有应用整合为一体。但是如果你要开发Java之外别的语言客户端,Axis2提供的丰富工具将是你不二的选择。
?
3、XFire是一个高性能的WebService框架,在Java6之前,它的知名度甚至超过了Apache的Axis2,XFire的优点是开发方便,与现有的Web整合很好,可以融为一体,并且开发也很方便。但是对Java之外的语言,没有提供相关的代码工具。XFire后来被Apache收购了,原因是它太优秀了,收购后,随着Java6 JWS的兴起,开源的WebService引擎已经不再被看好,渐渐的都败落了。
?
4、CXF是Apache旗下一个重磅的SOA简易框架,它实现了ESB(企业服务总线)。CXF来自于XFire项目,经过改造后形成的,就像目前的Struts2来自WebWork一样。可以看出XFire的命运会和WebWork的命运一样,最终会淡出人们的视线。CXF不但是一个优秀的Web Services / SOAP / WSDL 引擎,也是一个不错的ESB总线,为SOA的实施提供了一种选择方案,当然他不是最好的,它仅仅实现了SOA架构的一部分。
?
但是为什么要用SOA呢,请接着看我的博客。谢谢~~