| 操作系统 办公 实用知识 设计 开发 WEB开发 移动开发 数据库 软件工程 网管 安全 管理 信息化 答疑 渠道 |
在 IBM Workplace 中部署更新如果您想节省时间(有谁不想),请阅读本文,学习如何设置一个系统,以便为 IBM Workplace 用户自动部署更新和应用。 Workplace Managed Client 的一个重要特性是能够通过一个服务器进行集中管理。这包括基于策略的管理、预配置(provisioning)和故障诊断(troubleshooting)。(要了解更多信息,请参阅 developerWorks: Lotus 文章,"IBM Lotus Workplace 中管理富客户机")另外这还包括允许自动部署更新到 Managed Client 的特性。 在本文中,我们将解释如何创建和配置用于为 Workplace 用户自动部署更新和应用的过程。这需要创建一个基于 Eclipse 的更新站点,和一个 WebSphere Portal 预配置页面(provisioning page),并由这个页面告诉 Managed Client 如何访问更新站点以及从该站点下载什么更新。这个过程使您可以控制在 Workplace 社区内部署更新和应用的方式和时间。该过程可用于将新的应用或更新部署到已有的应用程序当中。 本文假设您是一名有经验的插件应用程序开发人员,并熟悉 Workplace 和 WebSphere Portal。如果拥有关于 Eclipse、XMLAccess 实用程序和 Workplace 或 WebSphere 服务器管理方面的知识也会有所帮助。 Workplace Managed Client 架构 Managed Client 基于 Eclipse 富客户机技术。它由一组 Eclipse 插件(plugins)和功能部件(features)组成,包括提供用户界面的视图。Managed Client 按照 manifest 文件中所包含的指令,将这些组成部分装配在一个页面中。(这个页面相当于 Eclipse 平台中的“透视图”。) manifest 文件是用 RCPML(Rich Client Platform Markup Language,富客户机平台标记语言)编写的。它是一个XML 文件,其中描述了 Managed Client 应用程序的一些属性。manifest 文件包括诸如应用程序需要哪些特性、用户界面的外观等等之类的信息。 部署更新 用户安装 Managed Client。这样用户便有了一个 Managed Client 平台,还有一些默认的 Workplace 应用程序。 需要记住的重要事情是,对于用户来说,这个过程是完全自动的——用户永远不必决定要下载哪些更新,从哪里获得更新,等等这些问题。相反,这是通过一个预配置页面来控制的。预配置页面和更新站点都是由 Workplace 管理员来创建和维护的,从而提供对此过程的集中管理。 因此,建立自动部署 Managed Client 更新和应用的过程需要两个基本步骤(顺序可以颠倒): 需要创建一个更新站点,以便上传所需的插件和功能部件,而用户可以从该站点下载这些插件和功能部件,并按照 manifest (RCPML) 文件中的规定在本地运行它们。 下面的说明假设您运行在安装了预配置组件的 Workplace Collaboration Services 2.5 或 Workplace Services Express 2.5。这必须在 WebSphere Application Server 5.0.2.6 和 WebSphere Portal 5.0.2.2 之上运行。此外,您还需要一个开发环境,例如 Rational Application Developer 6.0 或 Eclipse 3.0 (可以从 Eclipse 网站的下载页面免费下载。) 在本文中,我们假设您使用 Eclipse 作为开发环境。 下载示例 图 1.示例插件和功能部件
创建更新站点 典型的 Managed Client 更新站点由用于功能部件和插件的文件夹、一个名为 site.xml 的 manifest 文件以及其他文件夹组成。这些文件夹中包括用户可以下载到本地计算机上的文件。图 2 展示了一个 Managed Client 更新站点例子的结构: 图 2. Managed Client 更新站点的结构
在开始之前,让我们花点时间澄清一下功能部件和插件之间的关系。如前所述,功能部件包含插件(有时候还包含其他功能部件)。这使得用户能够更容易地下载和管理成组的相关插件——不是逐个下载这些插件,事实上只需下载这个功能部件。Eclipse 将解析功能部件中的 manifest 文件,并下载相应的插件。Eclipse 还使用“功能部件”作为管理其配置的单位。您可以安装、卸载和禁用各个功能部件。 由于 Managed Client 更新站点和 Eclipse 更新站点完全相同,因此我们使用 Eclipse 中的 Update Site Project 功能部件来为示例应用程序创建更新站点。为此,打开 Eclipse PDE (Plugin Development Environment) 并选择 File - New - Project - Plug-in development - Update Site Project。这时会出现 New Update Site Wizard 向导: 图 3. New Update Site 向导
Project name 标识更新站点。当您选择 "Generate a web page listing..." 复选框时,这个名称将出现在由向导生成的 Web 页面上。
单击 Finish 使 Eclipse 创建更新站点项目。接着,打开更新站点并双击左侧导航器中的 site.xml。然后选择编辑器中的 Features 标签页。这将显示 Site Manifest 编辑器: 图 5. Site Manifest 编辑器
图 6. 选择功能部件
为构建更新站点,Eclipse 解析包含在每个功能部件中的 manifest 文件(feature.xml),以判断与每个功能部件相关的插件是哪些。然后,Eclipse 构建每个功能部件和插件的 .jar 文件,并将它们放在更新站点上。之后,当用户从更新站点下载功能部件时,这些 .jar 文件(包括相关插件的 .jar 文件)将被装载到他们本地的客户机上。 为了检查新的更新站点,打开 Eclipse,然后选择 Help - Software Updates - Find and install - Search for new feature for install。接着输入更新站点的目录。假设您选中了图 3 中的 "Generate a web page listing…" 复选框,您也可以通过在浏览器中打开其 URL 来浏览更新站点(例如 http://hangsu.ibmirl.lan/lwpupdate/wct/index.html)。 编辑 site.xml 注: 在大多数情况下,用户不应该直接下载各个插件。为了得到特定的功能,应下载包含这些插件的功能部件。 您也可以手动地将功能部件添加到更新站点中,方法是编辑 site.xml 文件。例如,下面这段代码将添加功能部件 features/com.ibm.wct.sample.feature_1.0.0。如果将这段代码添加到 site.xml,那么就会把 features/com.ibm.wct.sample.feature_1.0.0 添加到更新站点上的可用功能部件列表中: <feature url="features/com.ibm.wct.sample.feature_1.0.0.jar 您可以通过类别浏览更新站点。默认情况下,site.xml 包括一个名为 WCT 的类别。通过编辑 site.xml,也可以添加其他类别。例如,下面的代码将添加一个名为 WCT Sample 的类别: <category-def name="WCT Sample" label="WCT Sample"> 创建预配置页面 在本节中,我们将创建一个预配置页面,其中包含一个 placeholder portlet。这个 portlet 包含在服务器站点上生成 RCPML 所需的信息。我们提供了一个示例脚本,您可以下载和运行这个脚本,以便创建自己的预配置页面。(如果对于我们在本节中使用的术语您有需要帮助的地方,请参阅 WebSphere Portal 文档。) 当在服务器上安装预配置组件时,会出现一个新的名为 WCT Place Holder 的可用 portlet。在呈现应用程序的页面上将使用这个 placeholder portlet 的一个或多个副本。在门户术语中,portlet 的副本被称为“具体 portlet 实例(concrete portlet instance)”。每个 placeholder portlet 都配置了必需的参数,以便在应用程序中呈现一个视图。 门户上有一个特殊的页面,它有一个单名 lwp.WorkPlaceRCPPages。服务器上表示客户机应用程序的页面都是作为 lwp.WorkPlaceRCPPages 页面的子页面创建的。lwp.WorkPlaceRCPPages 的默认位置是在门户服务器的根页级。 现在必须得到 placeholder portlet 的一个副本(这个副本称为 “concrete”副本),并添加描述 Managed Client 中相应视图的属性的参数(大小、位置,等等)。大多数 RCPML manifest 文件是从包含在 portlet 中的参数生成的,而预配置页面本身也有一些重要的参数,例如图标在切换栏中的显示(参阅前一节)。Managed Client 还使用预配置页面的标题作为应用程序标题,这个标题将出现在客户机应用程序切换栏中图标的下方。 注: 一开始,管理员以外的人不能访问新页面和新创建的具体 portlet,所以需要修改对页面和 portlet 的访问权,以允许用户访问该页面。例如,您可以在用户角色成员列表中添加 "all authenticated portal users"。(请参考WebSphere Portal 管理文档了解关于设置对页面的访问控制的信息。)而且,请记得在创建该页面时,选择 Support RCPML in Advanced 选项。 下面是对于 placeholder portlet 的每个副本都必须配置的一组参数: rcpView 是 plugin.xml 中的视图 id。 例如,完整的 portlet 设置差不多是这样的: 图 7. Portlet 设置
接下来,在 Workplace 服务器上运行 XML Access 实用程序。这样您便可以在服务器的远程运行脚本。在我们的例子中,我们将运行一个脚本,该脚本将创建 placeholder portlet 的一个包含所需参数的具体 portlet,并将其放在一个预配置页面上,然后设置对页面和 portlet 的访问控制。(要了解关于 XML Access 的更多信息,请参阅 WebSphere Portal InfoCenter。)完整的示例脚本代码在this sidefile中。 关于该脚本代码有一些事情要注意一下。脚本请求元素中的 create-oids="true" 选项指示服务器为该脚本所创建的每个资源生成新的 objectid 值,从而创建新的资源,而不是覆盖已有的资源(除非指定了和服务器上已有资源的 uniquename 相同的 uniquename)。如果已经存在相同的 uniquename,那么就会更新服务器资源,而不是创建一个新的资源。 Uniquename 是每个资源的用户指定标识符。这就可能导致命名冲突。当出现命名冲突时,XML Access 将直接覆盖所有资源,之前不会发出询问。所以您需要小心对待 uniquename。您可以使用下面这个简单的 XML Access 脚本来导出 RCP 根页下的所有内容,并检查命名冲突: <?xml version="1.0" encoding="UTF-8"?> 如果您想从一个客户机上运行 XML Access 脚本,那么需要从 <LWP Server 安装目录>\PortalServer\bin 复制 tools.jar 文件。这样客户机上的 JVM 就可以使用它。然后运行命令行: javaw -classpath tools.jar com.ibm.wps.xmlaccess.XmlAccess -in <output_script_name> 设置的是 XML Access 的输出。它是一个 XML Access 脚本,它也可以作为输入脚本,例如,当您从服务器上导出一个文件时,可以使用该输出文件来存储它,或者将它复制到另一个服务器。在这种情况下,我们的脚本是一个更新操作,输出文件只显示结果。您可以期望看到一个静态元素,例如 <status element="all" result="ok"/>,这表明一切运行正常。操作细节记录在输出文件开头部分的 XML 注释中。记住,您需要虚拟资源 Portal 的 Administrator 角色才能使用 XML Access 实用程序。 结束语 图 8. 示例 Workplace Managed Client 页面
在本文中,我们解释了设置部署系统的基本流程,这个系统用于为 Workplace Managed Client 用户自动部署更新。我们描述了其中涉及的两大步骤:在 Eclipse 中建立一个更新站点,以及在 Workplace 中创建一个预配置页面。您可以按照我们的例子来设置您自己的应用程序,以便帮助您在扩张 Workplace 社区时,管理和控制更新及部署过程。
今日推荐
|
重点推荐
领军企业技术文库
+更多领军技术文库
最新专题
电子杂志订阅
| ||||||||