你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Web开发
Web 2.0用户界面技术详解(1)
 

在用户界面方面,当今的企业应用程序开发人员受到来自用户和运营部门的双重压力。一方面,代表用户的业务部门希望应用程序具有丰富的用户界面,能够最大限度地提高用户的工作效率。他们希望所有应用程序都表现得像 Microsoft 的 Excel 或者其他客户机应用程序一样。希望应用程序能够提供即时响应。此外,若有相同数据的多个视图(例如,一个表格视图和一个图形视图),那么还希望在其中一个视图中进行修改时,其他视图能够立即反映出这一修改。

另一方面,IT 运营部门喜欢纯粹的基于服务器的交付模型。尽管他们知道 HTML 用户体验不如基于本机操作系统(OS)的用户界面那么健壮,但他们认为为了改进用户体验,安装、配置和管理客户机代码的成本太高了。

IT 组织中的许多人都亲身体验过 20 世纪 90 年代的客户机/服务器部署模型,不愿意再重复那样的经历。实际上,如果有客户机组件存在,许多 Java 2 Enterprise Edition(Java EE)应用程序可能不会构建起来,因为成本对于应用程序的业务目标来说太高了。服务器交付的部署模型为 IT 组织提供了低成本高效率的部署方式,这在 90 年代是 IT 组织的梦想。大多数组织都意识到了服务器部署的 Java EE 应用程序的经济优势,因此根本不会考虑部署那些必须在各个客户机上进行安装的代码,除非是不得已。

那么,企业开发人员应该怎么做呢?用户不希望由于几秒的服务器响应时间而降低工作效率,而 IT 部门又不同意采用在客户机上部署和管理代码的老方法。如何能够满足这些表面上相互冲突的需求,让双方都满意呢?

幸运的是,现有的技术使您能够提供比浏览器更好的用户体验,同时不必在客户机上手工安装代码。用这些技术构建的应用程序有时候被称为 Web 2.0 应用程序。在 Tim O'Reilly 的文章 “What Is Web 2.0? Design Patterns and Business Models for the Next Generation of Software”中,他指出:

我们正在进入一个前所未有的用户界面革新时代,Web 开发人员最终能够构建出与本地 PC 应用程序同样丰富的 Web 应用程序。
Web 2.0 应用程序同时提供了两种环境的优点:低成本高效率的基于服务器的部署模型,以及几乎可以与客户机应用程序媲美的用户体验。

对于为当今的 Java EE 应用程序提供丰富的用户体验,有几种技术可供选择:

·Flex 和 OpenLaszlo
·IBM® Workplace™ Managed Client 和 IBM Lotus® Expeditor
·Faces Client Components
·Ajax
·HTML

Flex 和 OpenLaszlo

Flex 和 OpenLaszlo 是极其相似的声明式方法,用来为 Java EE 应用程序创建比浏览器更好的用户体验。Flex 由 Adobe/Macromedia 提供,而 OpenLaszlo 是最初由 Laszlo Systems Inc 创建的开放源码软件。在这两种环境中,都使用独特的基于 XML 的语法来布置和创建用户界面。

例如,为了在 Flex 中使用一个按钮,可以用 MXML(Multimedia XML)编写以下代码:

而对于 OpenLaszlo,可以用 LZX(LasZlo XML)编写以下代码:

为了允许不同的 UI 元素与服务器进行交互和通信,可以用 ActionScript(Flex)或 JavaScript(OpenLaszlo)编写脚本。

尽管这两种技术有许多相似性,但关键的一点差异是它们需要的运行时基础设施。对于需要与服务器交换数据的客户机,Flex 需要一个 Flex Data Services Server,它与 Flash Player 插件中运行的客户机进行通信。在本质上,这个服务器为客户机和应用程序的服务器组件之间的所有通信和数据交换提供中介。

OpenLaszlo 的最新版本做了一些运行时改进,使它对于开发人员更具吸引力。一项改进是版本 3 引入了一种 SOLO 开发模式,使得在某些部署配置中不再需要 Laszlo Presentation Server。另一个主要的改进是客户机运行时环境。最新版本(OpenLazlo 4)正处于 beta 测试阶段,它使基于 Laszlo 的应用程序能够不带 Adobe/Macromedia Flash Player 插件运行。许多公司不愿意被限制于某种专有的插件(比如 Flash Player),他们会欢迎这一改进。

