dev

Web Service - Basic

/note-bak/dev/web-service/basic/web_service/

What is Web Service

“A Web service is a method of communication between two electronic devices over a network.”

总结来说,就是公司内的部门A和部门B,或者公司X和公司Y,为了某一些数据互通,开发的一个数据通信模块。

What is RESTful?

Representational State Transfer (表现层状态转化)

an architecture design that define a stateless client where web services are treated like resources and can be accessed and identified by URL

RESTful架构,是目前流行的一种互联网软件架构

  • 每一个URI代表一种资源
  • 客户端和服务器之间(Client-Server架构),传递这种资源的某种表现层
  • 客户端通过四个HTTP动词,对服务器端资源进行操作,实现”表现层状态转化”

组合起来就是,基于Client-Server架构,使用HTTP动词,对资源进行操作/传递。

http://www.ruanyifeng.com/blog/2011/09/restful.html

RESTful vs SOAP?

SOAP是比较早期的Web Service解决方案,后来慢慢就淘汰了,主要原因是”重”,开发起来复杂,学习成本高。

这个”重”主要体现在几个方面:

  • SOAP有自己的一套XML格式的SOAP message,需要额外parse;而RESTful就是直接JSON/XML/CSV,使用起来方便很多。
  • SOAP需要定义一套接口WSDL暴露给外部;而RESTful直接使用HTTP verbs(GET, PUT, POST, DELETE),进而提出 Resource-based 这个概念,更容易开发。
  • SOAP需要定义一套资源中心UDDI暴露给外部,用来查询WSDL;而RESTful没有这些,它的请求可以通过文档直接暴露给外部。

Servlet

What is a Servlet?

Servlet 是处理 http request 的 Java 程序

What is the Difference Between JSP and Servlet?

JSP 侧重于视图,servlet 主要用于控制逻辑。