Webservice应用

1. 概念
1. Webservice是什么

​ webservice即web服务,它是一种跨编程语言和跨操作系统平台的远程调用技术。

2. Java中Webservice的三种规范
  • JAX-WS(JAX-RPC)

    • 全称:Java API For Xml-WebService

    • 客户端和服务端通信协议:soap

    • 传输数据:xml

    • 使用场景:客户端借助SDK生成XML

  • JAXM&SAAJ

    • 编码麻烦
    • 暴漏SOAP更多细节,可以控制SOAP的更多细节
  • JAX-RS

    • 客户端和服务端通信协议:http

    • 传输数据:xml、json

    • REST风格

3. Webservice三要素
  • soap协议

    • 全程:Simple Object Access Protocol(简单对象访问协议)
    • 作用:交换xml编码信息的轻量级协议
    • 可以运行在任何其他传输协议上
    • soap是基于HTTP的,等于HTTP + XML
    • 组成
      • Envelope - 必须部分,以XMl的根元素出现
      • Headers - 可选部分
      • Body - 必须部分。包含要执行的服务器的方法、发送到服务器的数据。
  • wsdl说明书

    • 全称:SebService Definition Language
    • wsdl是一个基于xml的文件,通过xml语言描述整个服务
    • 描述webservice服务端对外发布的服务
    • 描述内容:
      • 对外发布的服务名称:类
      • 接口方法名称:方法
      • 接口参数:方法参数
      • 服务返回的数据类型:方法返回值
  • uddi

    • 全称:Universal Description,Discovery and Integration

    • UDDI是一种目录服务,可帮助Web服务上在互联网发布Web服务的信息

2. Webservice使用场景

​ Webservice适用于应用程序集成、软件重用、跨防火墙通信等需求。

​ 简单来说,如果一个功能,需要被多个系统使用,那么就可以使用webservice开发一个服务端接口,供不同的客户端应用。

​ 主要应用在企业内部系统之间的接口调用、面向公网的webservice服务

3. 优缺点
  • 优点

    • 异构平台的互通性
      • 由于不同的用户使用不同的硬件平台,不同的操作系统,不同的软件,不同的协议通信,这就会产生互相通信的需求。Webservice使任何两个应用程序,只要能读写XML,那么就能互相通信。
    • 更广发的软件复用
      • 软件的复用技术通过组合已有模块来搭建应用程序,能大幅提高软件的生产效率和质量。
      • 用户只要获得了描述Webservice的WSDL说明书文件,就可以方便地生成客户端代理,并通过代理访问Webservice
      • 例如:手机京东可以复用已有京东的业务逻辑。
    • 成本低、可读性强、应用范围广
      • Webservice可用基于XML的SOAP来表示数据和调用请求,并且通过HTTP协议传输XML数据。
    • 迅捷的软件发行方式
      • 每个Webservice可称为一个生产者,不同的生产者可以相互协同合作完成整个应用。
  • 缺点

    • 由于soap是基于xml传输,xml格式会传输一些无关内容从而影响效率。
    • 随着soap协议的完善,soap增加了许多内容,导致使用soap完成简单的数据传输而携带的信息会更多更会影响效率。
    • 简单接口的数据传输可直接使用HTTP自定义数据格式,即JSON
4. 面向服务架构SOA

​ SOA(Service-OrientedArchitecture)面向服务架构是一种思想,它将应用程序的不同功能单元通过中立的契约(独立于硬件平台、操作系统、编程语言)联系起来,使得各种形式的功能单元更好的集成。

​ 目前来说,Webserivce是SOA的一种较好的实现方式,Webservice采用HTTP作为传输协议,SOAP作为传输消息的格式。

​ 但是Webservice并不完全符合SOA的概念,因为SOAP协议是Webservcice的特有协议,并未符合SOA的传输协议透明化的要求。

​ SOAP是一种应用协议,早期应用于RPC的实现,传输协议可以依赖于HTTP、SMTP等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值