论坛首页 Java企业应用论坛

自己动手写淘宝开放平台:Rop(将WebService REST进行到底!!)

浏览 100685 次
该帖已经被评为精华帖
作者 正文
   发表时间:2012-05-22  
和 sun 的 jersey 有什么区别?
为什么要重复发明轮子?
0 请登录后投票
   发表时间:2012-05-22  
jersey 风格更像Restlet,体现了URI的重要性,输入输出很清晰,但是略显笨重。
0 请登录后投票
   发表时间:2012-05-22   最后修改:2012-05-22
beowulf2005 写道
和 sun 的 jersey 有什么区别?
为什么要重复发明轮子?


jersey是纯技术的框架,也没有数据格式校验,应用键密钥安全性,会话安全等应用性的内容。此外,它没有可扩展的错误模型,这是开发Web Service最难的地方!
而Rop有一个完整的,可扩展的错误模型,这是Rop和其它Rest Web Service框架区别最大的地方

另:这个帖子已经有点旧了 Rop已经多次升级。请到Rop群组中讨论,谢谢:
http://rop.group.iteye.com/
0 请登录后投票
   发表时间:2012-05-22  
JAX-RS 2.0 会加入 validation 内容, 相应的jersey 实现也会加入。

扩展的错误模型是什么意思?

jersey 提供了 HTTP 错误的映射和处理机制,自己扩展 Provider 和 Filter就可以。

jersey的设计很灵活,几乎每个环节都可以扩展,会话安全什么的自己写Filter呗。

唯独缺陷就是validation, 不过马上也就要有了。

横看竖看,还是在重复发明轮子。。
0 请登录后投票
   发表时间:2012-05-23  
beowulf2005 写道
JAX-RS 2.0 会加入 validation 内容, 相应的jersey 实现也会加入。

扩展的错误模型是什么意思?

jersey 提供了 HTTP 错误的映射和处理机制,自己扩展 Provider 和 Filter就可以。

jersey的设计很灵活,几乎每个环节都可以扩展,会话安全什么的自己写Filter呗。

唯独缺陷就是validation, 不过马上也就要有了。

横看竖看,还是在重复发明轮子。。



我觉得ROP实现的相当不错,就像你所说的jersey还没有不是。。

你对jersey了解多少啊。。

只是是好的轮子,完全可以重新创造啊。。思想要与时俱进,凭什么不让我们发明轮子呢?如果可以,你也可以造一个。。
0 请登录后投票
   发表时间:2012-05-23  
补充:
目前国内的开源正不断的呈现良好的态势。。我就喜欢国产开源。。加油!哈哈。。
0 请登录后投票
   发表时间:2012-05-23  
jersey 本身就是开源的。

干事之前,最好看仔细看明白别人干了什么怎么干的。
否则,永远都是在重复造轮子。

开源项目还有民族主义啊?呵呵。
0 请登录后投票
   发表时间:2012-05-23   最后修改:2012-05-23
beowulf2005 写道
jersey 本身就是开源的。

干事之前,最好看仔细看明白别人干了什么怎么干的。
否则,永远都是在重复造轮子。

开源项目还有民族主义啊?呵呵。


也许是我这个名字取得不太好,其实Rop不是Rest Web Service,它高于Rest Web Service,所以我叫它Rest Open Platform.

一般开发Web Service时,
如创建一个新的用户的WS,存在很多的错误可能,如:
  1)用户名已经存在,
  2)用户名使用了非合法的字符
  3)密码长度不够
  4)数据库访问失败
  6)校验码错误,
  ...
  凡此种种的问题都必须通过一个合法的报文告诉客户端,客户端才有办法进行响应处理,
  这样的问题,jersey这种纯技术(Web Service技术框架)是不可能给你做的(你必须自己设计,自己做),因为这属于应用层的范畴,而打造一个可扩展的应用层的错误描述模型是非常麻烦的事,个人也是在TOP实际应用经验的基础上,弄了一个错误模型,这样,开发者就可以基于这个错误模型对Web Service的错误进行定义(原来你要自己设计这样的模型!)

  所以Rop不同于jersey,Rop是应用层的Web Service框架,它提供了很多应用层的功能,如错误模型,appKey/secret,会话校验等。而jersey是技术层的框架,它本质上和CXF,Aixs等框架是一样的,只不过它采用的是Rest,而Aixs采用的是SOAP。

   建议你看看Rop的实例,你就会发现和jersey是两个东西了。
0 请登录后投票
   发表时间:2012-05-23  
beowulf2005 写道
jersey 本身就是开源的。

干事之前,最好看仔细看明白别人干了什么怎么干的。
否则,永远都是在重复造轮子。

开源项目还有民族主义啊?呵呵。


呃。。  民族主义??

我只想说,LZ对ROP不了解,就直接拿jersey做比较了,其是参考TOP的。。跟jersey不一样的。正如作者所说的。。
定位本就不一样,何来重复造轮子之说。。如果说这样,TOP也造轮子了。。你说呢?

每一个东西的出现都有他的背景。。不能麻目说是造轮子。。

也许你对jersey比较熟悉,然后你就做出这样的评价了。。其时,我只是想说的客观点。哈哈。。
0 请登录后投票
   发表时间:2012-05-25  
2012-05-25

1.Rop框架的配置原来使用RopServlet的初始化参数,现在改为使用一个配置文件,默认的配置文件为:/WEB-INF/<ropServlet名称>.properties,参见RopSample的实例;
2.RopSample添加自定义组件,拦截器装配的演示。
3.解决JaxbXmlRopResponseMarshallerTest一个BUG,原来有依赖JUnit,现已经移除。

参见群组:http://rop.group.iteye.com/
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics