Java Webservice还是Webapp?

Java Webservice还是Webapp?,java,spring,web-services,rest,web-applications,Java,Spring,Web Services,Rest,Web Applications,我已经使用Spring创建了一个RESTFul web服务,供各种移动客户端使用。现在,如果将来我需要制作一个web门户来实现相同的功能,那么哪个更合适,为什么?如有可能,请提供适当的引文 选项1:我制作了一个新的webapp,它将使用以前制作的restfulwebservices 选项2:我使用以前为RESTFul制作的代码库(可能在控制器层需要一些修改)制作了一个新的webapp,并将这些JAVA代码与新的webapp集成 哪种方法更好或更推荐?为什么?如果可能,请提供引文 谢谢。选项1将避

我已经使用Spring创建了一个RESTFul web服务,供各种移动客户端使用。现在,如果将来我需要制作一个web门户来实现相同的功能,那么哪个更合适,为什么?如有可能,请提供适当的引文

选项1:我制作了一个新的webapp,它将使用以前制作的restfulwebservices 选项2:我使用以前为RESTFul制作的代码库(可能在控制器层需要一些修改)制作了一个新的webapp,并将这些JAVA代码与新的webapp集成

哪种方法更好或更推荐?为什么?如果可能,请提供引文


谢谢。

选项1将避免代码重复,但将强制您进行远程调用,并进行相应的性能惩罚

选项2将在两个项目上复制代码,这不是一个好主意


我建议您选择选项3,将您的第一个项目分解,并将公共代码放在一个jar上,以便从REST API项目和Web应用程序项目中引用。

只有您才能真正回答这个问题,因为您对该项目的信息比我们(或您提供的)多得多。这两个选项都是有效的,其选择取决于项目的具体情况。更重要的是,决策应该是对用户最有利的决策

话虽如此,我已经在这种情况下多次,我已经选择了两种选择。这两种方法都有效,但根据我的经验,我会更频繁地选择选项1而不是选项2。我会使用Grails或现代javascript框架(如Angular JS)生成一个只使用web服务的客户端应用程序。它的优点是体积小、模块化,允许您“吃自己的狗粮”,并为其他人编写应用程序以使用您的web服务提供示例代码。

以下是我的观点:

选项1:这是一个很好的选项,它将具有基于服务的依赖性,这将避免在服务中的任何实现更改时更改webapp代码。然而,它将在新的webapp中添加额外的翻译

选项2:这将在服务和客户端(新的webapp)之间实现紧密耦合。如果不在新应用程序中进行更改,客户端和服务器无法独立发展。这两个项目中的代码都会不断变化


我建议你选择选项1。我还对RESTful服务的设计提出了建议。它可以为所有控制器设计接口,或者从现有控制器提取接口,这些接口可以作为EJB公开给内部客户端,比如新的webapp。通过这种方式,相同的服务可以通过相同的实现使用RESTful和EJB公开。

不,op说选项2只需添加到现有的代码库中,就不会有重复。本质上,这只是简单地添加更多的端点,这些端点恰好生成HTML而不是JSON或XML。正如你所解释的,“新webapp”建议了一个新的代码库,但我怀疑他的意思是添加到现有的代码库中。添加代码将添加更多的端点,正如nickdos所提到的那样。您能否提供您建议的选项3的更多信息?也许有一个链接可以让我更深入地了解这个想法。你能提供一些关于如何为所有控制器设计接口或从现有控制器中提取接口的见解吗。如何揭露它?我是J2EE的新手,所以我没有太多的知识。如果您能提供任何指向示例的链接,将非常有帮助。@NayanjyotiDeka是的,您可以访问我的示例项目。它有一个RESTfulWeb服务,该服务设计有接口,该接口也作为无状态EJB公开。