JDBC / struts / tomcat应用程序的迁移路径

时间:2015-08-09 09:19:37

标签: model-view-controller migration struts

我正在使用一个大型企业应用程序,它目前使用Struts 1.3 / JDBC并部署在Tomcat 5.5上。

  • 我们主要使用Struts Action,不使用Action Forms 或Struts标记库,只有JSTL。
  • 我们有一个非常薄的基于DynaBeans的本土框架来提供 极小的轻量级,恰到好处的结果集对象 映射。没有JPA,没有Hibernate,没有EJB-只是JDBC。

到目前为止,这种组合对我们起到了很好的作用,我们对我们的工作方式非常满意,只需一个代码库就可以很好地扩展到小型,中型,大型客户。

由于Struts 1.3和Tomcat 5.5都是EOL,我们将不得不转移到该产品的新技术堆栈。我们无法改变的一些事情是 -

  • Tomcat必须是部署平台。我们可以转移到Tomcat7.0,但不能转移到GlassFish或其他容器
  • 我们想坚持使用JDBC。由于涉及业务逻辑的数量,因此无法使用JPA / EJB。
  • 我们的视图和用户界面有很多JSP,我们需要保留它,不能重新编写它。

所以我们只打算转向Struts的替代框架。我们考虑过以下几点:

  • Struts 2.0 - 看不到太多活动和进展,所以有点不鼓励选择它。
  • Spring 3.0 - 认为它太重了我们想要的东西。不确定它是否会迫使我们使用JPA,Autowiring,Annotations以及我们可能不想立即使用的东西。认为必须绕过其中一些并且做我们自己的事情很困难且容易出错。
  • Java EE 6.0 - 与Spring非常相似,另外不确定Tomcat下的级别和类型的支持。 TomEE Web配置文件感觉不是很“原生”。
  • Play Framework& Wicket - 看起来我将不得不丢弃我的JSP并重新编写它们(我没有亲身体验过它们,所以我可能错了)

我使用过Spring,EJB JPA等。在我早期的产品/项目中,一般都知道它们的优点和缺点。但在这种情况下,我正在寻找一些关于什么是一个好的选择或一个优点和缺点的一些见解,以便将struts应用程序移动到更新的框架,而

  • 保留在开发此应用程序时已经进行的投资
  • 保留应用程序在小型组织的低端服务器上运行的能力,并扩展到大型组织,增加硬件+水平扩展,无需任何代码更改(所有在单个代码库中)

1 个答案:

答案 0 :(得分:0)

从您编写的描述中,您不希望升级到新框架。你只想坚持当前的配置,享受它给你的东西。 Spring和其他框架在概念和功能方面完全不同,因此您需要花费大量时间来重写软件,以便使用您不需要的这些技术。 Struts 2更适合从Struts 1迁移。

请确保您已阅读Migration from Struts 1 to Struts 2了解此流程的步骤。

您可以找到Pros and Cons comparing Struts 1 and Struts 2

为了增加这些功能,我说Struts 2不仅比Struts更大,而且更重.1。默认配置中的Struts 2拦截并运行很多东西以方便开发过程,编写更少的代码,使用最近的技术,但它的成本是一个复杂性。您将有更多时间学习框架本身,以便能够根据您的需要进行修改。