账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
Java 客户端技术卷土重来
Java Web Start -

【作者: 葉建華】2001年05月01日 星期二

浏览人次:【3639】

前言

在Java 诞生的初期,相信有许多人都会因为它可以在网页中执行 applet程式而雀跃不已。的确,Java 的优势之一,也就是程式码的可移动性( Code Mobility ),伴随着虚拟机器的特色,在网路程式设计的世界里,引发了一股新的热潮,无数的程式设计师都因Java 各项独创性的特点而沉醉着迷。但随着人们对于网路运算的需求增大,Java applet 已不再适用于日渐严苛的商业运算需求,因此,各方都欲为 Java 在客户端的运算模式,找一个新的出路。


本篇就是针对了这些新的需求,以及升阳公司所提出的解决方案,为各位读者做一个详细的介绍。


Java 客户端已死?

相信会写 Java applet 的人都知道,applet 所能达成的商业运算功能,实在是相当有限。在 Web 发展的初期,Java applet 的动态特性,对于网页的活泼及美化的确有相当多的贡献。但随着商业运算的需求增加,客户端的运算需求也随之提升,Java applet在安全性限制、介面呈现上都有明显地不足。也就因为如此,曾经有一度 Java applet 被认为无法再提供商业运算客户端需要的特性,之所以会有这样的状况,其实是由以下几个因素所引起的。


由 ( 表一 ) 的原因看来,Java 在客户端方面,的确有改善进步的空间。第一个重要的改变,就是没法在各户端使用 Java2 的技术。由于目前各家浏览器所支援的Java 版本,大多为JDK 1.1 版,因此,一些较为复杂的介面呈现技术( 也就是Swing 技术) ,都无法有效地应用在客户端的applet 上,这是相当可惜的一件事。


第二个改变,便是要能有效解决安全性限制的问题。较有经验的Java 程式设计师都会知道,Java applet 的安全性限制相当严格,除了不能取用客户端的系统资源( 档案、印表资源等) 之外,在网路连结部份,也只能够连回applet 的程式码供应端。这些安全性的限制其实相当合理,不但可以避免 applet 意外破坏客户端的运算环境,同时也可以避免有心人利用客户端的网路运算连结来做不好的事情。


但是以上这二种改变需求,却是商业运算所必需的,因此,如何推动新一代 Java的客户端技术,便成了升阳公司的重要任务之一。而就在今年的3月14日,升阳公司正式的宣布新的 Web 技术,也就是所谓的 Java Web Start 软体。


Java Web Start 可以改善吗?

对于独立执行的应用程式,有些问题是必然存在且不可避免的,例如该项软体必须要经历安装、调整组态、维护以及更新版本,这些负荷给企业的资讯部门带来了沉重的工作负担。而 Java 自发明的一开始,就是要试图解决这些复杂的问题 - 也就是利用跨平台的特性,以及动态程式库载入的能力。而升阳公司最近所发表的 Java Web Start 软体,正是由升阳公司以及其合作伙伴针对刚刚所提到的问题,所提出的一种解决方案。


以技术的观点来说,Java Web Start 是一种客户端的辅助型应用程式( helper application ),也就是说,它的功能角色会很像RealAudio 一般,当Web 浏览器载入Java Web Start 所登记的MIME形态档案时,它就会被启动处理这些形态的资料。所以,这种与一般 HTML 其他类型资料相当类似,同时也补强了以 HTML 为基础的应用程式环境。


Java Web Start 其实可以被视为一个通用型的辅助型应用程式,因为 Java Web Start 也是针对特定 HTML 型态资料来做处理。但是,Java Web Start 并不只是处理特定资料型态的工具 ( 如音讯、视讯等等 ),而是凡是以 Java 撰写的应用程式,都可以轻易的使用这个环境来进行运作。对客户端环境而言,只需要下载 Java Web Start 并安装一次,而不是针对各种资料型态都要安装特定的辅助型应用程式。


