我想从头开始一个项目。我是Java开发人员多年。有时候我甚至写了我自己的mvc框架来玩。现在,我在一家使用内部框架的公司中工作-我认为这完全是在浪费时间和金钱。我尊重与大型技术团队合作的想法。项目的分离非常重要;图形人员,前端开发人员,软件体系结构,软件开发人员,数据库专家等。我不能冒险使用php之类的脚本语言。
最近,我正在各个方面研究用于大型项目的Java技术。我的意思是,对于顶层,我遇到了非常著名的技术。
弹簧
我的脸
挂毯
Google Web工具包
茧
速度
他们每个人都说这是最简单,最快,最新的技术。当然只有他们一个人可以掌握真相。我需要一种前端技术来快速实现Ajax,客户/管理员安全性,主题,模板,国际化,缓存静态页面,集群和ejb的支持。它还应具有IDE支持,社区支持,丰富的文档和在线教程。我仍然没有可供选择的那些框架的经验。也许有更好的一个?最重要的是,我不能冒险尝试具有发展局限性的技术。关于这一层有什么建议吗?
对于业务层,我相信EJB和JPA。我甚至考虑将Web服务用于该层的外观,以实现互操作性,以用于将来的扩展。但是,我不知道如何保护该层(可以将其应用于其Web服务级别),这仍然是我的问题。对于应用服务器,我正在考虑使用GlassFish。
最后一个问题是应该选择哪种IDE进行开发。关于将要使用的所有技术,IDE应该在每个步骤中都对我有帮助,无论是为我做配置还是通过准备好的向导帮助我进行配置。我想IDE将有适合使用的技术的插件。
我知道我想要太多,但是我希望有一种技术组合可以帮助我节省未来计划中的时间和金钱。
我将非常高兴听到您的回应,并获得更大的经验。
编辑:没有最终答案,我知道。我只是在提建议。任何答案表示赞赏。
最佳答案
好吧,我将不遗余力地提出具体建议,因为我认为这个问题可以回答。
我只是推荐我的堆栈。
我的堆栈是前端为Stripes,后端为Glassfish / Java EE 5。
条纹是一个简单的动作(或MVC,无论漂浮在船上的东西),都有一个小而健壮且发声的社区。它与JPA(通过插件)紧密集成在一起,是一本很好的,最新的,有关该主题的打印机书以及出色的参考文档。它的主要渲染技术是带有JSP标签和EL的JSP。
它不是像JSF / MyFaces这样的组件框架,因此它的实现更简单,生命周期也更简单。它与Ajax很好地配合。
围绕Stripes的关键因素是,由于它基于HTTP请求周期,因此它可以为您完成大多数垃圾操作,而且非常轻巧。容易理解。创建一个基本的Stripes应用程序是web.xml中的几行代码和两个jar(其中一个是log4j)。如果您可以使用HTTP进行思考,那么Stripes非常适合您。
在后端,我只是坚持使用EJB和GlassFish。 Java EE 6和GFv3已经淘汰了一段时间。它提供了超过Java EE 5的许多新功能,GlassFish提供了大多数您想使用的Web服务技术。 Java EE 6和Spring在逐个项目点的基础上几乎是相等的,并且由于您在研究GF,因此您最好使用EJB,因为它已经存在并集成在盒子中。如果您使用的是Tomcat,那么Spring可能是一个不错的选择。
就是这样。这就是您所需要的(我不知道您想要什么Velocity,您可以随意添加它,但我不会在页面上使用它,就个人而言,现代JSP更好,恕我直言)。
Glassfish将保护您的Web服务,您可以在Web应用程序中使用Java EE安全性,还可以在后端EJB与Web应用程序和Web服务之间共享逻辑。只需15分钟的配置即可立即开始运行Stripes。
我使用NetBeans,但所有其他IDE也都可以正常工作。 NetBeans很好,因为它与Glassfish集成在一起。少配置一点。下载它,启动它,它可以工作。
我没有使用NetBeans的Stripes插件。我认为没有必要。一旦将几行添加到从网站剪切和粘贴的web.xml中,就不会再看到Stripes。从那里开始,所有的都是简单的注释。
除非您迫切需要组件框架的所有复杂性和学习曲线,否则它不会比Stripes更好,而且带有Java EE 6的GF具备了您所需要的一切。
因此,总而言之:来自www.stripesframework.org的Stripes发行版,来自netbeans.org的NetBeans下载,以及来自Stripes-stuff.sourceforge.net的stripersist。它是坚如磐石的基础,可以随心所欲地使用。
快来在#stripes的freenode上的Stripes IRC上,我们将回答您有任何问题(或点击邮件列表)。