我正在开发REST Web服务(Java,Jersey)。我这样做的目的是希望通过Javascript直接访问Web服务。有些本能告诉我这不是一个好主意,但我无法真正解释这种本能。我的自然方法是让Web服务执行真正的逻辑和数据库访问,但是还具有一些(相对较薄的)服务器端脚本层(例如,在PHP中)。客户将与PHP层进行对话,而PHP层又将与Web服务进行对话。(该Web服务对于apache / PHP服务器来说是相当本地的,并且隐式信任来自脚本层的调用。脚本层将负责会话管理。)(顺便说一句,我并不是在谈论将Web服务隐藏在Apache后面,而这只是简单地重定向呼叫。)
但是当我发现自己缺乏用语言/参数来解释我的直觉时,我想知道自己的直觉是否正确-请注意,尽管我一直在用各种语言和框架开发各种软件,例如17年,但这是第一次开发Web服务。
所以我的问题基本上是:您对此有何看法?是否有任何标准设置?我的直觉是完全错误的吗?还是部分?; P
非常感谢,
最高
PS:我可能会添加一些有关整个应用程序的计划用法的信息:
我不认为直接通过例如JavaScript访问REST Web服务通常不是一个坏主意,因为REST体系结构是为之而设计的。对于您的用例,您可能需要考虑一些含义:
您的要求:
所有主要的操作系统/浏览器组合都可以作为客户端
由于您的Web服务将仅传递数据(例如JSON或XML),因此这不成问题。JavaScript部分只需要注意发出正确的请求即可。
可能会有非常高的负载/流量
如果严格遵循REST体系结构,则可以使用http缓存。但是请记住,无状态本质将始终导致更多流量。
Web服务的逻辑将在以后大规模扩展为另一种产品,这基本上是当前项目功能的超集
关于开放式Web服务的好处是您可以将它们松散地耦合在一起。
很有可能在某个时候公开一个API,供第三方开发者使用-显然,存在一些限制
再次,使用RESTful Web服务,您已经为开发人员提供了API。由您的客户决定这是好事还是坏事。
在某个时候,应该可以通过智能手机访问产品的公众视野
另一个使您的REST Web服务可公开访问的专家。大多数智能手机API支持HTTP请求,因此您只需要为直接调用Web服务的特定smarphone平台开发GUI。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句