首页专业论文技术应用政策标准解决方案常用资料经验交流教育培训企业技术专家访谈电力期刊
您现在的位置:北极星电力网 > 技术频道 > 常用资料 > 在IBMWorkplace中部署更新

在IBMWorkplace中部署更新

北极星电力网技术频道    作者:佚名   2008/8/6 13:43:04   

 关键词:  KP IBM

级别:高级

HangsuMa
软件开发人员,IBM
2005年6月13日

如果您想节省时间(有谁不想),请阅读本文,学习如何设置一个系统,以便为IBMWorkplace用户自动部署更新和应用。

IBMWorkplaceManagedClient(前身为IBMWorkplaceClientTechnology,richedition)为通过Web浏览器访问IBMWorkplace产品提供了另外一种可选的功能丰富的方案。WorkplaceManagedClient(也称富客户机)提供了诸如离线支持、同步、搜索和文档编辑器之类的功能。

WorkplaceManagedClient的一个重要特性是能够通过一个服务器进行集中管理。这包括基于策略的管理、预配置(provisioning)和故障诊断(troubleshooting)。(要了解更多信息,请参阅developerWorks:Lotus文章,"IBMLotusWorkplace中管理富客户机")另外这还包括允许自动部署更新到ManagedClient的特性。

在本文中,我们将解释如何创建和配置用于为Workplace用户自动部署更新和应用的过程。这需要创建一个基于Eclipse的更新站点,和一个WebSpherePortal预配置页面(provisioningpage),并由这个页面告诉ManagedClient如何访问更新站点以及从该站点下载什么更新。这个过程使您可以控制在Workplace社区内部署更新和应用的方式和时间。该过程可用于将新的应用或更新部署到已有的应用程序当中。

本文假设您是一名有经验的插件应用程序开发人员,并熟悉Workplace和WebSpherePortal。如果拥有关于Eclipse、XMLAccess实用程序和Workplace或WebSphere服务器管理方面的知识也会有所帮助。

WorkplaceManagedClient架构
这一节我们将简短地阐述WorkplaceManagedClient中的一些底层技术。如果要了解更多信息,请参阅developerWorks:Lotus文章,"IBMWorkplaceClientTechnology架构"。

ManagedClient基于Eclipse富客户机技术。它由一组Eclipse插件(plugins)和功能部件(features)组成,包括提供用户界面的视图。ManagedClient按照manifest文件中所包含的指令,将这些组成部分装配在一个页面中。(这个页面相当于Eclipse平台中的“透视图”。)

manifest文件是用RCPML(RichClientPlatformMarkupLanguage,富客户机平台标记语言)编写的。它是一个XML文件,其中描述了ManagedClient应用程序的一些属性。manifest文件包括诸如应用程序需要哪些特性、用户界面的外观等等之类的信息。

