http://en.wikipedia.org/wiki/Web_service
根据wiki定义,web service指能够通过internet网络访问并能够在远程主机上执行的服务的(web)API。它一般指client和server之间通过http协议进行通信。
主要分为两类:
1. Big Web Services:
使用XML消息、遵循SOAP标准。通常operations都有机器可读的WSDL描述。WSDL并非SOAP端点必须的,但是它是很多Java和.NET框架client端代码自动生成的前提。传统公司用得比较多。
2. RESTful Web Services
使用PUT,GET, DELETE,POST等HTTP方法,跟浏览器的集成比基于SOAP的service更好,它不需要XML消息和WSDL定义。Internet公司用得比较多。
三种主要的使用方式:RPC,SOA,和REST。
1. RPC:
呈现为分布式的函数调用接口,基本单元是WSDL操作。丧失了松耦合性。 类似的实现有OMG的CORBA,MS的DCOM,和SUN的RMI
2. SOA:
基本通信单元是message,关注焦点在WSDL提供的“contract”,而非底层实现细节。Enterprise Service Buses (ESB)是结合了message-oriented processing和web service的Event-driven SOA,主要有Mule和Open ESB。
3. REST:
关注stateful resources的交互,而不是消息。基于REST的架构可以使用WSDL来描述HTTP上的SOAP消息(定义SOAP之上的抽象,e.g. WS-Transfer),或者不使用SOAP。
WSDL2.0支持绑定所有和HTTP方法,但是目前支持的SDK比较欠缺。
设计方法:
1.bottom up:先写实现类,然后使用WSDL生成工具暴露web service方法
2.top down:先写WSDL文档,然后用代码生成工具来产生实现类的框架,之后完成实现。
分享到:
相关推荐
linux扫盲 基础学习 详细 简洁 易懂 linux学习中比较好的东西
MySQL面试题,扫盲学习,从零开始
PCIe总线基础知识扫盲,包括物理层结构,中断机制等知识
资源名称:《零基础学习软件测试》视频教程-扫盲篇资源目录:【】《零基础学习软件测试》之软件测试知识扫盲篇_1【】《零基础学习软件测试》之软件测试知识扫盲篇_2【】《零基础学习软件测试》之软件测试知识扫盲篇_...
ECMAScript 6 技术扫盲,快速学习ES6,进入Javascript开发ES6时代。
PCIe扫盲
数据仓库扫盲PPT学习教案.pptx
PCIe扫盲,pcie扫盲系列博文源码.zip
初接触JAVA的人,可能有些迷糊(我是这样),此文章对java环境进行说明,有助于扫盲(不是编程语言扫盲)
大数据hadoop基础知识扫盲,初步了解什么是hadoop
工学CT图像基础知识扫盲PPT学习教案.pptx
VUE面试题,学习从扫盲开始
LabWindow sCVI 扫盲技巧贴
CMMI快乐之旅-基础知识扫盲 带领你走入CMMI的世界 分别介绍CMMI各个级别定义
网络术语大扫盲.pdf
基础入门知识,学习从扫盲开始
算法注册机编写扫盲算法注册机编写扫盲算法注册机编写扫盲算法注册机编写扫盲
makefile经典扫盲贴 在网上搜到的一片文章 是说怎么书写makefile 本人看了一遍 很是佩服作者 写的很经典 如果你在linux下需要编写自己的makefile的话 极力推荐
强化学习扫盲贴:从Q-learning到DQN.pdf