跑灰向前冲 2011-08-10 15:05
浏览 425
已采纳

Restful webservice的状态维护?

Background
基于Websphere Application Server开发Restful webservice为iPhone/iPad App提供服务.

  1. 希望提供有状态的webservice服务. 但不想使用容器session. 既不想使用jsessionid的形式,希望自行实现tokenid自己维护类似于容器session的object hashmap.
  2. 考虑到延展性,自己维护的session应该是分布式的,并且可以自行同步.

Question:

  1. 该如何实现呢?
    查了很多, 发现大家都选择用Memcached存储. 不知道是否可行?

  2. 可否使用Ehcache替代Memcached?
    如果使用Ehcache可以让Ehcache在Websphere Application Server的JVM中运行吗?

  • 写回答

2条回答 默认 最新

  • myali88 2011-08-10 22:28
    关注

    [quote]
    我设想将token作为参数传递
    第一次获得token之后又一直作为参数传递
    [/quote]
    你这种方式有点类似与[url=http://zh.wikipedia.org/wiki/OAuth]OAuth[/url],应该可行。
    [quote]
    如果没有状态,那么如何使用token进行认证呢?
    你的意思是说我不应该使用REST来与iphone app进行交互吗?
    [/quote]
    我的意思是说REST使用的场景是请求是无状态的,认证授权过程不算是REST请求,而是授权许可后的请求,比如,你请求新浪微博的数据,任何两个请求直接没有任何关联,这样请求才是无状态的。而你现在要的是通过token作为后续请求获取其保存在服务器端数据的依据,请求相互直接有依赖,这表明是有状态的。
    如同购物,必须先有请求添加商品,然后再发请求确认购买,这两个请求就有先后,有依赖。如果你的IPhone App仅仅是通过你提供的RESTful API访问,你怎么强制要求它那这样的顺序发起请求呢,除非你在文档中说明,API只能这样使用。
    我要表明的意思是REST,不适合这样的场景。但如果一定要这样用,理论上也似乎是可行的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Bibtex4Word 引用中文文献
  • ¥20 用opencv c/c++ 转换成灰度图,然后做一下直方图均衡,输出mp4文件
  • ¥20 matlab中的双层数值积分
  • ¥50 服务器打印水晶报表问题
  • ¥30 gradle环境下javafx项目如何使用druid连接池
  • ¥15 服务器打印水晶报表问题
  • ¥18 深度学习tensorflow1,ssdv1,coco数据集训练一个模型
  • ¥100 关于注册表摄像头和麦克风的问题
  • ¥30 代码本地运行正常,但是TOMCAT部署时闪退
  • ¥15 关于#python#的问题