部署更新
在安装和配置ManagedClient时,需要来自服务器的manifest文件,首先下载和解析这些文件,然后下载文件中所指定的插件,并构建ManagedClient应用程序。简单地说,这个过程是这样的:

  • 用户安装ManagedClient。这样用户便有了一个ManagedClient平台,还有一些默认的Workplace应用程序。
  • 用户运行ManagedClient并第一次登录到Workplace服务器上。
  • ManagedClient从服务器获得适当的manifest(RCPML)文件。具体下载哪些文件由服务器的设置决定,这在后面会讲到。
  • ManagedClient解析这些RCPML文件,使用该信息找到更新页面,然后决定下载哪些更新。如果是第一次登录,这些更新将包括Workplace应用程序,例如ActivityExplorer。
  • 之后,每当用户登录到服务器时,客户机都从服务器获取新的RCPML文件,并检查是否有可用的更新。如果有,则重复第3步和第4步。
  • 需要记住的重要事情是,对于用户来说,这个过程是完全自动的——用户永远不必决定要下载哪些更新,从哪里获得更新,等等这些问题。相反,这是通过一个预配置页面来控制的。预配置页面和更新站点都是由Workplace管理员来创建和维护的,从而提供对此过程的集中管理。

    因此,建立自动部署ManagedClient更新和应用的过程需要两个基本步骤(顺序可以颠倒):

  • 需要创建一个更新站点,以便上传所需的插件和功能部件,而用户可以从该站点下载这些插件和功能部件,并按照manifest(RCPML)文件中的规定在本地运行它们。
  • 必须在Workplace服务器上创建一个预配置页面,以便将manifest文件提供给ManagedClient。
  • 下面的说明假设您运行在安装了预配置组件的WorkplaceCollaborationServices2.5或WorkplaceServicesExpress2.5。这必须在WebSphereApplicationServer5.0.2.6和WebSpherePortal5.0.2.2之上运行。此外,您还需要一个开发环境,例如RationalApplicationDeveloper6.0或Eclipse3.0(可以从Eclipse网站的下载页面免费下载。)在本文中,我们假设您使用Eclipse作为开发环境。

    下载示例
    我们将使用一个简单的插件和一个简单的Eclipse功能部件作为ManagedClient应用程序示例。在Eclipse术语中,“功能部件(feature)”是指一个基本的“可下载”组件。功能部件(主要是一种manifest文件)将插件与其他功能部件组合起来,以便于下载和管理组件。示例插件(com.ibm.wct.sample.plugin)是用Eclipse的新建插件向导生成的。示例功能部件(com.ibm.wct.sample.feature)包含该插件。您可以在这里下载这个功能部件和插件,解压它们,然后通过选择File-Import将它们导入到工作区。

    图1.示例插件和功能部件

    设置预配置
    预配置过程允许管理员随需应变地将ManagedClient交付给用户。这涉及到服务器管理的角色和基于策略的分发。预配置要求安装Workplace预配置组件(有时候也叫预配置服务器)。IBMWorkplace文档中包含了关于如何预配置ManagedClient的说明。您也可以参阅developerWorks:Lotus文章,"在IBMLotusWorkplace中管理富客户机",其中包含了关于预配置过程的很好的说明。

    创建更新站点
    如前所述,您必须创建一个更新站点,使用户可以从该站点下载ManagedClient更新和应用程序。您可以从Eclipse创建这个更新站点。ManagedClient更新站点实际上就是一个Eclipse更新站点,所以创建站点的过程是一样的。(这也有助于更容易地将Eclipse功能部件迁移到Workplace。)

    典型的ManagedClient更新站点由用于功能部件和插件的文件夹、一个名为site.xml的manifest文件以及其他文件夹组成。这些文件夹中包括用户可以下载到本地计算机上的文件。图2展示了一个ManagedClient更新站点例子的结构:

    图2.ManagedClient更新站点的结构

    默认情况下,ManagedClient更新站点的结构由site.xml文件来控制。这个文件存放在你的IBMHTTPServer(IHS)安装目录中。(后面会有更详细的介绍)

    在开始之前,让我们花点时间澄清一下功能部件和插件之间的关系。如前所述,功能部件包含插件(有时候还包含其他功能部件)。这使得用户能够更容易地下载和管理成组的相关插件——不是逐个下载这些插件,事实上只需下载这个功能部件。Eclipse将解析功能部件中的manifest文件,并下载相应的插件。Eclipse还使用“功能部件”作为管理其配置的单位。您可以安装、卸载和禁用各个功能部件。

    由于ManagedClient更新站点和Eclipse更新站点完全相同,因此我们使用Eclipse中的UpdateSiteProject功能部件来为示例应用程序创建更新站点。为此,打开EclipsePDE(PluginDevelopmentEnvironment)并选择File-New-Project-Plug-indevelopment-UpdateSiteProject。这时会出现NewUpdateSiteWizard向导:

    图3.NewUpdateSite向导

    NewUpdateSite向导由以下部分组成:

  • Projectname标识更新站点。当您选择"Generateawebpagelisting..."复选框时,这个名称将出现在由向导生成的Web页面上。
  • Projectcontents标识更新站点的位置。您应该将它设置为\htdocs\en_US\lwpupdate\wct,这个路径位于Workplace服务器上的IHS安装目录中。
  • Generateawebpagelistingallavailablefeatureswithinthesite生成一个html文件,该文件列出更新站点内所有可用的功能部件和插件(参见图4)。这只支持Web浏览器。

    图4.更新站点上的功能部件和插件

  • Webresourceslocation默认情况下设为web。
  • 单击Finish使Eclipse创建更新站点项目。接着,打开更新站点并双击左侧导航器中的site.xml。然后选择编辑器中的Features标签页。这将显示SiteManifest编辑器:

    图5.SiteManifest编辑器

    SiteManifest编辑器使您可以选择和组织您想要放在更新站点上的功能部件。为此,单击Add显示可用的功能部件列表。

    图6.选择功能部件

    SiteManifest编辑器列出当前工作区内的所有功能部件。(注意,具有不同版本号的功能部件被视作不同的功能部件。)选择您想要添加到更新站点的功能部件。然后使用NewCategory按钮创建您想要显示在更新站点上的类别,并将所选的功能部件放入到这些类别中。(在内部,这将更新site.xml文件,即更新站点的manifest文件。site.xml文件控制在更新站点上列出哪些功能部件和类别。这些类别用于将一批功能部件成组放在一起。)完成这些后,单击BuildAll创建更新站点。

    为构建更新站点,Eclipse解析包含在每个功能部件中的manifest文件(feature.xml),以判断与每个功能部件相关的插件是哪些。然后,Eclipse构建每个功能部件和插件的.jar文件,并将它们放在更新站点上。之后,当用户从更新站点下载功能部件时,这些.jar文件(包括相关插件的.jar文件)将被装载到他们本地的客户机上。

    为了检查新的更新站点,打开Eclipse,然后选择Help-SoftwareUpdates-Findandinstall-Searchfornewfeatureforinstall。接着输入更新站点的目录。假设您选中了图3中的"Generateawebpagelisting…"复选框,您也可以通过在浏览器中打开其URL来浏览更新站点(例如http://hangsu.ibmirl.lan/lwpupdate/wct/index.html)。

    编辑site.xml
    新的更新站点包含一个名为Plugins的文件夹,该文件夹包含每个版本的插件的所有jar文件。还有一个名为Features的文件夹,用于存储用于下载的功能部件。

    注:在大多数情况下,用户不应该直接下载各个插件。为了得到特定的功能,应下载包含这些插件的功能部件。

    您也可以手动地将功能部件添加到更新站点中,方法是编辑site.xml文件。例如,下面这段代码将添加功能部件features/com.ibm.wct.sample.feature_1.0.0。如果将这段代码添加到site.xml,那么就会把features/com.ibm.wct.sample.feature_1.0.0添加到更新站点上的可用功能部件列表中:

    <featureurl="features/com.ibm.wct.sample.feature_1.0.0.jarid="com.ibm.wct.sample.feature"version="1.0.0"><categoryname="WCT"/></feature>

    URL是功能部件所在的位置,id是feature.xml中的id设置。categoryname标识该功能部件所在的更新站点类别。

    您可以通过类别浏览更新站点。默认情况下,site.xml包括一个名为WCT的类别。通过编辑site.xml,也可以添加其他类别。例如,下面的代码将添加一个名为WCTSample的类别:

    <category-defname="WCTSample"label="WCTSample"><description>IBMWorkplaceManagedClientsampleapplications</description></category-def>

    切换栏中的更新站点图标
    还应考虑ManagedClient图形化图标,这虽然是个小问题,但是也很重要。这个图标将出现在ManagedClient的切换栏中。对应于这个图标的文件是一个.png文件,它应该存储在HTTP服务器上的lwpupdate目录中。这个.png文件的尺寸应该是34x32象素。

    创建预配置页面
    如前所述,在Workplace中设置自动更新过程需要两个主要步骤。第一个步骤我们已经处理好了——创建更新站点。现在我们要将注意力转移到第二个步骤,即在Workplace服务器上创建预配置页面。当客户机连接到Workplace预配置服务器时,服务器从预配置页面取相关的参数(我们在后面会加以讨论)以及预配置页面上的“placeholder”portlets。当客户机启动时,它发送一条请求到服务器,以获取由预配置页面提供的RCPML和placeholderportlets。在对客户机请求的响应中,Workplace服务器使用RCPML生成一个manifest文件,在文件中提供可用应用程序列表。客户机使用manifest来决定它需要从安装站点下载哪些应用程序,并将其提供给用户。

    在本节中,我们将创建一个预配置页面,其中包含一个placeholderportlet。这个portlet包含在服务器站点上生成RCPML所需的信息。我们提供了一个示例脚本,您可以下载和运行这个脚本,以便创建自己的预配置页面。(如果对于我们在本节中使用的术语您有需要帮助的地方,请参阅WebSpherePortal文档。)

    当在服务器上安装预配置组件时,会出现一个新的名为WCTPlaceHolder的可用portlet。在呈现应用程序的页面上将使用这个placeholderportlet的一个或多个副本。在门户术语中,portlet的副本被称为“具体portlet实例(concreteportletinstance)”。每个placeholderportlet都配置了必需的参数,以便在应用程序中呈现一个视图。

    门户上有一个特殊的页面,它有一个单名lwp.WorkPlaceRCPPages。服务器上表示客户机应用程序的页面都是作为lwp.WorkPlaceRCPPages页面的子页面创建的。lwp.WorkPlaceRCPPages的默认位置是在门户服务器的根页级。

    现在必须得到placeholderportlet的一个副本(这个副本称为“concrete”副本),并添加描述ManagedClient中相应视图的属性的参数(大小、位置,等等)。大多数RCPMLmanifest文件是从包含在portlet中的参数生成的,而预配置页面本身也有一些重要的参数,例如图标在切换栏中的显示(参阅前一节)。ManagedClient还使用预配置页面的标题作为应用程序标题,这个标题将出现在客户机应用程序切换栏中图标的下方。

    注:一开始,管理员以外的人不能访问新页面和新创建的具体portlet,所以需要修改对页面和portlet的访问权,以允许用户访问该页面。例如,您可以在用户角色成员列表中添加"allauthenticatedportalusers"。(请参考WebSpherePortal管理文档了解关于设置对页面的访问控制的信息。)而且,请记得在创建该页面时,选择SupportRCPMLinAdvanced选项。

    下面是对于placeholderportlet的每个副本都必须配置的一组参数:

  • rcpView是plugin.xml中的视图id。
  • ratio是视图的大小。
  • id.Feature_x是包含该视图的功能部件的id。
  • version.Feature_x是所需功能部件的版本。
  • match.Feature_x定义portlet的兼容性。
  • visible控制视图的可见性。
  • 例如,完整的portlet设置差不多是这样的:

    图7.Portlet设置

    请参阅WebSpherePortal管理文档以了解关于复制和配置portlet的信息。为方便起见,我们提供了一个XML访问脚本,这个脚本可以和portalXML访问实用程序一起用来创建一个页面,这个页面包含placeholderportlet的一个新副本,并带有配置好的参数。

    接下来,在Workplace服务器上运行XMLAccess实用程序。这样您便可以在服务器的远程运行脚本。在我们的例子中,我们将运行一个脚本,该脚本将创建placeholderportlet的一个包含所需参数的具体portlet,并将其放在一个预配置页面上,然后设置对页面和portlet的访问控制。(要了解关于XMLAccess的更多信息,请参阅WebSpherePortalInfoCenter。)完整的示例脚本代码在thissidefile中。

    关于该脚本代码有一些事情要注意一下。脚本请求元素中的create-oids="true"选项指示服务器为该脚本所创建的每个资源生成新的objectid值,从而创建新的资源,而不是覆盖已有的资源(除非指定了和服务器上已有资源的uniquename相同的uniquename)。如果已经存在相同的uniquename,那么就会更新服务器资源,而不是创建一个新的资源。

    Uniquename是每个资源的用户指定标识符。这就可能导致命名冲突。当出现命名冲突时,XMLAccess将直接覆盖所有资源,之前不会发出询问。所以您需要小心对待uniquename。您可以使用下面这个简单的XMLAccess脚本来导出RCP根页下的所有内容,并检查命名冲突:

    <?xmlversion="1.0"encoding="UTF-8"?><requestxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="PortalConfig_1.2.xsd"type="export"transaction-level="none"><portalaction="locate"><content-nodeaction="export"uniquename="lwp.WorkPlaceRCPPages"export-descendants="true"/></portal></request>

    输出包含随预配置组件附带的应用程序,所以,当您准备将目光转移到更复杂的应用程序时,这个输出文件是一个很好的例子。

    如果您想从一个客户机上运行XMLAccess脚本,那么需要从<LWPServer安装目录>\PortalServer\bin复制tools.jar文件。这样客户机上的JVM就可以使用它。然后运行命令行:

    javaw-classpathtools.jarcom.ibm.wps.xmlaccess.XmlAccess-in<your_script_name>-out<output_script_name>-user<User_Name>-pwd<Password>-url<Your_Server_address(IP)>:9081/lwp/config

    这个命令行适用于Windows;在其他平台上的运行也是类似的。

    <output_script_name>设置的是XMLAccess的输出。它是一个XMLAccess脚本,它也可以作为输入脚本,例如,当您从服务器上导出一个文件时,可以使用该输出文件来存储它,或者将它复制到另一个服务器。在这种情况下,我们的脚本是一个更新操作,输出文件只显示结果。您可以期望看到一个静态元素,例如<statuselement="all"result="ok"/>,这表明一切运行正常。操作细节记录在输出文件开头部分的XML注释中。记住,您需要虚拟资源Portal的Administrator角色才能使用XMLAccess实用程序。

    结束语
    现在是时候检查结果了。从Workplace服务器下载和运行ManagedClient。您应该看到如下所示的页面:

    图8.示例WorkplaceManagedClient页面

    注意左侧导航器底端亮绿色的"Hi"图标。这表示我们的示例应用程序,这个应用程序已通过自动部署系统成功地部署到ManagedClient上。这是一个非常简单的应用程序,它仅仅由一个图标和一个视图组成。然而,它足以演示如何用这个部署系统来部署应用程序和其他更新。

    在本文中,我们解释了设置部署系统的基本流程,这个系统用于为WorkplaceManagedClient用户自动部署更新。我们描述了其中涉及的两大步骤:在Eclipse中建立一个更新站点,以及在Workplace中创建一个预配置页面。您可以按照我们的例子来设置您自己的应用程序,以便帮助您在扩张Workplace社区时,管理和控制更新及部署过程。

    来源:互连网
    友情链接
    北极星工程招聘网北极星电气招聘网北极星火电招聘网北极星风电招聘网北极星水电招聘网北极星环保招聘网北极星光伏招聘网北极星节能招聘网招标信息分类电子资料百年建筑网PLC编程培训

    广告直拨:   媒体合作/投稿:陈女士 13693626116

    关于北极星 | 广告服务 | 会员服务 | 媒体报道 | 营销方案 | 成功案例 | 招聘服务 | 加入我们 | 网站地图 | 联系我们 | 排行

    京ICP证080169号京ICP备09003304号-2京公网安备11010502034458号电子公告服务专项备案

    网络文化经营许可证 [2019] 5229-579号广播电视节目制作经营许可证 (京) 字第13229号出版物经营许可证新出发京批字第直200384号人力资源服务许可证1101052014340号

    Copyright © 2022 Bjx.com.cn All Rights Reserved. 北京火山动力网络技术有限公司 版权所有