zoukankan      html  css  js  c++  java
  • 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服务时,不须要将服务部署在Tomcatserver上,由于Apache CXF内置了一个Jetty Webserver。

    Jetty是国外的一个开源小团队写的。它在非常多方便都要比Tomcat要有优势。但Tomcat是Apache下的子项目。而Apache是JavaWeb规范的制定者,所以多年来Jetty一直没有Tomcat流行。后来。Jetty投靠到Eclipse下。但还是没有得到真正推广。

    Tomcat与Jetty的关系,非常像Strut1与WebWork的关系。


    四、    小结


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

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


      


      那么。增加WebService之后。架构就变为了:


      

  • 相关阅读:
    AOP静态代理解析2-代码织入
    算法笔记_064:蓝桥杯练习 操作格子(Java)
    算法笔记_063:蓝桥杯练习 送分啦(Java)
    算法笔记_062:蓝桥杯练习 最小乘积(基本型)(Java)
    算法笔记_061:蓝桥杯练习 字串统计(Java)
    算法笔记_060:蓝桥杯练习 出现次数最多的整数(Java)
    算法笔记_059:蓝桥杯练习 Anagrams问题(Java)
    算法笔记_058:蓝桥杯练习 2的次幂表示(Java)
    算法笔记_057:蓝桥杯练习 最大的算式 (Java)
    算法笔记_056:蓝桥杯练习 未名湖边的烦恼(Java)
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/7119634.html
Copyright © 2011-2022 走看看