如此一来,Java Web Start 便可以轻易地将Java 整合到以Web 为基础的应用层面上,不单解决了以往applet 执行的各项问题,同时也可以达到各种Web 应用程式的整合目的,更可以提供以往HTML 无法达到的功能,以近乎一般应用程式执行的姿态,在客户端的环境中进行运作。不论是对 Java 应用程式,或是 Java applet,都可以在 Java Web Start 中顺利执行,而不需再仰赖浏览器所提供的 Java 虚拟机器环境 - 因为这会引发版本以及提供环境功能不一致的问题。


简而言之,Java Web Start 就是针对以 Web 为基础的 Java 应用程式所提供的新一代技术。这项技术,让使用者透过一个简单的 Web 连结,就可以轻易的使用独立的 Java 应用程式 ( stand-alone Java application ) ,而不必再去考虑诸如 Java 平台版本等等的问题。如此一来,以往的安全性问题、介面呈现的问题,都可​​以迎刃而解。因此,Java Web Start 正是为了提供 Web Java 技术而诞生的软体程式。


一旦使用了 Java Web Start,Java 应用程式 ( 而不再只有 Java applet ) 便得以透过一个简单的 Web 连结来启动,而在应用程式的下载与启动方面,使用者将会浑然不觉。而不论是那一种浏览器,如微软的Internet Explorer、网景的Navigator,抑或是其他任何一种浏览器,都可以受惠于这样的Java 技术,不论是对各种作业环境的支援,或是各种硬体组态、安全限制等,都有了良好的解决途径。使用者也不再需要担心浏览器所使用的 Java 平台版本,因为 Java Web Start 本身就可以判断 Java 应用程式对平台版本的需要,进而选择适当版本的平台来执行之。以下我们将 Java Web Start 的特色整理成表,以提供读者更清楚的了解 Java Web Start 所具有的特点,请见 ( 表二 )。


而使用Java Web Start 技术的Java 应用程式,对客户端的来说,将会是永远存在且即时的,也就是说,这些Java 应用程式可以透过Java Web Start,在使用者毫无察觉的状况下,在启动过程中自动更新版本。同时,每一个应用程式都会在一个特定的 JRE ( Java Runtime Environment,Java 执行期环境 ) 中进行运作,而不受特定的浏览器或作业平台的干扰。


Java Web Start 软体的支援的层面很多,举例如下:


  • ●使用最新的Java 2平台。


  • ● 使用多个JRE来进行运作。


  • ● 支援程式码的数位签章辨识。


  • ● 提供安全限制的程式执行环境。


  • ● 支援程式版本判别以及渐进版本更新功能。


  • ● 与既有的桌面环境做整合。


  • ● 可以在现有网路连线的状态下进行离线运作。


  • ● 可以自动安装必要的JRE以及特定的程式库。


  • ● 提供应用程式管理员,以便利使用者使用Java Web Start的特殊功能。



在第一次的下载过程中,Java Web Start 软体的安装程式以及资料档案会被下载下来。使用者只需要执行安装程式,就可以完成 Java Web Start 软体的安装设定。接下来 Java Web Start 将提供一个高度整合且互动性强的使用者介面,同时并支援离线执行应用程式、最少量的伺服器连结、精简规模列应用程式、以及快速的处理效能等特色。


而在安全限制的机制部份,所有的应用程式都会在一个受到安全限制的环境中执行,以保护使用者的资料不会受到有心或无意的破坏。同时,Java Web Start 也提供了程式码数位签章辨识的功能,因此使用者可以很确切的知道该项​​应用程式的信赖程度,降低自身资料遭受不当使用的危险性。


