【问题标题】:java SE or java EE for 3-tier apps [closed]用于 3 层应用程序的 java SE 或 java EE [关闭]
【发布时间】:2012-08-26 14:06:59
【问题描述】:

我想为EHS(电子健康记录)或EMS(电子病历)建立一个三层系统,但由于我没有太多时间'10天'我想走最简单最快的完整路线,那么使用哪个平台呢?

  • java SE:我最熟悉它,我确实开发了几个桌面应用程序。 “我的最佳选择”
  • java EE : 我觉得很难在短时间内掌握。 “我真的不想走这条路”

【问题讨论】:

  • 开玩笑?您想在 10 天内构建一个医疗保健应用程序吗?
  • 不,这是一个学校项目;
  • 你已经知道你不能在 10 天内学​​习 j2ee。如果有人推荐使用 java EE,我认为你不会开始。
  • 你说得对,我希望能找到一些框架或 API 让它变得简单,但我想没有
  • @user1559104:有几十个框架让它变得“更容易”,但你也没有时间学习这些框架 :-)

标签: java jakarta-ee 3-tier


【解决方案1】:

我会像在一个真正的项目中一样尝试回答你,因为我认为你需要一个答案,让我们忘记时间限制,让我们尝试帮助:

首先尝试检查层或层的含义

What's the difference between "Layers" and "Tiers"?

这些配置在 Java 中可用于组织您的 3 层,我将只讨论标准生态系统:

  • 胖客户端:SWING - EJB - DB
  • 富客户端:FX - EJB - DB
  • Web 客户端:JSF - EJB - DB

这些配置中的每一个都将有一个层,但是请注意,要拥有超过 2 个层,您需要一个中间的应用程序服务器来管理业务逻辑。这让你有更少的选择,至少使用一个应用服务器。它们都使用 EJB,它是 Java EE 规范的一部分。

也许您还对认为 Web 编程是您的应用程序中的必要条件感到困惑。您必须知道您可以将 Swing 客户端连接到 EJB。这样您就可以在 JSE(我猜是 Swing)中使用您的技能,但使用 Java EE 规范 (EJB) 的一小部分。

还有一个最后的考虑,你可以在每个显示的层中有几个层,例如,你可以在你的 EJB 层中有一个外观层和一个服务层。你可以在这本好书Real World Java EE Patterns Rethinking Best Practices: 中查看组织它的逻辑方法

问候

【讨论】:

  • 我可以用使用套接字或 RMI 的应用程序替换 EJB 吗?
  • 你可以,但你为什么要那样做?,这会花费你更多的时间。在我看来,这可能是一种快速简单的方法:使用 Seam 框架来生成项目管道和骨架。在生成的项目中,仅使用 EJB 会话 bean 并且仅使用 Remote 和 Stateless 来编写您的业务逻辑。如果您不熟悉 JPA,这使您可以使用纯 SQL 访问数据库。如果您更熟悉 Swing,请使用 Swing 构建您的客户端并访问您的业务逻辑。这就是我可以根据我的经验为您提供的建议。
  • 感谢您的回答,我正在阅读有关您刚刚编写的内容的大量内容,如果我了解 EJB 和其他内容,那么构建我的项目看起来很容易。你知道关于你写的书或教程吗?
  • 对于 Seam 框架工作,您可以尝试 Dan Allen 的 Seam In Action 第 2 章,它将帮助您使用项目生成器 (seam-gen)。您可以尝试使用 Debu Panda 等人的远程无状态会话 Bean。 EJB (3.0) in action 第 2 章(尝试阅读除 2.4 之外的所有内容)。我已将 Swing 与 JBoss App 6.1 服务器连接起来,并且包含客户端库很容易。希望这可以帮助。祝你好运
  • 抱歉这个迟到的问题,但我只是在圈子里跑了好几天,我什至找不到合适的指南来构建我的挥杆应用程序。你知道任何可以帮助我的资源吗?将不胜感激。
【解决方案2】:

由于您有时间限制并且您不了解 Java EE,因此最好继续使用 Java SE。 您可以使用 Swing 构建 UI 和 JDBC 以实现数据库连接。

【讨论】:

    【解决方案3】:

    您必须决定要构建的应用程序是StandAlone desktop 应用程序,还是可以在Browser 上运行的Application

    如果您是为 10 到 20 人的小型组织开发它,他们希望在他们的场所内使用它,那么使用 Java SE 就很好,但是如果您希望这个系统可供外部世界使用易于访问,无需在客户端机器上安装 appln 的客户端即可工作,然后使用 Java EE

    【讨论】:

    • 这是一个学校项目,由于我更关心时间,我真的无法决定去哪一个
    • 如果它的学校项目,而不是强制它必须在 Java EE 上,那么使用 Java SE,使用 Java EE 处理低级网络、同步任务、线程等.... 好吧,如果您精通 Java SE,则可以继续使用它....因为在 Java EE 中进行此操作,至少需要 5 天的扎实学习,然后才能开始像 Java EE 人一样思考。 ..
    • 我也在想同样的事情,我会选择 java SE。谢谢你的回答
    • 我相信这不是关于 JEE 或 JSE 的选择。你可以单独使用 JSE,但是 txn 管理、网络等呢?
    猜你喜欢
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 2015-01-02
    • 2012-04-03
    • 1970-01-01
    相关资源
    最近更新 更多