gpt4 book ai didi

java - 架构选择

转载 作者:太空宇宙 更新时间:2023-11-04 06:33:57 26 4
gpt4 key购买 nike

我需要根据我的需求分配选择一个架构。因此,需求是为普通人构建一个 Web 应用程序,类似于 book my show 应用程序。

此外,该应用程序应可通过 Intranet 供管理员用户管理请求。另外,除非绝对必要,否则我有必要使用开源技术来降低成本。

牢记所有这些要点,我想说我需要以下内容

a) 我会选择 n 层架构。

b) 对于表示层:- 可以使用 JSP/servlets+JSTL 或者我应该使用 JSF

c) 对于业务层:- Spring MVC 还是 EJB3.0?

d) DAO:- Hibernate/JDBC 作为 DAO 层。

e) 数据库:- SQL 服务器或 Oracle 10g。

您能否详细阐述一下您的观点,以便它可以进一步指导我采用正确的技术和架构?

提前感谢您的专家帮助。

最佳答案

我不会告诉您选择什么,而是给您一些如何选择的建议。

首先,只是想稍微改变一下您的考虑因素:

  • b) 您应该将 Spring MVC 纳入这一点,因为它是 servlet 之上的抽象层,可以轻松地与 JSP 结合。顺便说一句,现在 Spring 的人更喜欢 Thymeleaf模板引擎,所以也许也需要考虑一些事情。您肯定还想选择像 Spring Security 这样的安全框架(不确定它如何与 Java EE 堆栈配合)
  • c) 您可能需要考虑 Spring IoC(Spring Core)与 EJB3.0。还有 Google Guice 框架。

我建议您根据这些因素做出决定

  1. 您和您的团队在某些技术方面的专业知识是什么
  2. 您的运维团队在使用方面有何经验(完整的 Java EE 应用服务器或轻量级 servlet 容器(例如 Tomcat 或 Jetty))
  3. 您是否打算使用 Spring 相关项目(例如用于连接不同社交网络的 Spring Data 系列)
  4. 您认为您需要在应用服务器上使用兑现功能(考虑具有二级缓存的 Hibernate)
  5. JDBC 与 Hibernate 是一个重大的架构决策,因此最好深入了解其优缺点。如果您选择 JDBC,您可能想要使用 Spring JDBC,最重要的是一些查询框架,如 JOOQ 或 QueryDSL。
  6. 如果您选择 Hibernate/JOOQ/QueryDsl,那么您应该可以安全地选择任何 SQL DB。因为如果您避免使用某些供应商的自定义功能,这些框架就会抽象出差异。表示在选择数据库时考虑您的运算符(operator)和管理员的专业知识也很重要。如果您想节省许可证费用,您可能需要看看 PostgreSQL(企业级开源数据库)
  7. 您身边是否有一些企业级架构师可以咨询这些决策。尽早明确您的应用程序是否需要与更广泛的企业环境集成。在这种情况下,您可能想看看 Spring Integration 或 Apache Camel。
  8. 您是否打算进行一些不是由用户请求触发的后台常规处理?查看 Spring Batch/Java EE 7 Batch 规范。
  9. 最重要的是,请与您的团队讨论这些让资深且充满热情的队友参与的决定。您不想稍后听到投诉。
  10. 不要害怕做出最终决定。缺乏决策比错误的决策更糟糕。

(我是 Spring 人,所以如果这听起来像是您的方向应该是 Spring 堆栈,我深表歉意。Java EE 堆栈肯定有大多数 Spring 模块的替代方案,所以请您自己进行深入研究)。

关于java - 架构选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25698916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com