我认为原因不是应用程序的安全性或启动时间。在找出根本原因之前,让我们先了解幕后情况。
Java 控制面板具有允许用户使用默认浏览器的代理设置或覆盖它们的设置。换言之,基础架构团队能够自定义 Windows 或操作系统安装映像,以使 JVM 预安装企业代理设置。所以我相信这根本不是问题。
Java Web Start 实际上会在 Java 控制面板中缓存所有具有可自定义设置的应用程序。一旦应用程序被缓存,应用程序就会像其他应用程序一样被“安装”。虽然第一次执行可能很慢,但由于 JVM 的智能内存分配技术,第二次会很快。所以启动时间可能是个问题,但是很多网站(甚至是企业内部的)现在都迁移到了门户网站。Web 门户通常包含许多用于开发目的的未使用库,因为门户本身并不预期在特定页面上构建和部署哪些类型的 portlet。因此,下载单个门户页面可能会消耗高达 MB 并在 5 秒以上的时间内完成一个页面;这只是一页,缓存可以帮助高达 30%,但每次仍然需要下载大量 HTML/Javascript/CSS 组件。有了这个,我确信 Java Web Start 在这里是一个优势。
只要服务器副本未升级,Java Web Start 就不会再次下载。因此,如果像MS Project这样的项目管理软件,使用SmartClient(类似于JWS)来完成,客户端和服务器之间的信息交换将是纯粹的数据,没有像浏览器的整页刷新那样的呈现。即使在 Ajax 的帮助下,它也不能完全消除整页下载。此外,很多公司都认为 Ajax 还不成熟且不安全。这就是为什么 Ajax 在开发人员圈子中是一个热门话题,但在企业软件中还不是。考虑到这一点,JWS 应用程序肯定具有更多优势,例如 JWS 应用程序如何在沙箱中部署和执行、签名以及具有更多交互式 GUI。
其他优势包括更快的开发(更容易调试代码和性能)、响应式用户界面(不需要 Comet 服务器提供 PUSH 功能)和执行速度更快(当然,因为客户端计算机无需像 HTML/Javascript/CSS 那样翻译即可呈现 GUI,和更少的数据处理)。
毕竟这些,我还没有触及这个问题,为什么JWS没有那么有名?
我的观点是,这与 Brian Knoblauch 的评论相同,没有意识。
IT 人员也被 Web 技术、Ajax PUSH、GWT 的炒作所吸引,所有这些流行语使他们偏向于使用不同技术或解决技术挑战的乐趣,而不是真正为客户工作的东西。
看看思杰。我认为 Citrix 实际上是一个好主意。Citrix 允许您在幕后构建自己的应用程序场。您可以在不影响客户体验的情况下采用大量升级和实施策略。Citrix 部署非常简单、稳定和安全。企业仍在使用它。但是,我认为 JWS 甚至比 Citrix 还要好。JWS 的想法是在客户端机器上运行应用程序,而不是托管大量的服务器场,让客户端机器能够自己运行这些应用程序。这为公司节省了很多钱!!!使用 JWS,开发团队仍然可以在服务器端构建业务逻辑和数据。但是,没有Web处理单元,让客户端计算机来做渲染过程,大大降低了网络消耗量和服务器处理能力。
为什么 JWS 是一个了不起的想法的另一个例子是 Blackberry MDS。黑莓应用程序实际上是从 Javascript 翻译而来的 Java 应用程序。使用 BB 的 MDS 工作室,您可以使用 GUI 工具构建 BB 应用程序 GUI,用 Javascript 编写 GUI 逻辑。然后应用程序被翻译并部署在 BES 服务器上。然后 BES 服务器会将这些应用分发给 BB。在每个 BB 上,它运行一个仅具有 GUI 呈现和网络功能的瘦 Java 应用程序。每当应用程序需要数据时,它都会通过 Web 服务与 BES 通信,以使用来自其他服务器的服务。这不就是JWS BB版吗?它非常成功。
最后,我认为 JWS 不受欢迎是因为 Sun 宣传它的方式。BB 从不宣传他们的 BB Java 应用程序有多好,他们相信客户甚至不会关心它是什么。BB 宣传使用 MDS 开发应用程序的好处:快速、节省成本、业务回报。
只是我的,有点长,2美分...... :)