如何判断哪种产品更适合您的组织?Flex 的主要优点是可以从 Adobe/Macromedia 获得充分的产品支持,但是要为 Flex Data Services Server 的许可证付费。对于某些公司来说,付出许可证费用来换取得到充分支持的产品是值得的。Adobe Flex 2 应用程序也需要 Flash Player plug-in V9。尽管 Flex 可以创建丰富的用户体验,但是某些公司不愿意承受费用和插件限制。

OpenLaszlo 技术最初是作为商业产品发布的,但是在 2004 年 Laszlo Systems 开放了这种技术的源码,采用了 Common Public License(V1.0)许可方式。Laszlo Systems 提供支持订阅,而且因为它是一个开放源码项目,您可以选择使用免费资源支持它。对于 OpenLaszlo,费用不是大问题,但是有些组织的公司策略不允许使用开放源码软件,所以可能不能选用 OpenLaszlo。

IBM Workplace Managed Client 和 Lotus Expeditor

IBM Workplace Managed Client 和 Lotus Expeditor 都是在开放源码的 EclipseRPC 代码基上构建的。EclipseRPC 这种技术源自 Eclipse 开发工具工作台,这是由 eclipse.org 管理和控制的通用工具开发平台。如果业务需要进行无连接操作,而且可以在客户机上安装组件,那么 Workplace Managed Client 和/或 Lotus Expeditor 是构建和部署应用程序的最佳技术。

IBM Workplace Managed Client 是 IBM 的 Workplace 产品系列的一个组件。它将各种协作服务组合在一个集成框架(或者说桌面环境)中。它提供的功能包括文档管理、消息传递(包括即时消息传递)、Web 浏览、Notes® 7 的直接接口、eLearning、团队空间、Web 会议以及一个用来跟踪任务相关的线索的活动管理器。Lotus Expeditor 提供一个富客户机平台,它支持企业应用程序、事务处理、设备管理和 Web 服务。尽管选择 Workplace Managed Client 或 Lotus Expeditor 都有不少合理的理由,但是如果应用程序在本质上是协作型的,那么 Workplace Managed Client 通常是最佳选择。但是,如果应用程序在本质上是事务性的,那么通常建议选用 Lotus Expeditor。

Workplace Managed Client 和 Lotus Expeditor 都使开发人员能够创建驻留在客户机上的富客户机应用程序,可以支持无连接操作。因为应用程序驻留在客户机上,客户机可以充分利用它所在工作站的功能,可以创建出高度交互性的用户体验。Eclipse 是 Workplace Managed Client 和 Lotus Expeditor 共同的基础,它提供了一个独立于操作系统的平台,对开发人员隐藏了操作系统的细节差异,同时尽可能利用本机操作系统服务。因此,您可以开发一个 Java 代码基,它能够在 Linux™ 和 Windows™ 上运行,以后甚至能够在 Macintosh 上运行。

为了利用这种技术,需要让应用程序利用 Eclipse 插件体系结构。用户界面组件是使用 SWT(Standard Widget Toolkit)部件或 jFace 组件构建的。SWT 是一个与本机窗口系统集成的部件集和图形库,但是使用独立于操作系统的 API。jFace 是一个使用 SWT 实现的 UI 工具包,它简化了许多常见的 UI 编程任务。jFace 在 API 和实现两方面都独立于窗口系统,其设计目的是使用 SWT 而不是隐藏它。最终结果是更具交互性的用户体验,其外观和感觉与用户熟悉的其他本机操作系统应用程序相似。

最后,“由服务器管理” 这一特性使基于 Workplace Managed Client 或 Lotus Expeditor 的应用程序有别于本机 Windows 应用程序。这项关键特性消除了与客户机驻留的应用程序代码相关联的大多数(如果不是全部的话)系统管理成本。因此,部署应用程序的企业会获得服务器部署的 Java EE 应用程序的所有成本优势,同时用户能够享受操作系统特有的客户机驻留的应用程序的用户体验;对于大多数组织,这都是双赢的结果。

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089