技术存在着一定的周期性。在经历了一段由瘦客户端统治的时期后,富客户端技术开始了它的回归。大量的组织正在将它们的应用程序构建成富客户端,其中许多组织将其应用程序建立在RCP(Eclipse Rich Client Platform)的基础上。术语富客户端首先表明此应用程序为用户提供丰富的体验;其次,它还表明此应用程序是某台服务器的客户端。虽然富客户端并不必须具有对应的服务器组件,但是它们通常会有对应的服务器组件。
富客户端在很多方面与胖客户端类似。它们两者都能为用户带来本地桌面体验,并提供那些通过瘦客户端技术很难、不方便或不可能交付的信息和功能。然而,富客户端可提供更多好的特性。胖客户端通常是一个难以部署和更新的大型单体应用程序,而富客户端在体积上更为轻便,并且是基于部署和更新相对轻易的组件模型的。从历史上来看,胖客户端是特定于平台的;而当今的富客户端技术发挥了底层平台的强大功能,同时隐藏了底层平台的细节,从而答应开发人员将精力集中于任务而不是各种非凡平台的非凡细节。
相对于胖客户端,富客户端还具有更好的可伸缩性。传统上,胖客户端直接与数据库相连接。这样就限制了胖客户端的运行环境(防火墙可能会限制胖客户端与数据库之间的连接),同时应用程序的可伸缩性(客户端与服务器之间的连接总数)也可能会受到数据库的限制。富客户端通常利用应用服务器,后者负责建立到数据库的连接。这种配置非常灵活(防火墙友好的)并且具有高度的可伸缩性。当然,技术中并没有必然限制胖客户端与应用服务器进行通信的东西,只不过在胖客户端技术流行的时候,应用服务器还没出现罢了。
没有规则规定富客户端应用程序必须是某台对应服务器的客户端。许多利用富客户端技术的组织正在构建健壮、可扩展、可更新、本地化的独立应用程序。同样,虽然富客户端通常利用应用服务器,但是并不存在要求必须这么做的规则或技术限制。没有理由说富客户端应用程序不能直接访问数据库。
富客户端技术代表了胖客户端与瘦客户端二者优势的结合:丰富的用户体验、高可伸缩性、平台独立,以及非常易于部署和更新。
Eclipse RCP是一项位于Eclipse平台核心的功能。大多数人想到Eclipse时,他们会想到java集成开发环境(IDE)。假如您将Eclipse中关于IDE的内容剥去,剩下的就是一个提供基本工作台功能的核心,这些功能包括对可移动和可叠加的窗口组件(编辑器和视图)、菜单、工具栏、按钮、表格、树形结构等等的支持。这个核心功能就是Eclipse RCP。
Eclipse RCP为应用程序开发人员提供了:
·应用程序和特性的一致且本地的外观
·公共应用程序服务,例如窗口治理、更新治理、帮助和选择治理
·本地的外观,利用Windows、Mac OS X、linux、Solaris、HP-UX、AIX和嵌入式设备上的实际平台窗口部件
·标准化的组件模型
·普及的可扩展性
·整合的更新机制
·顶级开发工具(Eclipse 软件开发包(SDK)是世界级的软件开发环境)
尽管使用这个术语事实上是不合适的,但Eclipse RCP仍可以被视为构建富客户端应用程序的中间件。它提供给用程序所需的基础设施,从而答应开发人员将精力集中于核心应用程序功能而不是细节。别再浪费时间了:立即使用Eclipse RCP吧。
组件
Eclipse RCP由许多组件构成,每个组件负责整个环境中相应部分的功能。事实上,Eclipse RCP几乎所有的部分都是由组件构成的;除了少量的引导代码,RCP的每一部分都是一个组件。在Eclipse世界中,组件更多时候是被称为插件(或者在OSGI词汇中被称为包裹)。术语“插件”表明了这项组件功能在某种程度上属于二级功能,或者它只是内置功能的一个附加物。但事实并非如此;Eclipse RCP对待所有的插件都是平等的,内置和定制插件之间并没有明确的概念界限。您创建的用于实现应用程序行为的插件可与构成Eclipse RCP的插件一起运行。
通常,富客户端应用程序的开发都是从单一插件开始的。在一个单独的插件中,您可以为您的应用程序定义整个用户界面、业务逻辑和对象模型。创建一个新的Eclipse RCP应用程序非常轻易,您只需选择菜单项File>New>PRoject...、选择创建新的Plug-in Project(插件项目)、然后遵循出现的向导中的步骤。在向导的Content(内容)页面上,对于问题“Would you like to create a rich client application?(您是否希望建立一个富客户端应用程序?)”,记得选择“Yes(是)”。图1中显示的是向导的Templates(模板)页面;在这里我们选择创建“RCP application with a view(带有视图的RCP应用程序)”。
图1. New Plug-in Project向导的Templates页面
这将创建一个包含RCP应用程序所需部分的新插件,其中包括工作台(菜单栏和工具栏)设置和包含一个表格的单一视图(参见图2)。
图2. 向导创建了一个具有全部功能的RCP应用程序