我认为原因不是应用程序的安全性或启动时间。在找出根本原因之前,让我们了解幕后的情况。
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 Server来提供PUSH功能)和执行速度更快(当然,因为客户端计算机在没有翻译的情况下呈现GUI,如HTML / Javascript / CSS,以及更少的数据处理)。
经过这些,我还没有触及到一个问题,为什么JWS没有那么出名?
我的观点是,这与Brian Knoblauch的评论相同,这是没有意识到的。
IT人员被Web Technologies,Ajax PUSH,GWT的炒作所吸引,所有这些流行语使他们偏向于使用不同技术的乐趣或解决技术挑战,而不是真正为客户工作的东西。
看看 Citrix。我认为Citrix实际上是一个好主意。Citrix 允许您在幕后构建自己的应用程序场。您可以采用大量的升级和实施策略,而不会影响客户体验。Citrix 部署非常简单、稳定且安全。企业仍在使用它。但是,我认为JWS甚至比Citrix更好。JWS 的想法是在客户端计算机上运行应用程序,而不是托管大量服务器场,其中客户端计算机能够自己运行这些应用程序。这为公司节省了很多钱!!!使用 JWS,开发团队仍然可以在服务器端构建业务逻辑和数据。但是,如果没有Web处理单元并让客户端计算机进行渲染过程,则大大降低了网络消耗量和服务器处理能力。
为什么JWS是一个惊人的想法的另一个例子是黑莓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美分...:)