`
JavaFans
  • 浏览: 87365 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

web service扫盲学习

阅读更多
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文档,然后用代码生成工具来产生实现类的框架,之后完成实现。

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics