【问题标题】:advantages of .net over java in Intranet.net 在 Intranet 中优于 java 的优势
【发布时间】:2009-03-17 06:34:13
【问题描述】:

我们公司拥有一个包含 30,000 多个网页和 160 多个 Web 应用程序的内部网。超过 5000 名员工正在使用它。

我们还拥有包含 150 多个 Web 应用程序和 100 多个网站的互联网。 Internet 和 Intranet 都有 7 年以上的历史了,它们运行在经典的 ASP 上。

最近一些“技术架构师”想出了一个从 ASP 迁移到 JAVA 的绝妙主意,结果通常需要 2/3 个月的项目在 java 中需要 6/9 个月。原因是我们有 100 多个可重复使用的定制 VB 组件,而 Java 团队发现很难迁移所有这些组件,而且它们需要花费大量时间。

在 Intranet 中的 160 多个 Web 应用程序中,其中大多数并非所有人都可以使用。这意味着我们有一个 VB 组件,用于检查登录用户并允许进入特定应用程序。我们还有权限管理页面,允许我们向应用程序添加/删除用户(就像 ASP 成员控制一样)。

我想向管理层展示使用 .net 成员控制很容易将 Intranet 应用程序迁移到 .net 并且“Windows Authenticaion”更好。

请记住,我们现有的应用程序是基于 Windows 的,与 java 相比,您能否帮我收集一些使用 .net 作为 Intranet 的优势。

在阅读 SO 中的类似问题后,我收集了一些要点。但我需要一些更具体的 Intranet。

注意:我不是来讨论关于 java 和 .net 的。 java 是一门很棒的语言,但看看these factors to consider before migration,它非常清楚将我们的应用程序迁移到 .net 更好,但我的“技术架构师”做出了错误的决定。

【问题讨论】:

    标签: .net asp.net-membership intranet


    【解决方案1】:

    这取决于情况。在您的情况下,如果如您所描述的那样,去 Java 的决定并没有经过深思熟虑。您显然对 Microsoft 堆栈进行了大量投资。我认为没有令人信服的理由放弃所有遗留代码并经历所有这些痛苦只是为了使用 Java。

    我可能会被激怒,但并不是说您从 Java 中获得的力量比 .NET 多得多来证明这种痛苦是正当的。我认为您当前的代码投资是继续使用 Microsoft 堆栈的充分理由。您可以与 COM 进行互操作,并且所有这些事情都可以从 .NET 中更轻松地进行。虽然,诚然,即使在转至 .NET 时,您也会有较大的代码更改。不过,这将是一个更容易的挑战;您的许多代码可以与新的 .NET 代码并存;你只需要做一些工作来管理诸如 Session 之类的事情。

    【讨论】:

    • 同意 100%,我是一名 Java 程序员。
    【解决方案2】:

    我的 2c 是,如果您已经进入一个项目 9 个月,那么无论 .Net/Java 辩论多么有效,您最不想做的就是丢弃工作代码。

    我认为,一旦您的 java 程序员掌握了 VB 对象的工作原理(即学习 VB),他们将大大提高他们在 java 中重新编码对象的能力。

    一边 如果您使用的是 Windows 和 Microsoft 技术,那么能够回退到现有的域基础架构将获得巨大的好处。

    ASP.Net 不会神奇地变得安全,因为虽然您在域中,但您仍然需要在应用程序级别手动编写大量安全性代码。但是,如果您使用基于 MSSQL 的系统,使用 .net 会给您带来很多好处。此外,如果您在一家大公司,编写一些办公室互操作工具可能会更容易,用于生成报告等。

    【讨论】:

      【解决方案3】:

      有一家公司 MainSoft(来自以色列)允许在 Java 系统上运行 .net 程序集。几年前,我的上一家公司有人用它来将某些 .net Web 应用程序迁移到 Tomcat 的 corp 标准。我认为有关字节/代码转换的一些事情,但我不确定。

      【讨论】:

        【解决方案4】:

        我也在 BigCo 工作...我们有一个不断增长的 .NET 曲线,从 VB6 和 Java 开始。这里已经并且将会有很多 Java 编写,这很棒。我真的认为“我们将成为 100% 技术 X”是错误的。我理解人们为什么会这样,但在典型的大商店里,这似乎太局限了。

        我建议不要试图与 Java 大打出手,而只是寻找 .NET 的机会,因为它显然更适合特定项目。即,如果您正在编写一个小型应用程序来执行一些由 10 个或更少用户使用的 CRUD,那么在我看来,使用 WinForms 而不是作为 Web 应用程序来做这件事很有意义,因为编写它们要快得多,而且用的很少用户您没有分配问题。如果您也使用 AD,您还可以获得完整的集成安全功能。这就是我们在这里所采用的方法,它允许 .NET 渗透到所有地方。在其他项目中,使用 Java 显然更好(特殊要求、团队经验等),太好了——去做吧。任何一家大公司都会有大量的微软和大量的 Javaesque 硬件来运行东西,所以在我看来,在 BigCo 中,你应该在两个大型企业平台中的哪一个平台上并不重要选择。有时 .NET 更好,有时它是 Java。我认为大商店应该同时培养两者。

        我认为几年后,我们也会将 Python(可能更像 IronPython)或 Ruby 视为可行的替代方案。

        【讨论】:

          【解决方案5】:

          问题不在于一种架构相对于另一种架构的技术优势;当您尝试为新项目决定平台时,您会问这个问题。问题是您将现有代码迁移到 Java 与 .NET 相比有多容易。如果您对 MS 堆栈有那么深的了解,那么坚持使用 MS 堆栈是有意义的,只是为了便于迁移。

          如果您有 项目更适合 Java,请务必使用 Java。或者 Ruby,或者 Python,或者任何合适的。

          【讨论】:

          • 我已经清楚地提到了为什么这个问题。以及谁来决定这项技术。
          • 我的意思是,您需要提出坚持使用 MS 堆栈的原因,而这些原因不一定是严格的技术原因。平台之间的技术差异非常微小,因此在此决定中其他因素更为重要。
          猜你喜欢
          • 2010-11-27
          • 2017-05-04
          • 2013-09-11
          • 2012-09-20
          • 1970-01-01
          • 2014-03-06
          • 2020-11-23
          • 1970-01-01
          • 2010-11-15
          相关资源
          最近更新 更多