【问题标题】:Building long term application Architecture构建长期应用架构
【发布时间】:2014-10-30 04:35:39
【问题描述】:

我有兴趣了解 Web 应用程序是如何发展的。这个想法是,如果应该在基于 Java 的 Web 应用程序中引入新技术或设计方法,那么值得探索的前 5-10 项技术是什么?如果有人能指出好书或在线资源来进行这项研究,那也会很有帮助。

【问题讨论】:

  • 不确定前 5 名还是新的,但我会查看 Tomcat 和 Jboss 应用服务器,以及 Struts 和 Seam 框架

标签: java jakarta-ee architecture


【解决方案1】:

一个关键方面是开发人员的生产力。 Matt Raible(通常是非 EE 领域)和 Adam Bien 为 EE6 领域在该领域进行了一些出色的研究和演示。

【讨论】:

  • 谢谢.. 我喜欢这个参考。我想要一个起点,这是一个理想的起点
【解决方案2】:

您的应用程序能否随着时间的推移成功发展更多地与您的软件架构有关,而不是与您的技术或方法有关。但是,您选择的技术和方法将影响您构建软件的方式。

首先,要知道你的对手是什么。在 1960 年代后期,人们开始研究随着时间的推移应用程序会发生什么。在过去的 40 年里,这些观察结果已经变成了一套定律(参见 Meir Lehman)。这些东西可能看起来很明显,但它是一个很好的起点:

  • 随着系统的发展,它的复杂性会增加,除非进行工作来维护或减少它。
  • 系统的功能必须不断增加,以在其生命周期内保持用户满意度。除非严格维护并适应运营环境的变化,否则系统的质量似乎会下降。

如果您从长远来看,最大的问题可能是组织问题而不是技术问题。例如,开发人员已经知道并喜欢使用哪些技术?如果开发人员计划在公司工作 5 到 10 年,请询问让他们兴奋的未来是什么。收集有关“热门”网络应用技术的想法的最佳地点是http://www.infoq.com/

考虑哪些方法既适合贵组织的技术文化又适合企业文化。敏捷开发很棒,但它并不适合每个组织或每个环境。

考虑供应商。我曾经在一个真正的 IBM 商店工作过,因为 IBM 制造了可靠的软件和硬件。然而,客户真的被供应商锁定了。客户在 1997 年仍在使用令牌环网络和 OS/2。当需要时,给自己一些切换工具和技术的空间。如果不至少切换一次技术堆栈,一个活生生的应用程序几乎不会在十年的使用中存活下来。

要真正创建能够适应业务环境变化的软件设计,请遵循古老的格言“构建一个扔掉”。我们曾经使用新的操作系统、新的编程范式、从绿屏终端到胖客户端 GUI 的切换构建了一个新系统……这是对公司信息技术的彻底改造。如果我们没有构建原型并将其丢弃,我们将永远不会成功。当我们第一次构建原型时,我们并没有选择所有正确的技术和方法。但是当我们构建生产系统时,我们有机会纠正这些错误。这仅在您可以创建原型然后在将其用于实际业务需求之前将其丢弃时才有效。一旦应用程序投入生产,“扔掉”的窗口就消失了。

祝你好运! -亚伦

【讨论】:

    【解决方案3】:

    对于我所有快速且有效的网络解决方案,我使用Grails。它提供生产力,合理的性能。它受 VMWare 支持,因此长期支持看起来还不错。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-04
      • 2023-03-07
      • 2015-03-22
      • 2012-04-10
      • 1970-01-01
      • 2023-03-04
      • 2010-12-22
      相关资源
      最近更新 更多