WebService入门

一、    简介


       WebService不是框架,而是一种跨平台、跨语言的规范。主要是为了解决不同平台、不同语言所编写的应用之间如何相互调用的问题。如下图所示:


  


二、    实际用途


       也就是我们企业实际开发中,WebService的实际应用场景,下面举几个例子:

  Ø  同一个公司的新、旧系统的整合。新、旧系统可能是不同平台不同语言。

  Ø  不同公司的业务整合。业务的整合就要带来系统的整合,而不同公司的系统可能存在平台不同、语言不同的问题。(例如,支付业务需调用银行系统)

  Ø  内容聚合。例如,一个应用需要提供,天气预报、股票行情、黄金行情、编程语言行情等。这个内容聚合的应用,需要调用大量不同平台、不同语言编写的应用方法。

       例子就举到这里,在说一个我们身边的实际场景:我们从淘宝或者当当购物后,淘宝和当当会提供订单信息、物流信息等。而这些信息不是它们负责的,是有物流公司负责的(例如:顺风快递),也就是说订单信息是存在顺风系统中的,这样淘宝或当当需要拿到订单信息,就需要通过WebService远程调用顺风系统,如下图:


  


三、    CXF简介


       CXF号称是一个SOA框架,对 SOA 的需要来源于需要使业务 IT 系统变得更加灵活,以适应业务中的改变。

SOA是一个组件模型,它将应用程序的不同功能单元称为服务(Service),通过这些服务之间定义良好的接口和契约联系起来。它提倡所有的组件(Service1、Service2、Service3…)都是即插即用的,像组装电脑的方式来开发软件。

       ApacheCXF = Celtix + XFire,开始叫 ApacheCeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华。XFire是一个WebService框架,Celtix是一个ESB框架。也就是说,WebService将程序单元发布为一个个服务,然后Celtix这些服务给联系起来,这样就与前面的SOA的组件模型如出一辙。所以CXF号称是SOA框架。

       此外,补充一点小知识。发布用CXF开发的WebService服务时,不需要将服务部署在Tomcat服务器上,因为Apache CXF内置了一个Jetty Web服务器。Jetty是国外的一个开源小团队写的,它在很多方便都要比Tomcat要有优势。但Tomcat是Apache下的子项目,而Apache是JavaWeb规范的制定者,所以多年来Jetty一直没有Tomcat流行。后来,Jetty投靠到Eclipse下,但还是没有得到真正推广。Tomcat与Jetty的关系,很像Strut1与WebWork的关系。


四、    小结


       如上所述,WebService集中解决了如下几个问题:远程调用、跨平台调用、夸语言调用。

       加入WebService之前,我们系统的架构可能为:


  


  那么,加入WebService之后,架构就变为了:


  

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值