哪种 Java EE 技术栈最适合数据驱动的应用程序?
Posted
技术标签:
【中文标题】哪种 Java EE 技术栈最适合数据驱动的应用程序?【英文标题】:Which Java EE technology stack is best for data driven application? 【发布时间】:2010-12-06 06:43:34 【问题描述】:我必须从头开始设计和开发一个数据驱动的应用程序来管理我们公司的许多事情,为此我决定采用 Java EE 方式。过去我从事的应用程序在 Struts-EJB2.0-Hibernate 类型的堆栈上运行,但在我最近的研究中,很多人建议使用 Spring。所以这里有一些我的选择,但我不确定哪一个最适合我们的要求: Struts-Spring-Hibernate Struts2/JSF-Spring-Hibernate Spring MVC-Spring-Hibernate Spring MVC-Spring-Spring ORM Struts-Spring+EJB3.0-Hibernate
我们对这个应用程序的主要期望是:
-
模块化和可扩展(易于在此平台上添加新模块/功能)
轻松的 Web 服务开发(用于与其他产品集成)
良好的事务管理和 ORM(因为它是一个数据驱动的应用程序)
【问题讨论】:
【参考方案1】:规则跳出。试试 Java EE 6。 Spring 解决了 J2EE 中存在的许多问题,但现在已经不存在了。如今,开发 Java EE 应用程序比以前容易得多,而且还有一个额外的优势,那就是您不必依赖于单一的供应商。
【讨论】:
除了更多的 JEE6 供应商之外,是否有任何具体的理由选择它而不是 Spring?如果 Spring 为我提供了构建高度模块化和可扩展的应用程序所需的一切,我可以将 Apache 作为单一供应商。如果您想指出某些比 Spring 做得更好的供应商,请告诉我。过去我对 JSF+ICEFaces 的体验不太好,所以这次我尝试去 Spring 路径。 单一供应商是指 SpringSource,而不是 Apache。与单一公司的产品(如 Spring)相比,采用官方标准有几个优点。优势之一是您知道将有多家供应商在您需要时为您提供支持。如果其中一个变得“邪恶”,您不必担心;-) 另一个优势在于资源:与了解特定产品的知识相比,通常更容易找到了解某些完善标准的开发人员。因此,我会在特定产品上使用标准 JEE。我真的不喜欢供应商锁定。【参考方案2】:您的问题非常开放。我会使用你更舒服的东西。就数据驱动而言,你有休眠是相当不错的。我不熟悉 Spring ORM,但是 hibernate 是被广泛使用的东西。
【讨论】:
我过去曾使用过 Struts 1.x+EJB2.0+Hibernate,但现在每个人都在说 Struts 1.x 和 EJB2.0 的过去和未来都是 Spring 所以想和春天一起去。此外,它在技术堆栈方面为应用程序开发提供了一体化包。以上是关于哪种 Java EE 技术栈最适合数据驱动的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章