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之后,架构就变为了: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- WebService学习笔记-CXF支持的数据类型
- SystemProperties读取资源文件.properties文件的配置属性
- AngularJS 学习笔记 (二) 基本概念和用法 之 MVC
- repository – 使用基本身份验证设置私有yum repo
- angularjs – 如何在Angular-UI bootstrap Carousel中使用S
- 我需要将单个对象的成员导入到Scala的伴侣类中吗?
- 有没有办法禁用磁盘文件的系统(unix)缓存?
- AngularJS Django Rest框架CORS(CSRF Coo??kie不显示在客户
- angularjs – Angular UI路由器,如何从控制器获取当前状态的
- 如何将重复的对象传递给我的AngularJS指令?
- ruby-on-rails – Memcached大小限制到底与文件系
- angularjs – 测试角度mousedown,mousemove,mous
- 从string / nameonly参数创建变量以在bash中提取
- 交互式shell在孤立进程组中应该做什么?
- WebServices 简介
- angularJS 嵌套控制器的model作用范围
- 解决bootstrap-paginator与bootstrap3样式兼容的
- 使用angular2 @HostListener时,onbeforeunload确
- 数组 – 无法将QuickSort应用于ArrayBuffer以在S
- Angular 4 – Reactive Forms – 从列表中未引用