【问题标题】:Building a database driven web app构建数据库驱动的 Web 应用程序
【发布时间】:2010-07-06 08:28:55
【问题描述】:

在选择构建数据库驱动的 Web 应用程序的技术时需要一些指导。 (最好是开源的)

这里是选项。

  • 数据库: MySQL。还有其他选择吗?

  • 平台:Java

  • 技术: JavaServer Faces JSF? EJB?小服务程序? 这是我完全困惑的地方,就像我选择什么一样。我想要一个网页设计的架构,所以我有一个框架(比如 Spring)。我还需要它是可扩展的! Java 框架和技术的最佳选择是什么?

  • 服务器: tomcat?或码头 还有什么? Jetty 是我所看到的,但它在 Windows 平台上有多好?

  • 客户端: GWT 消除了 Javascript 的麻烦,但它是一个稳定的选择吗?还有其他选择吗?用过JQuery..很好!

  • 数据库通信: 普通的旧 JDBC? 休眠? 米巴蒂斯? - 以前称为 Apache Project ibatis。 就用户输入而言,MyBatis 似乎更好,但任何第一手用户?

问题太多了!请多多包涵!需要你的帮助!

谢谢!

【问题讨论】:

    标签: web-applications


    【解决方案1】:

    我认为这是一个学习项目,如果我错了,请纠正我 - 不要试图在这里刻薄或其他任何事情。

    基于此,我会遵循“亲吻”规则(保持简单聪明;-) 从 Servlet、JSP 和 JDBC 开始。这将使您了解不同框架试图解决的问题。没有灵丹妙药,最适合您的将取决于您的问题背景。 MongoDB 可能确实比 PostgreSql 更适合您,使用 MyBatis 可能比使用 Hibernate 等更有意义。 恕我直言,这将消除很多混乱。 Netbeans 为您提供了一个很好的准备堆栈,可以选择用于服务器的 Tomcat 6 或 Glasfish。查看即将推出的 Tomcat 7 及其将带来的改进。

    【讨论】:

    • 嘿伙计!不,这不是一个学习项目。我需要具有可扩展性的性能。否则根本不会为框架而烦恼。
    • “JavaServer Faces JSF?EJB?Servlets?这是我完全困惑的地方,我该选择什么” - 就像我指出的那样,没有冒犯,这就是让我停下来的原因。你到底对这里有什么困惑?
    【解决方案2】:

    其他选项:

    • 数据库:我想指出MongoDB。每次我建议使用它时,我都会被 SQL 人殴打。但根据我的个人经验,事实证明,使用面向文档的存储要容易得多。

    • 平台: 那么 Java 只是一种选择吗?还是你确定要拿走?有很多种语言,每种语言都有自己的优势。有两个原因,为什么你应该选择一种特定的语言。 1. 语言适合这份工作,或者 2. 你真的很擅长使用这门语言。就个人而言,我是 Haxe 的拥护者,这就是为什么我不得不提到它:)

    • 技术:说到 Java,我帮不上什么忙。但据我了解,周围有a lot of really great frameworks/solutions。据我了解,Struts 确实值得一看。另外,我记得我曾经偶然发现了一种在前端使用 GWT 的多合一解决方案。一些以“v”开头的简短、略带俄语的 2 音节名称(如果有帮助的话^^)。到目前为止,这是我见过的最令人印象深刻的,但我忘记了它的名字。 :(
      基本上,您应该选择一个看起来适合您工作的框架,然后使用它运行的任何技术。

    • 服务器:同样,对于 Java,您的电话。

    • 客户端: GWT 稳定。说到 JavaScript,你可以使用 qooxdoo 和 sproutcore。两者都旨在创建 RIA。除此之外,还有 Prototype、jQuery、Ext 和 MooTools。与前两者相比,它们的作用是促进使 HTML 页面交互的常见任务,而不是创建持久的 JavaScript 应用程序。

    • 数据库通信: 这实际上取决于您使用的数据存储和平台。通常一个框架会为你做出这个决定。除非您真的打算进行一些繁重的数据挖掘,否则您应该使用任何流行框架提供的抽象层,而不是 DIY。代码成熟、健壮且经过测试,消除了一种可能的错误来源和安全问题。

    【讨论】:

    • 嘿!谢谢!我选择 Java 是因为我需要后端的能力,是的,我也有计划进行一些数据挖掘。因此,Java 是我所关注的东西。
    • @EFreak:这是否意味着,您认为 Java 是获得“后端力量”的唯一途径?因为 1. 它不是,2. 瓶颈可能只是数据库服务器而不是 Web 服务器,3. 横向可扩展性比每个实例的处理速度更有价值。除此之外,Web 应用程序的灵活性、可维护性和可扩展性也很重要。
    • 不!请原谅我!我通过articles.sitepoint.com/article/server-side-language-right/7 对 java 提出了这种观点,而且我有一些背景知识。 Java的缺点是什么?今天,如果我将应用程序从 15 名开发人员团队扩大到 50 名开发人员,哪种技术最容易做到?坦率地说,我并不期望每秒有一百万次点击,但关注的是编写一些快速算法以从收集的数据中得出推论。
    • @EFreak:Java 的问题在于语言本身。这实际上并不重要,因为 Java 的最终优势在于庞大的库、框架和工具链生态系统。如果你正确使用 Java,你实际上不会写很多代码,所以语言无关紧要。但是15个开发人员很多!甚至不知道项目我敢说,这太多了,除非你打算启动一个太空计划或维护一个超过 200 万行代码的应用程序。团队规模非常大。使用好的工具可以将扩展它们的需求降低几个数量级。
    猜你喜欢
    • 2013-04-11
    • 1970-01-01
    • 2012-05-27
    • 2011-04-15
    • 1970-01-01
    • 2012-03-02
    • 2012-04-05
    • 2011-01-28
    • 1970-01-01
    相关资源
    最近更新 更多