1

我们公司拥有一个内联网,其中包含 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”更好。

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

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

注意:我不是来讨论关于 java 和 .net 的。java 是一门很棒的语言,但在迁移之前考虑这些因素,很清楚将我们的应用程序迁移到 .net 更好,但我的“技术架构师”做出了错误的决定。

4

5 回答 5

6

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

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

于 2009-03-17T06:56:32.963 回答
1

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

我认为一旦你的 Java 程序员掌握了 VB 对象如何工作的速度(即学习 VB),那么他们将大大提高他们在 Java 中重新编码对象的能力。

除此之外,如果您使用的是 Windows 和 Microsoft 技术,那么您将获得很大的好处,即能够回退到您现有的域基础架构上。

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

于 2009-03-17T06:59:53.673 回答
0

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

于 2009-03-17T07:03:31.543 回答
0

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

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

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

于 2009-03-27T21:02:52.600 回答
-1

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

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

于 2009-03-27T21:29:48.447 回答