繁体   English   中英

创建Web服务的最佳实践

[英]Best Practice for creating Web Services

作为序言,我是Web开发的新手。 我正在寻找围绕有价值的各种文档库(初始CRUD功能)创建一组RESTful Web服务的核心。 从理论上讲,这样做是为了创建一个可完美重用和可伸缩的后端,以供将来无法预期的应用程序使用。

我的问题围绕着这样做的最佳实践。 我的最初要求是我还要创建一个独特的前端。 我将前端和后端完全分开的项目是为了增强可重用性。 它将增加开销。

看一下使用GWT,Restlet和Java EE技术堆栈是否会完全影响设置。

最重要的是设计一个干净的Java API-独立于REST,RMI或您要使用的任何协议。 通过干净的Java API,您可以支持任何访问方法。

除非您有这些其他访问方法的用例,否则请不要立即构建它们。 您可以在需要时构建它。

最初最容易添加的界面是基于Web的界面,其中您的Web应用程序在与核心API相同的JVM中运行。 如果适合您的用例,我会这样做。 构建一个单独的控制台应用程序以通过REST(或其他)协议访问您的核心API的工作量很大。

Martin Fowler不久前写了一篇关于REST基础的非常不错的文章: Richardson Maturity Model 发现了解REST的原理非常有帮助。

如果要使用基于REST的后端服务,则应使用RestyGWT项目,该项目允许您使用GWT-RPC编程样式来访问基于JSON的静态服务。

在传统的GWT-RPC服务之上使用基于REST的JSON服务的好处是,这些服务然后可以被其他客户端使用,甚至可以更轻松地在mashup中使用。

如果您知道要在前端使用GWT,则可能要考虑使用GWT-RPC而不是REST。 这里有更多讨论。

但是,如果您认为最终可能要通过REST API公开数据,或者在前端使用其他技术,则REST可能是一个更好的选择。

gwt-rest项目也可能会有所帮助。

我和一位同事编写了一个GWT系统,该系统使用了用于前端和后端的单独项目。 使代码清楚地知道在哪里执行很有帮助。 但是我不确定我是否会在将来的系统中分离事物。

另外,由于您是Web开发的新手,所以我认为您不应该期望可以完全重复使用后端。 您将学到很多东西。 我认为敏捷编码人员会建议一种迭代方法,即(a)使一个小的方面起作用,然后(b)对其进行重构以使其美观。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM