首页 新闻 搜索 专区 学院

REST规范的WCF或webservice的使用场景是哪里?

0
悬赏园豆:30 [已解决问题] 解决于 2010-08-24 16:40

如题

哪里可以用到?内部系统间可不可以用?

不好意思,对webservice和wcf不太熟悉,不太理解

wdwwtzy的主页 wdwwtzy | 初学一级 | 园豆:28
提问于:2010-08-19 10:23
< >
分享
最佳答案
0

适用场景,当然是符合WEB语义的环境,也就是Resourse CRUD,这要看你个人的“喜好”了。

那个博士的名字搞忘记了,总之他认为RPC风格的Web Service虽然解决了跨平台问题,但是并不符合

WEB语义规范,他认为应该按照UNIX中对待文件,设备等基础设施的方式来定义WEB语义,也就是

把任意一个URI定义为一个“资源”,对“资源”的操作定义为CRUD,他觉得这样就可以为WEB建立一个

标准的语义环境,以展现WEB的简洁架构。

 

但是,对于我们大多数程序员来说,还是习惯RPC风格,喜欢API,喜欢使用“动宾”语义来定义我们的接口。

因此,如果你不能很熟练的把你们的系统中的对象拆分成“资源”,通过CRUD就能完成业务逻辑,或者说某些

web service 功能根本无法用清晰的REST语义来解读,那么使用RPC风格的web service将是最明智的选择。

 基本上可以使用REST的场景,就是对数据表简单的查询一条或多条记录,插入/删除/修改一条记录,这对绝大多数的业务场景来说是最容易实施的。

收获园豆:9
Launcher | 高人七级 |园豆:45045 | 2010-08-19 10:51
多谢,还有个问题, REST风格与传统方式性能方面是否有差异?另外,两者调用方式也不一样吧?
wdwwtzy | 园豆:28 (初学一级) | 2010-08-19 12:00
@wdwwtzy:RPC不是传统方式,REST的年头也已经很久很久了。 性能方面没有差异,调用方式也一样,就http method有点不一样,RPC 方式而言,http method 只包括 GET,POST,而 REST 还会包括:PUT,DELETE。 就一般应用而言,REST也是常用 GET,POST,基本不用 PUT,DELETE.
Launcher | 园豆:45045 (高人七级) | 2010-08-19 13:09
@Galactica:是这样么?我看一些文章,似乎SOAP的调用方式是需要在客户端处建立一个代理类的,然后通过代理调用,获得返回数据。而REST似乎是用WebRequest直接请求url,然后就得到数据了。实在抱歉,对这方面不是很清楚,勿怪,可否多给说一点?
wdwwtzy | 园豆:28 (初学一级) | 2010-08-19 18:50
@wdwwtzy:我们以HTTP的POST请求为例(RPC模式最标准的调用方式),不管是REST,还是RPC,都是在客户端组装HTTP REQUEST,然后通过 POST 发送到指定的 URL,因此你所谓的SOAP的客户端代理类事实上就是完成了HTTP REQUEST的组装工作,所以你同样可以使用WebRequest直接请求url,关键是你发送的请求,也就是HTTP的Request Body中的字符串的格式需要符合SOAP的定义. 在你所谓的"代理类"中的具体实现上,也是通过WebRequest或者HttpRequest来实现和服务器的交互.这就像你用 SqlConnection 访问数据库和用 Linq2SQL 访问数据库. 你要是不明白,可以通过SoapUI,Fiddler等工具来抓取或者模拟请求.
Launcher | 园豆:45045 (高人七级) | 2010-08-20 10:40
其他回答(3)
0
收获园豆:7
Astar | 园豆:40805 (高人七级) | 2010-08-19 10:26
多谢,不过没有提到REST的具体应用场景啊,就是适合什么情况下使用
支持(0) 反对(0) wdwwtzy | 园豆:28 (初学一级) | 2010-08-19 10:30
@wdwwtzy:http://kb.cnblogs.com/a/1704388/
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-08-19 10:32
0

 REST对于资源型服务接口来说很合适,同时特别适合对于效率要求很高


http://www.360doc.com/content/09/0918/23/11553_6152605.shtml

收获园豆:7
jowo | 园豆:2834 (老鸟四级) | 2010-08-19 10:34
0

参考下面的资料,有详细的解答

深入浅出REST

http://www.infoq.com/cn/articles/rest-introduction

理解REST软件架构

http://www.infoq.com/cn/articles/rest-architecure

解答有关REST的十点疑惑

http://www.infoq.com/cn/articles/rest-architecure

收获园豆:7
HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-19 10:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册