当使用者欲执行一个应用程式时,只需要如网页连结一般,就可以开启Java Web Start 伺服端的连结,而Java Web Start 便会以独立于浏览器之外的姿态,为使用者下载必要的应用程式并执行之。在往后需要再执行的场合下,使用者可以只需要透过桌面上的图示捷径,或是仍透过网页连结,就可以轻易的再启动该项应用程式。并且还可以确保该项应用程式是在最新版本的状态下运作,而完全不需要任何人工的介入来进行版本更新的工作。


由于使用者所需要的,是要能够快速的取得功能强大的 Web 应用程式,也就是说,需求是发生在对跨平台以浏览器为基础的应用程式介面。正因如此,升阳公司才决定开发 Java Web Start 技术来满足这几项的需求层面,而由于 Java Web Start 是以 Java2 的平台为运作基础,因此它可以确信是相当具有弹性且稳定的软体。而由于应用程式在Java Web Start 上的执行环境是完全独立于浏览器之外,所以使用者将可以一边使用该项应用程式,同时继续其网页浏览的工作,甚至可以将浏览器关闭,都不会影响到应用程式的运作。


应用 Java Web Start 技术的时机

既然已经知道了 Java Web Start 的特性,接下来我们就来探讨使用 Java Web Start 技术的时机问题,我们先从检视目前常见的主从式应用程式看起。


目前而言,有许多具有较高生产力以及许多传统的主从式应用程式,都是以Web为互动介面为主来提供使用者必要的功能与服务,但是这样的模式并不总是能够符合所有应用程式的需求。举例来说,在企业内部使用以 Web 为基础的电子邮件服务,是目前常用的应用模式。这对于使用者拥有少量邮件的情况下,是相当合理且有效率的。可惜事不如愿,在企业中大多数使用者所拥有的邮件量都是大得惊人,动辄数百件,且每天会以数十封的成长速度增加。


在这样的情况下,使用以 Web 为介面的电子邮件服务,不但会徒增不必要网路传输资料量,而且运作效能也会相对降低。所以,以这样的应用场合来看,Web 为介面的应用的确不适用,只会增加伺服器以及网路的负荷而已。


以上面的例子来看,若是使用 Java Web Start 技术的话,问题就会显得简单了许多。由于 Java Web Start 技术可以运用 Web 介面启动,因此不论是在企业内部,抑或是在网际网路上,都可以提供使用者完整功能的应用程式软体。但是要享受这样的服务并非全无代价,它需要付出「初次启动」的下载时间,或许第一次需要花上几分钟来下载才能使用到完整功能的应用程式,但是请注意,这只是「初次」的代价。因此在将来的使用上,使用者都不需要再付出这么昂贵的等待时间,因为应用程式可以被储存在本地端中,来等待下一次,以及接下来的「快速启动」。


因此,完整且强大功能的应用程式,无法使用 Web 介面达到其目的功能者,都可以利用这样的技术来大大提升其效能与便利性。即使初次的下载代价高于 HTML,但是将来如同本地端应用程式的执行速度将可以大大地弥补先前所付出的代价,特别是玩家级的使用者,也将会更满意程式启动的效率。


Java Web Start 的架构

Java Web Start 是建构在大多数使用者仍然需要各式各样功能强大应用的基础上。况且,目前大多数使用者仍旧没有想到传统桌面上的工具与应用 ( 如文字处理器、试算表、以及电子邮件管理程式等等 ),可以被某些先进的技术所取代。这些使用者所认定具有生产力的软体工具,大多拥有以下的几种特色:


  • ● 应用程式的使用者介面都相当的丰富,且具有强大的互动性。


  • ● 应用程式很容易透过“开始“功能表、桌面,或是其他捷径来启动,而不需要事事都透过Web浏览器来完成。


  • ● 应用程式的执行效率与互动性并不会随着网路连线速度而有所改变。


  • ● 应用程式可以离线运作,如火车、飞机上等等。



