我打算将用java完成的桌面应用程序迁移到Web应用程序中。它有近15个包和100多个类。我正计划使用JSF(使用Primefaces)+ Hibernate + Spring。我对如何集成Hibernate和Spring只有一些了解,之前我还没有将它们与JSF集成。我只有三个星期,每天只花不到五个小时来完成这个项目。
我的一位朋友给我写了这封信(复制并粘贴):
“你说你要导入你的旧项目(JSF& Primfaces) Spring和Hibernate,你看到有一些问题:1-做 你还想用JSF作为用户界面吗?或者一起切换到Spring。 2-你可以将JSF和Spring作为前端和后端,你可以 只有春天(这是我的知识)
3-如果你一起切换到Spring,我认为你不能使用 Primefaces再一次(只是一个猜测,因为Primefaces只是一个 JSF的自定义组件集合。
4-另一方面,JSF没有与Hibernate集成,你不能 容易使用它。您必须使用完整的Java EE容器并拥有完整的Java EE 项目,这是你可以获得持久性和休眠的唯一方法 JSF,否则你最终会编写自己的持久性管理 图层(不是有趣的事情)来启用JSF之间的链接 会议JPA会议。以及管理交易的许多其他事情 等等。
5-使用Spring框架要好得多,它已经支持了 休眠。 “
我认为我在JSF和Hibernate中管理会话时遇到了误解。我想在这个项目中做的一件事是,学习一起使用这些框架的有效方法。即使我发现将JPA用于Hibernate也很容易,我会这样做。但是我必须在不到3周的时间内挖掘并阅读一些书籍并完成项目。
我想出了这两个决定 1.使用带有Hibernate的JSF并管理所有事务。或者 2.使用JSF + Hibernate + Spring ......但是在集成之前我需要对这些概念有深入的了解。
您有类似的经历吗?如果我选择2号,你能解释一下这个概念会是什么样的吗? ......
答案 0 :(得分:7)
所以,基本上,你说你有75个工时(两周)将听起来像一个相当复杂的桌面应用程序转换为基于你不了解的架构的web应用程序使用你不确定的技术一起工作?我打算给你一个价格的两个答案..
咨询101
除非您对所涉及的架构有一个坚实的理解,否则要非常小心您的承诺并包括研究时间(“优雅地失败”)。请记住,您正在与两个日历竞争:完成工作所需的工时和实际到期日(更不用说无数“软”日期:测试开始,“掉线”日期,设计完成日期等)。管理层通常会在不完全理解转换系统所涉及的内容的情况下推动这些决策(“我们需要这个优秀应用/工具的网络版!”)。
来自你好友的笔记
很高兴听到您在需要帮助做出这些决定时可以获得资源。在试图解决这个问题时,这将是关键。至于他的建议:
结束
回到似乎是核心问题:我选择在两周内将这个桌面应用程序转换为Web应用程序的架构是什么?我讨厌给你一个共同的顾问答案,但是:这取决于。您最熟悉哪种技术?您愿意承担哪些技术风险(完整的Java EE堆栈与ORM是一个重大决策)?您的目标是什么(您是否希望学习新的东西,或按时提供有效,经过测试和满意的实施)?老实说,这可能不是问题的最佳答案,但是,确定所涉及的真正目标是技术领先的关键技能之一。我的看法? JFaces + Spring听起来像是一个体面的决定。一些自我反省也是如此..