定义

WebService是一种服务导向架构(SOA service-oriented architecture)的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。

WebService应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多 API 所组成的,它们透过网络,例如 Internet 的远程服务器端,执行客户所提交服务的请求。

WebService脚本平台需支持XML+HTTP。(基于SOAP)

SOA

SOA 面向服务的体系结构(service-oriented architecture)并不特指一种技术,而是一种分布式运算的软件设计方法。软件的部分组件(调用者),可以透过网上的通用协议(如:HTTP)调用另一个应用软件组件运行、运作,让调用者获得服务。

SOA中的一项服务应有以下四个特性:

  1. 针对某特定要求的输出,该服务就是运作一项商业逻辑
  2. 具有完备的特性(self-contained)
  3. 消费者并不需要了解此服务的运作过程
  4. 可能由底层其他服务组成

优势

  1. 跨平台调用(WebService不局限于操作系统,你可以在Windows上调用linux上的WebService服务,反之亦然,其他系统同理);
  2. 跨语言调用(WebService不局限于编程语言,你可以在Java语言中调用C#语言提供的WebService服务,反之亦然,其他语言同理);
  3. 可远程调用(通过使用WebService,您的应用程序可以向全世界发布信息,或提供某项功能,只要有Internet)。

WebService 平台的元素:

  • SOAP (简易对象访问协议)
  • UDDI (通用描述、发现及整合;PS:并不常用)
  • WSDL (WebService描述语言)

其他相关概念:

SEI

SEI (Service Endpoint Interface) 在Webservice中被称为 port ,在Java中称为接口(Endpoint),WebService服务器端用来处理请求的接口。

Endpoint

服务端点(Endpoint),简单的来说它就是WebService 暴露出来的一个URL。通过这个URL,client应用或者说调用端就可以访问到其对应的服务。

WebService中一个基于SOAP的service可以通过单独的一个Java类来实现。一个endpoint interface,即SEI,是WebService公开时在JavaEE中使用的术语。 它使用@WebService进行注释,表明这是一个组件接口,它声明了向客户端公开的所有抽象方法。

SOAPRESTful

SOAP是一种数据交换协议规范,是一种轻量的、简单的、基于XML的协议的规范。其主要核心是面向活动。

RESTful是一种架构设计风格,提供了设计原则和约束条件,而不是架构。而满足这些约束条件和原则的应用程序或设计就是 RESTful架构或服务。其主要核心是面向资源。

REST可以看着是http协议的一种直接应用,默认基于json作为传输格式,使用简单,学习成本低效率高;而SOAP可以看着是一个重量级的协议,基于xml,SOAP在安全方面是通过使用XML-Security和XML-Signature两个规范组成了WS-Security来实现安全控制的。简单数据操作,无事务处理,开发和调用简单这些是使用REST架构风格的优势。而对于较为复杂的面向活动的服务,如果我们还是使用REST,很多时候都是仍然是传统的面向活动的思想通过转换工具再转换得到REST服务,这种使用方式是没有意义的。

WebService 学习笔记(一、概念及定义)的更多相关文章

  1. Oracle RAC学习笔记:基本概念及入门

    Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章]    oracle 10g real applica ...

  2. Java WebService学习笔记 - Axis进阶(二)

    上一篇  Java WebService学习笔记 - Axis(一) 前一篇博文中简单介绍了Axis的使用方法,这篇将介绍一些Axis的一些高级特性 Axis中Handler的使用 Handler ...

  3. Java WebService学习笔记 - Axis(一)

    WebService 简介 实际开发中,很多系统都是基于历史遗留系统进行开发,有时,这些系统基于不同的语言,如C,C++,C#,java,PHP等等.为了实现历史系统的再利用,或向外部程序暴露调用接口 ...

  4. WebService学习笔记系列(二)

    soap(简单对象访问协议),它是在http基础之上传递xml格式数据的协议.soap协议分为两个版本,soap1.1和soap1.2. 在学习webservice时我们有一个必备工具叫做tcpmon ...

  5. Java IO学习笔记:概念与原理

    Java IO学习笔记:概念与原理   一.概念   Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了 ...

  6. jQuery学习笔记之概念(1)

    jQuery学习笔记之概念(1) ----------------------学习目录-------------------- 1.概念 2.特点 3.选择器 4.DOM操作 5.事件 6.jQuer ...

  7. tensorflow学习笔记——常见概念的整理

    TensorFlow的名字中已经说明了它最重要的两个概念——Tensor和Flow.Tensor就是张量,张量这个概念在数学或者物理学中可以有不同的解释,但是这里我们不强调它本身的含义.在Tensor ...

  8. webservice 学习笔记 1

    Webservice----------->跨语言服务调用 (视频学习总结) 1-1.有OA系统 需要添加一个功能,登录之后显示天气情况 此时可以使用Webservice eg1: 气象局自己有 ...

  9. AngularJs学习笔记--concepts(概念)

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/concepts 继续.. 一.总括 本文主要是angular组件(components)的概览,并说明 ...

随机推荐

  1. 关于Telnet使用

    一.telnet作用 可以使用telnet检查 ip port的连通性 语法: telnet ip port 注意点: 1.使用前先操作系统安装telnet: 2.ip port 中间没有 “:”: ...

  2. Sort函数的用法

    快速排序sort的用法:(适用于int float double char ...) 记得加头文件! 记得加头文件! 记得加头文件! 头文件: #include <algorithm>   ...

  3. MARS3.6 Programming

    An Assembly Language I.D.E. To Engage Students Of All Levels * A Tutorial *2007 CCSC: Central Plains ...

  4. Jmeter对HTTP请求压力测试、并发测试

    最近公司需要开发一个简单的报名系统,供外网用户提供报名服务,由于我们公司是个初创的微型公司,开发人员都是刚毕业不久,开发经验相当缺乏. 对于服务器性能测试这块的经验更是少得可以忽略.迫使不得不让我们去 ...

  5. C#性能优化实践(转载)

    原文地址http://www.infoq.com/cn/articles/C-sharp-performance-optimization?utm_source=infoq&utm_mediu ...

  6. 如何在 Linux 虚拟机上扩展根文件系统

    问题描述 通过 Azure 平台部署的 Linux 虚拟机默认的根文件系统容量有限,需要进行扩展. 问题分析 由于 Azure 平台部署的 Linux 虚拟机默认根文件系统容量比较小,客户在使用过程中 ...

  7. 这么多小程序,会微信小程序就够了

    随着小程序的普及以及小程序体验的逐步升级,现在小程序的地位已经凸现出来.各大平台纷纷推出自己的小程序平台. 最早的是微信小程序,支付宝小程序,快应用,百度小程序去年上来,18年底头条程序也发布. 那么 ...

  8. shell单引号双引号详解

    linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了) " "(双引号)与 ' '(单引号)的区别    你在shell prompt(shell 提示)后面敲 ...

  9. QT的组合键

    https://www.cnblogs.com/Jace-Lee/p/5859293.html

  10. ubuntu 16.04 virtualbox could not insert 'vboxdrv': Required key not available 问题解决方法

    从 内核版本 4.4.0-20 开始,在开启了 Secure Boot 的电脑上,未注册的 kernel 模块不再允许执行,所以如果想在保持 Secure Boot 的情况下依然允许执行,我们需要做的 ...