即使如此,传统的应用程式仍会有若干有待解决的问题,特别是应用程式的安装与升级。许多人都会有这样的经验,就是往往必须要随着应用程式版本的更新,或是软体的错误修正,而进行所谓的重新安装或是软体升级的步骤。基本上,这些动作是相当无聊且繁复的,这也是为什么安装程式大多要做得有些许花俏的原因之一。而对于拥有大量供员工使用桌上型电脑的企业来说,要使用新版的应用程式,也就是升级企业软体版本,是企业最为头痛的一件事。


而这样的问题,也就间接鼓励并助长使用 HTML 开发应用服务的趋势,原因无他:开发简单、布设廉价。而对于 Java Web Start 技术来说,这项新的应用程式布设技术,是以 Java2 平台为运作基础,支援使用者透过任何一种浏览器来启动应用程式,而且没有作业平台的限制。也就是说,可以在任何一个地方,透过 Web 连结,便能安心的使用应用程式。 Java Web Start 技术提供了两大层面主要的解决方案,分别是:


● 使用HTML布设应用程式。


● 提供完整且功能强大的应用程式。


如 ( 图一 ), 说明了 Java Web Start 的技术以及运作流程。图中红色的箭头表示是使用者所会察觉到的动作,使用者只需要在网页上击点特定的超连结,便可以诱发 Java Web Star t技术来启动使用者所需要的应用程式。不需要使用者自行安装,也不需要手动升级,一个完整功能的应用程式就会呈现在使用者面前。而使用者所启动的连结,对 Java Web Start 来说,实际上经历了三个重要的步骤 ( 图中蓝色的箭头 ),分述如下:


  • 1.当使用者点选应用程式时,该项超连结会由浏览器转交给 Java Web Start 软体,此时 Java Web Start 便需要启动。


  • 2. Java Web Start 启动时,会先显示一个启动画面 ( 其中内含 Java Web Start 版本讯息 )。接着 Java Web Start 便根据超连结内容的描述,开始下载标的物,也就是使用者所需要的应用程式。


  • 3. Java Web Start 会透过 Web 介面来确认所有应用程式执行所需要的资源,一但挤满,便马上启动应用程式,使用者便可以开启使用。



以上几个步骤,和许多 Web 辅助的应用程式都相当类似,如 RealAudio或是 Acrobat Reader。 Java Web Start 所提供的,则是一个完整的 Java2 运作环境。这样的环境是一般性的,而非根据特定的资料属性所设计 ( 像是音讯、视讯、电子文件等等 )。


如此一来,使用者就可以简单且安全地启动任何 Web 应用程式。在此再次提醒一次:要具有这些功能特性,前提必须是在客户端先行安装Java Web Start 软体,这是只需下载安装一回的工作,一旦完成所有各式软体安装及升级的工作,对你而言将会如同过往云烟。


后记

Java Web Start 技术提供了丰富的功能特色,提供使用者更为便利的应用程式存取以及使用的环境,同时对于企业的IT部门来说,也提供了易于管理与布设的支援。而对于应用程式供应商来说,更是简化了开发的复杂度,这样的技术,将有助于提升以Web为基础的应用程式,同时也大幅减轻了应用程式执行的复杂度,无论是对企业以及个人的应用程式使用上,都将会有明显的贡献。


相关文章
线下服务应用与HTML规范发展
新一代的Web应用标准竞争(三)
国内Application Server市场报导
Email 行销不可忽视的技术方案
新一代的Web应用标准竞争
comments powered by Disqus
相关讨论
  相关新闻
» AI浪潮来袭!伺服器面临高热密度挑战 Vertiv协助矽谷主机代管商在既有机房突破散热瓶颈
» 英业达捐赠台大高效伺服器 引领学术研究高算力大未来
» 数位部办理5G专网国际论坛 机械业看好有助於短链劳动力
» 欧盟规划6G计画主席来台 与经济部签约合作跨国研发
» TrendForce:伺服器供应链重组 云端大厂扩大分散基地避险


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84RDEEZKYSTACUK0
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw