本文向读者介绍了如何使用 IBM Lotus Expeditor V6.1.1 服务器和客户端软件在安全的环境中管理客户端。我们将进行简单的配置和部署,利用 IBM Lotus Expeditor V6.1.1 服务器的设备管理器(Device Manager)管理终端客户软件,包括部署、更新、卸载客户端软件。为了介绍本文的内容,假设已经安装了 IBM Lotus Expeditor V6.1.1 服务器与客户端并且可运行。
本文我们将介绍运用 Lotus Expeditor 服务器,对 Lotus Expeditor 客户机进行安全的业务程序部署和管理。
首先,我们介绍一下本文所使用的客户端软件管理场景,然后再引申一步,介绍一下这个模型对于实际的企业用户有什么样的应用价值。
在本文的实例中,管理员将分发软件的任务通过控制台发布给设备管理器;任务在设备管理器上会被存储到任务列表中等待提交给客户端;服务器与客户端在定期握手通信的时候会建立一个满足 SSL 安全协议的通道,然后设备管理器会将这个分发软件的任务提交给客户端的“企业平台管理代理程序”;“企业平台管理代理程序”在拿到这个任务后,会根据任务的要求,去配置好 SSL 的 HTTP 服务器上面安装或者更新需要在客户端平台上面运行的软件;在安装完成后,客户端平台会提示用户重新启动客户平台;重新启动客户平台之后,这个任务就执行完毕。用户可以使用新部署或者被更新的客户端软件了。具体拓扑结构如图 1 所示。
图 1. 设备管理器向客户端发布任务拓扑示意图
可以看出,整个的通信过程中,所有的通信协议都是基于满足 SSL 安全协议的前提下进行的;这个对于有一定安全要求的企业工作环境是非常重要的,也是整个 Lotus Expeditor 平台能够适合企业解决方案的一个亮点。
设想一下下面的场景,在一个大型企业里面,比如机票代理商或者银行这样的大型公司;企业员工的工作地点是分散,不过企业所使用的软件系统有统一的要求。比如,机票销售软件,或者银行 ATM 柜员机等等。这些企业,由于不同的终端客户机的地点比较分散,所以造成分发或者更新软件比较麻烦,成本也会相对增加;还有,对于安全性要求较高的企业,找到一种满足安全规范并且成本较低的软件维护管理的解决方案更是弥足珍贵。
本例中提供的解决方案恰恰可以满足保证安全、简化管理、减少成本的需求。 Lotus Expeditor 服务器的设备管理器可以支持管理多个客户端平台,管理员如果需要向这些设备部署或更新软件,可以通过设备管理器,一次性向这些平台发送相应的任务。然后,服务器会分别向与其建立了 SSL 通信连接的客户端设备发送这些任务,然后由客户端平台上面的代理程序负责完成任务的内容;如果因为网络等原因,客户端平台没有及时的与服务器建立通信连接,这个任务还可以在设备管理器的任务列表中保留,什么时候“找到”客户端,什么时候执行这些任务。由于这些繁琐的管理任务都是在管理员提交完任务后,由设备管理器自动安排处理的,这种解决方案可以实现软件维护管理的自动化,减少人为干预,降低维护成本。
下面具体介绍一下业务程序的部署和管理方法。
在我们这个场景中,安全配置是服务器端的关键。在默认情况下,服务器端与客户端使用不加密的 http 协议进行通信,服务器端发出的数据很容易被监听、窃取或者篡改;服务器端安全配置的目的,就是使服务器端与客户端使用 https 协议进行通信;这样它们之间通信的时候,数据是经过加密的,同时通过数字签名证书进行认证;可以实现信息传递的保密性、完整性,并且会话双方能鉴别对方身份。下面介绍服务器端安全配置的基本步骤:
我们首先需要创建一个 keystore 文件,然后在这里文件中创建一个自签名证书;有了 keystore 文件和自签名证书之后,可以配置服务器和客户端的 SSL 属性,使服务器与客户端利用 https 协议进行加密通信。
- 在 Lotus Expeditor 服务器上启动 Key Management Utility(也称作 ikeyman 工具),方法:开始 -> 程序 ->IBM HTTP Server 6.0->Start Key Management Utility ;
- 从菜单中选择 Key Database File -> New ;
- 从 Key database type 的下拉列表中选择 CMS ;
- 为新的 keystore 文件输入文件名。使用 key.kdb ;同时在 Location 中输入文件的保存位置。(见图 2);
图 2. 创建 keystore 文件 - 单击 OK 按钮;
- 输入密码和确认密码;我们这里使用“ password ”作为密码。
- 选择 Stash the password to a file,这允许 HTTP Server 使用该密码来访问 keystore 中存放的证书;
- 单击 OK 按钮。(见图 3)
图 3. 设置 keystore 文件密码
在创建完 keystore 文件之后,下面在这个文件中创建自签名证书:
- 从菜单中,选择 Create => New Self-Signed Certificate 。一个窗口将打开,要求输入一些信息,以便生成自签名证书。
- 为此证书输入 key label 。在 key label 中不要使用空格。 我们使用 wedsvr80Cert 。说明:这个 key label 名称可以由用户自由定义。
- 选择 X509 V3 作为 Version,以及 1024 作为 Key Size 。
- Distinguished Name 的前二个字段 --Common Name 和 Organization-- 是必需的。对于 Common Name,请使用 Lotus Expeditor 服务器的机器全名命名。假设服务器名称为 server.hostname,所以我们使用 server.hostname 作为 Common Name,IBM 作为 Organization ; Organization Unit、Locality 以及 State/Province 是可选的 -- 我们将这几个字段保持空白。
- 选择适当的 Country 。
- 输入 365 作为 Validity Period 。 代表这个证书的有效期为 365 天,可以根据实际需求加长这个时间。
- 单击 OK 。(见图 4)
图 4. 创建自签名证书
到此,我们已经完成创建 keystore 文件和自签名证书的工作;暂时将 keystore 文件名记为 key.kdb,保留在 C:\dms_ssl 路径下,留待下面使用。
完成了刚才创建 keystore 文件和自签名证书的操作步骤之后,我们需要将创建好的自签名证书导出,以磁盘文件的形式保存到磁盘上。
- 在“ Personal Certificates ”选择刚刚创建的自签名证书“ wedsvr80Cert ”,如图 5 。
图 5. 选择自签名证书 - 单击“ Extract Certificate ”按钮,在弹出地对话框中为证书文件输入文件名和路径,在这里我们用 cert.arm 命名文件名,c:\dms_ssl 为证书文件保存的路径;选择“ Base64-encoded ASCII data ”为 Data type 。如图 6 所示。
图 6. 导出证书文件
到此,我们这个实例中需要的 keystore 文件和自签名证书文件都创建好了;他们全部保存在 C:\dms_ssl 路径下,分别命名为:
- Keystore 文件:key.kdb
- 自签名证书文件:cert.arm
下面的操作中需要用到这 2 个文件,暂时先保存在磁盘上。
在完成创建 keystore 文件及自签名证书之后,首先需要配置 Lotus Expeditor 服务器上面的 IBM HTTP Server 的 SSL 属性,使得服务器的 Https 通信端口被打开,进行 SSL 安全通信。步骤如下:
- 停止 IBM HTTP Server, 方法:运行“开始” > “程序” > “ IBM HTTP 服务器” > “停止 HTTP 服务器” ; 稍等片刻即可。
- 用文本编辑器打开 httpd.conf 配置文件,httpd.conf 文件可以在 HTTP Server 的 conf 目录下找到。将下面代码添加到 httpd.conf 文件,
##################################### LoadModule ibm_ssl_module modules/mod_ibm_ssl.so Listen 443 ServerName server.hostname ## 这里填写你使用的服务器机器名 SSLEnable SSLDisable KeyFile "c:/dms_ssl/key.kdb" ## 这里填写我们在前面建立的 key.kdb 文件的路径 SSLV2Timeout 100 SSLV3Timeout 1000 ##############################
保存并关闭 httpd.conf 配置文件。
- 启动 IBM HTTP Server ;方法:运行“开始” > “程序” > “ IBM HTTP 服务器” > “启动 HTTP 服务器”。
- 验证 IBM HTTP Server 的 SSL 配置正确性。打开浏览器,输入 https://server.hostname (server.hostname 为服务器的主机名);验证这个页面可以被打开,如图 7 所示。
图 7. 验证 HTTP Server SSL 配置正确性
配置 WebSphere Application Server 的 SSL
在完成 HTTP Server 的配置工作之后,接下来需要对 WebSphere Application Server 进行 SSL 配置。
第一步,更新 WebSphere Application Server 的虚拟主机列表,以包括正确的主机名和 SSL 端口号。然后,重新生成插件配置。
第二步,如果您正在使用自签名的证书,请将前面中创建的自签名证书文件 cert.arm 添加到 Application Server Java 虚拟机信任库文件。
下面分别介绍具体步骤。
下列步骤,将 SSL 端口 443 的主机别名添加到 WebSphere Application Server 中:
- 打开 WebSphere Application Server 管理控制台;方法:单击“开始” > “程序” > “ IBM WebSphere ” > “ Application Server ” -> “ Profiles ” > “ default ” > “ Administrative console ”;在登录页面上输入用户名 / 密码(用户名 / 密码是在安装 Expeditor Server 的时候设定的),然后单击“登录”按钮就可以进入控制台页面。
- 进入控制台后,在左边的面板中单击“环境” > “虚拟主机”。
- 单击“ default_host ”链接。
- 在打开的页面中,单击“其它属性”下的“主机别名”链接,然后在打开的页面中单击“新建”按钮以创建主机别名。
- 在打开页面中的“常规属性”下,指定“主机名”字段为“ * ”,“端口”字段为“ 443 ”,单击“应用”按钮。
- 在打开的页面中单击“保存”链接,以应用对 Application Server 主配置的更改。
- 由于服务器配置已经发生更改,下面要重新生成 Web 服务器插件配置。在服务器控制台的导航栏中单击“服务器” > “ Web 服务器”,然后选择列表中 Web 服务器实例旁边的复选框。单击“生成插件”按钮;如图 8 所示。
图 8. 重新生成 Web 服务器插件 - 重新启动 Expeditor 服务器,方法:
首先,停止服务器;“开始” > “程序” > “ Lotus Expeditor ” > “ Stop Servers ”
然后,启动服务器;“开始” > “程序” > “ Lotus Expeditor ” > “ Start Servers ”
- 验证配置的正确性。打开浏览器窗口访问 https://server.hostname/user-management,以验证 SSL 服务器配置更新是否成功。
提示:要全面了解 WebSphere Application Server 虚拟主机功能,请参阅 WebSphere Application Server 文档。
在这一步中,需要将前面创建的自签名证书文件,导入 WebSphere Application Server 的 Java 虚拟机信任库文件中。完成下列步骤:
- 找到 Application Server Java 虚拟机的密钥库。默认情况下,该信任文件的路径为 \java\jre\lib\security\cacerts 。
- 打开命令提示符窗口,进入路径 \java\jre\bin,执行以下命令:keytool -import -keystore "\java\jre\lib\security\cacerts" -alias hostname -file "c:\dms_ssl\cert.arm"
说明: 表示当前应用服务器安装的路径; hostname 表示你的服务器的主机名,对应于本文所使用的实例应该是 server.hostname ; cert.arm,是在前面步骤中创建的自签名证书文件。
- 在完成输入 keytool 命令之后,系统会提示输入 Java 虚拟机信任文件的密码,缺省情况下输入 changeit 。当系统提示是否信任该证书,回答 yes,并按回车键即可。
- 在完成上述操作后,Application Server 就可以创建与启用 SSL 的 Web 服务器之间的 HTTPS 连接。
配置 Device Manager Server 的 SSL
修改 Device Manager 公共用户注册表的 URL
首先需要修改订阅管理器用于访问 XPD Server 公共用户注册表的 URL,操作如下:
- 打开 UserServicesSubscriptionManager.properties 文件。默认情况下,UserServicesSubscriptionManager.properties 文件所在路径为:\profiles\default\installedApps\\DMS_WebApp.ear\dmserver.war\WEB-INF\classes\ 目录中。说明: 表示当前应用服务器(WebSphere Application Server)安装的路径; 表示当前所用 application server 实例所在的文件夹名称。
- 将 WEBSERVICE_SOAP_ROUTER 和 WEBSERVICE_ALT_SOAP_ROUTER 的属性值 http:// 改成 https:// 。
- 保存并关闭该文件。
配置 DM Console 控制台密钥库库文件
- 在文本编辑器中打开 DMstart.bat 文件。 dmstart.bat 文件位于 /DMS/console/dm 目录中。(其中, 表示 XPD Server 的安装位置。)修改 dmstart.bat 文件中的以下几行:
SET KEYSTOREPATH=\java\jre\lib\security\cacerts SET KEYSTOREPASSWORD=changeit
- 保存并关闭该文件。
说明:这里 KEYSTOREPATH 的值就是我们在“将自签名证书导入应用服务器密钥库”一节中第二步,-keystore 参数后面带的路径。
为 Device Manager Server 添加主机别名
类似前面讲过的“为 Application Server 添加主机别名”,这里用类似的方法为 Device Manager Server 添加主机别名。步骤如下:
- 打开 WebSphere Application Server 管理控制台,方法:单击“开始” > “程序” > “ IBM WebSphere ” > “ Application Server ” > “ Profiles ” > “ default ” > “ Administrative console ”;在登录页面上输入用户名 / 密码(用户名 / 密码是在安装 Expeditor Server 的时候设定的),然后单击“登录”按钮就可以进入控制台页面。
- 单击“服务器” > “应用程序服务器” > “ DMS_AppServer ”。
- 向下滚动至“通信”并展开“端口”下的列表。
- 找到与 WC_defaulthost 相关的端口号,并记录下来以备后面使用。
- 单击“环境” > “虚拟主机”。
- 选择 缺省主机 “ default_host ”。
- 选择其他属性下的 “主机别名”,然后单击“新建”按钮以创建主机别名。
- 在常规属性下的端口字段中指定与 WC_defaulthost 相关联的值(该值在第 4 步中记录),然后单击“应用”。
- 单击“保存”,以应用对 Application Server 主配置的更改。
- 接下来,需要重新生成 Web 服务器插件配置,选择“服务器” > “ Web 服务器”,在所显示的列表中选中您期望使用的 Web 服务器旁的复选框(说明,默认情况下只有一 Web 服务器实例,选择它就好了)。然后单击“生成插件”按钮。
- 重新启动 Expeditor 服务器,方法:
- 首先,停止服务器;“开始” > “程序” > “ Lotus Expeditor ” > “ Stop Servers ”。
- 然后,启动服务器;“开始” > “程序” > “ Lotus Expeditor ” > “ Start Servers ”。
修改 Device Manager 中设备注册 URL 的协议
我们的目标是使用 https 这种基于 SSL 的安全通信协议进行服务端与客户端的通信,所以我们需要将设备注册的 URL 协议全部修改成 https,方法如下:
- 运行 DMConsole.bat 文件,这个文件位于 /DMS/console/ 目录中。
- 在打开的登录窗口中输入用户名 / 密码(用户名 / 密码是在安装 Expeditor Server 的时候设定的)
- 在进入管理界面之后,选择左边的“ Device classes ”,然后可以在右边的面板中看到 Device Manager Server 所支持的所有设备分类名称。如图 9 所示:
图 9. Device Manager Server 所支持的所有设备类型 - 双击每一种设备类型的名称,在打开的窗口中将设备注册 URL 的协议修改成 https,端口修改成 :443 。如图 10 所示 Win32 类型的设备修改情况。
图 10. Win32 类型设备注册 URL 的修改 - 修改完成后单击“ OK ”按钮即可。
到此,我们所有服务器端的配置就都完成了,下面讲解客户端的操作步骤。
Lotus Expeditor 客户机平台为管理客户机应用程序提供了一套被称为“企业管理代理程序”的组件(英文为 Enterprise Management Agent,在 Expeditor 早期版本也曾经被称为 Device Agent 和 OSGi Agent)。这个代理程序使用 Open Mobile Alliance 定义的 SyncML/DM 协议与服务器端传递管理请求。在安装完 Lotus Expeditor 客户机之后,这个“企业管理代理程序”组件就已经被安装了。下面需要做的是对客户机进行一些配置,首先将自签名证书导入客户机;然后安装“企业管理代理程序”的管理界面程序——“企业管理代理程序 Servlet ”;最后在客户机的“首选项”中配置服务器端的信息,比如服务器地址,帐号等等。下面我们分别介绍操作方法。
这一步,需要将前面“服务器端配置”章节中创建的自签名证书 cert.arm 导入客户机的密钥库中。操作步骤如下:
- 首先将 cert.arm 文件从服务器的文件目录拷贝到客户机。
- 找到客户机 Java 虚拟机的密钥库,默认情况下的路径如下:\rcp\eclipse\plugins\\jre\lib\security\cacerts 。
说明:
- 表示 Expeditor 的安装根目录。
- 表示 Expeditor 当前所使用的 JRE(Java 运行时环境)的目录名称;因为 Expeditor 支持多种类型的 jre,比如台式机、笔记本电脑上面的 jclDesktop 和 J2SE,手机、掌上电脑上面的 jclDevice 。如何使用不同的 JRE 请参考 http://publib.boulder.ibm.com/infocenter/ledoc/v6r11/index.jsp 。在 Windows 上默认安装 Expeditor,所使用的 jre 为 jclDesktop, 的值为 com.ibm.rcp.jcl.desktop.win32.x86_6.1.1.0-, 是一个时间戳文本。
- 打开命令提示符窗口,进入路径 \rcp\eclipse\plugins\\bin,执行以下命令:keytool -import -keystore "\rcp\eclipse\plugins\\jre\lib\security\cacerts" -alias -file "\cert.arm"
说明:
- 为 Lotus Expeditor 服务器的名称。
- 为 cert.arm 自签名证书文件在客户机保存的路径。
- 在完成输入 keytool 命令之后,系统会提示输入 Java 虚拟机信任文件的密码,缺省情况下输入 changeit 。当系统提示是否信任该证书,回答 yes,并按回车键即可。
- 在完成上述操作后,客户端程序在需要与服务器端应用进行连接时,他们就是彼此信任的,遵从 SSL 协议进行的安全通信。
企业管理代理程序 Servlet 为管理员提供了一个简单的操作界面,通过它可以控制客户机上面的一些属性。在本例中,我们主要利用它发起向服务器的连接请求,当服务器接到请求后会将客户机的管理命令以“任务”的形式发送给客户机的企业管理代理程序,然后在客户机上执行这些“任务”。
下面介绍“企业管理代理程序 Servlet ”的安装步骤:
- 打开 Lotus Expeditor,选择“文件” > “应用程序” > “安装”;在打开的界面中,选择“搜索要安装的新功能部件”,然后单击“下一步”按钮。如图 11 所示。
图 11. 安装新部件 - 单击“添加文件夹位置”按钮,如图 12 所示。
图 12. 添加文件夹位置 - 将路径定位到 Lotus Expeditor 安装光盘,然后选择光盘上面的 desktop\updates\platform. 路径,单击“确定”按钮。在“编辑本地站点”对话框中单击“确定”按钮,将这个位置添加到“可用应用程序”列表中。如图 13 所示。
图 13. 将应用程序安装位置添加到可用程序列表中 - 单击“完成”按钮。从对话框的列表中选择“企业管理代理程序 Servlet 1.8.0 ”然后单击“下一步”按钮。如图 14 所示:
图 14. 安装“企业管理代理程序 Servlet ” - 在接下来的对话框中,选择接受协议,然后按照提示选择一系列“下一步”按钮,最后单击“完成”按钮就可以完成“企业管理代理程序 Servlet ”的安装。
- 系统会提示重启 Expeditor,选择“是”按钮,然后等待 Expeditor 重新启动。
- 在 Expeditor 重新启动后,单击“打开”按钮。如图 15 所示。
图 15. 启动“企业管理代理程序 Servlet ” - 从下拉列表中选择“ Enterprise Management Agent Servlet ”选项,然后就可以看到“企业管理代理程序 Servlet ”的界面了。如图 16 所示。
图 16. “企业管理代理程序 Servlet ”界面
好了,这个管理界面安装完毕。我们先把它放在这里,在下面的操作中会用到它。
这一部分介绍如何对客户端进行相应配置,使其可以注册到服务器上,以便服务器对客户机进行管理。
操作步骤如下:
- 选择“文件” > “首选项”菜单项。
- 在打开的“菜单项”对话框中,选择“企业管理代理程序”。如图 17 所示。
图 17. 企业管理代理程序 - 在右边的窗口中选择“启用”企业管理代理程序””选择框。
- 输入服务器端的配置信息,如下:
- 设备用户名:输入安装 Expeditor 服务器的时候设定的用户名(上面登录 DM console 的时候也输入的这个用户名)。
- 设备用户密码:输入安装 Expeditor 服务器的时候设定的用户密码(上面登录 DM console 的时候也输入的这个用户密码)。
- 再次输入设备用户密码:重复输入上面的用户密码。
- 服务器密码(可选):保持空。
- 再次输入服务器密码:保持空。
- 服务器 IP 地址:选择 https 协议,保证客户机与服务器进行满足安全协议的通信;用 Expeditor 服务器的地址名称替换 < 服务器地址 >,其他字串保持不变。
- 轮询配置不能被用户编辑,保持默认状态即可。
- 单击“测试连接”按钮,当看到弹出窗口提示“连接成功”就表明你的配置是正确的;单击“确定”按钮关闭“连接状态”确认窗口即可。如图 18 所示。
图 18. 测试客户端与服务器的连接是否成功 - 如果这时候提示“连接失败”,则说明前面的某些步骤中可能有配置错误或者当时网络有故障导致客户机无法向服务器发送请求,使得服务器与客户机无法进行 SSL 的通信连接。请检查配置信息和网络状况。
- 单击“ OK ”按钮关闭连接状态对话框,然后单击“确定”按钮,保存“企业管理代理程序”的配置。
到此,我们有关服务器与客户机的配置就全部完成了。由于我们是要进行基于 SSL 标准的安全通信,所以配置方法可能有些繁琐。读者在尝试这些过程的时候不要着急,在每一大步操作完成后都给出了判断这一大步操作是否成功的方法,一步一步做;这样肯定能够保证你的配置是正确的。
接下来,我们将讲解如果通过 Expeditor 服务器的设备管理器为客户端发布、更新、删除软件,为大家提供一个解决类似需求的参考方案。
首先介绍发布软件,也就是将一个软件安装到 Lotus Expeditor 客户端上。这里我们需要特殊说明一下,我们这里用的软件,是运行在 Expeditor 客户端上面的软件。它的形式是 Eclipse Feature ;这里我们先假定,读者已经对 Eclipse Feature 有了解;如果有对这方面没有概念的读者看到这里,请首先参考 http://www.eclipse.org/ 上面的资源,了解一下 Eclipse Feature 的概念,然后再往下看。
在向客户端发布软件之前,首先要讲准备发布的软件部署到 Http 服务器上,然后再将它注册到设备管理器上。这里我们只用附件中带的示例程序 HelloWorld.zip,它是一个 Eclipse Feature 应用程序,是一个很简单的用于演示效果的程序;里面包含两个版本:1.0.0 和 1.0.1 。在本例中,我们将通过设备管理器安装版本 1.0.0,然后通过设备管理器将程序升级到 1.0.1 。
最先需要做的是将软件程序拷贝到配置了 SSL 的 http 服务器上,这里由于我们前面已经将 Lotus Expeditor 服务器配置成 SSL 启用的状态,所以为了简化起见将程序拷贝到 Lotus Expeditor 服务器上面的 http 服务器上。方法是将 HelloWorld.zip 文件拷贝到 http 服务器的默认站点根目录,一般为 \htdocs\en_US\,然后将它解压缩到 htdocs\en_US\HelloWorld 目录。尝试通过 https 协议访问它。在浏览器中访问 https:///helloworld,如果访问成功看到目录结构即可。如图 19 所示。
图 19. 将需要安装的程序部署到 http 服务器上
下面,将部署到 http 服务器上的软件注册到 Lotus Expeditor 服务器的设备管理器上。
- 打开设备管理器的控制台—— DMConsole,运行 DMConsole.bat 文件,这个文件位于 /DMS/console/ 目录中。
- 在打开的登录窗口中输入用户名 / 密码(用户名 / 密码是在安装 Expeditor Server 的时候设定的)
- 在设备管理器控制台,右键单击左边的 software,从打开的快捷菜单中选择“ New Softeare ”,然后在弹出的对话框中选择“ Eclipse Feature ”;在 URL 文本框中输入部署在 http 服务器上的软件的地址,指向 feature.jar 位置 https://server.hostname/helloworld/features/com.ibm.test.wed.client.PROVISIONING.hello.feature_1.0.0.jar,如图 20 所示。
图 20. 注册软件 - 单击“ Fetch ”按钮,然后单击“ Next ”按钮。保持默认配置,单击“ OK ”按钮完成软件注册。
这是关键的一步,我们前面所作的一切配置、准备都是为了这里能够将软件安装到 Lotus Expeditor 客户端平台上。
- 首先,打开 Lotus Expeditor 客户端;上面我们已经配置好客户端平台,并且安装了“企业管理代理程序 Servlet ”。单击“打开”按钮,从下拉列表中选择“ Enterprise Management Agent Servlet ”选项,然后就可以进入“企业管理代理程序 Servlet ”的界面。单击“ Get Updates ”链接,让服务器与客户端产生一次握手通信。使得设备管理器上可以出现对应客户端的纪录实例。
- 在设备管理器的控制台 DMConsole 中,单击“ Devices ”,从右边的列表中就可以看到有一个设备实例保存在列表中。这个就代表我们的客户端机器。如图 21 所示。
说明:如果是多个客户端设备实例出现在设备列表中,可以通过 Device Name 找到自己需要的那个设备实例,每个 Device Name 都是不同的。
图 21. 客户端机器在设备管理器中的显示 - 右键单击这个客户端设备,然后从弹出菜单中选择“ Submit Job ”,向客户端提交任务。如图 22 所示。
图 22. 提交任务 - 这时会打开一个向设备提交任务的对话框,保持默认设置,首先单击“ Next ”按钮;在下一个页面上,从“ Job type ”下拉框中选择“ Eclipse Feature Software Distribution ”,然后单击“ Next ”按钮。如图 23 所示。
图 23. 选择任务类型 - 单击“ Add Group ”按钮,从软件列表中选择 com.ibm.test.wed.client.PROVISIONING.hello.feature(这个就是我们刚才注册的 hello world 软件)。如图 24 所示。
图 24. 选择需要安装的软件 - 单击“ Next ”按钮。最后单击“ OK ”按钮。到此任务就发布完毕。
-
回到 Lotus Expeditor 客户端,单击“企业管理代理程序 Servlet ”中的 Get Update 链接,让客户端和服务器产生一次握手通信。稍等片刻,在客户端完成软件安装之后,就会提示用户客户端平台需要重启,以便使更新生效;选择是客户机就会重启。如图 25 所示。
图 25. 客户端提示重启说明:默认状态下,用户不用使用这个 servlet 工具,因为客户端会自动定期与服务器端进行握手通信;系统在用户不知不觉中完成所有的任务;在本文实例中这样做完全是出于节约时间的考虑才利用这个工具强制服务器与客户机进行握手通信。
- 在重启之后,单击“打开”按钮,可以看到 Hello World 软件已经安装到 Lotus Expeditor 客户端;如图 26 所示。
图 26. 验证软件已经被安装到 XPD - 打开这个软件,可以看到,界面提示这个软件的版本是 1.0.0 。如图 27 所示。
图 27. 验证软件安装成功 - 我们可以看到,程序可以正常运行,说明安装成功。
接下来一节介绍一下如何对软件进行版本升级。
我们这里讲的升级软件是指对软件的版本进行升级,我之前安装的软件版本是 1.0.0,这一节将它升级到 1.0.1 。在具体讲解步骤之前需要提一句,基于 Eclipse Feature 的软件升级,需要在 Eclipse Feature 的 feature.xml 中添加代码,指定升级软件的站点 URL 。在我们的示例中已经做好了这一步工作,代码如下:
由于我们不是在讲解 Eclipse feature 的有关知识,所以对这个问题不做讲解。如有不清楚的地方,请参考 http://www.eclipse.org 。
下面介绍如何将 Hello world 软件升级到 1.0.1 。
- 与安装软件一样,首先要打开设备管理器控制台 DMConsole,单击“ Devices ”,找到设备列表中的客户端设备,然后右键单击客户端设备,然后从弹出菜单中选择“ Submit Job ”,向客户端提交任务。如图 22 所示。
- 保持默认配置,直接单击“ Next ”按钮;在下一个页面上,从“ Job type ”下拉框中选择“ Eclipse Feature Control ”,然后单击“ Next ”按钮。如图 28 所示。
图 28. 选择任务类型 - 选择“ Feature Control Step ”然后单击“ Add Group ”按钮。从“ Action ”下拉列表中选择“ Update ”选项(Update 表示升级操作),从“ Eclipse features from inventory ”中选择刚才安装的软件 com.ibm.test.wed.client.PROVISIONING.hello.feature,然后单击“ Next ”按钮。如图 29 所示。
图 29. 配置软件升级任务 - 单击“ OK ”按钮,升级任务就创建完毕。
- 打开 Lotus Expeditor 客户端的“企业管理代理程序 Servlet ”,单击 Get Update 链接,让客户端和服务器产生一次握手通信。稍等片刻,新版本的软件就会更新到客户端,更新完毕后会提示用户客户端平台需要重启,以便使更新生效;选择是,重启客户端。
- 客户端重新启动后,单击“打开”,选择“ Hello World ”;从打开的界面我们可以看到,Hello World 已经被升级到 1.0.1 版本。如图 30 所示。
图 30. 升级后的 Hello World
软件工作正常,说明升级任务操作成功。下面来讲解如何卸载软件。
在这一节,我们介绍将 Hello World 软件从客户端删除。
- 开设备管理器控制台 DMConsole,单击“ Devices ”,找到设备列表中的客户端设备,然后右键单击客户端设备,然后从弹出菜单中选择“ Submit Job ”,向客户端提交任务。如图 22 所示。
- 保持默认配置,直接单击“ Next ”按钮;在下一个页面上,从“ Job type ”下拉框中选择“ Eclipse Feature Software Removal ”,然后单击“ Next ”按钮。如图 31 所示。
图 31. 配置删除软件任务 - 选择“ Feature Console Step ”然后单击“ Add Group ”按钮。确认 Action 下拉菜单的选项为“ Uninstall ”(这一项是默认配置,确认一下就好了)。从“ Eclipse features from inventory ”中选择刚才安装的软件 com.ibm.test.wed.client.PROVISIONING.hello.feature,然后单击“ Next ”按钮。如图 32 所示。
图 32. 配置删除软件任务 - 单击“ OK ”按钮,删除软件任务就创建完毕。
- 打开 Lotus Expeditor 客户端的“企业管理代理程序 Servlet ”,单击 Get Update 链接,让客户端和服务器产生一次握手通信。稍等片刻,客户端软件删除工作就会完成,提示用户客户端平台需要重启,以便使更新生效;选择是,重启客户端。
- 客户端重新启动后,单击“打开”,可以看到,Hello World 已经没有了,说明它已经被从客户端平台上面删除了。如图 33 所示。
图 33. 验证软件已被删除
本文介绍了利用 Lotus Expeditor 服务器上面的设备管理器,在安全的环境中管理客户端软件。通过图形化界面,不需要编程序,就可以完成管理工作;操作难度很低,易于上手,容易培训用户。
另外,设备管理器还提供一套可以支持远程方法调用(RMI)的接口,可以通过编程序的方法实现在 DMConsole 上的所有功能;对于企业级解决方案需要订制控制台界面和集成化设备管理提供很大方便。对于这部分内容可以以后通过别的文章进行介绍。
描述 | 名字 | 大小 | 下载方法 |
---|---|---|---|
示例代码 | HelloWorld.zip | 8 KB | HTTP |
关于下载方法的信息 |
- 阅读 developerWorks 文章 “IBM Lotus Expeditor V6.1.1 简介”。
- 阅读 developerWorks 文章 “IBM Lotus Expeditor Toolkit V6.1.1 入门”。
- 阅读 developerWorks 文章 “基于 Lotus Expeditor 6.1 的复合应用开发”。
- 阅读 developerWorks 文章 “End-to-end integration with pervasive messaging and IBM Lotus Expeditor micro broker”。
- 阅读 developerWorks 文章 “在 IBM Lotus Expeditor 中构建脱机应用程序”。
- 阅读 developerWorks 文章 “使用 IBM Lotus Expeditor V6.1 在桌面和移动设备上开发并部署富客户机应用程序”。
- 阅读 developerWorks 文章 “Migrating Eclipse RCP applications to IBM Lotus Expeditor”。
- 阅读 developerWorks 文章 “为 IBM Lotus Expeditor Property Broker 创建协作组件”。
- 阅读 developerWorks 文章 “开发 OSGi 服务作为 IBM Lotus Expeditor 中的 Web 服务”。
- 阅读 developerWorks 文章 “在 IBM Lotus Expeditor 中构建并部署简单的 Web 服务资源”。
- 阅读 IBM 红皮书 “Building Composite Applications in Lotus Expeditor V6.1”。
- 阅读 IBM 红皮书 “Building Composite Applications”。
- 访问 “developerWorks Lotus Expeditor 页面”。
- 参考 “IBM Lotus Expeditor 文档页面”。
- 查看IBM Lotus Expeditor 6.1.1 信息中心。
- 访问 “Eclipse Web 站点”。
钱继志是IBM CSDL Lotus Expeditor 研发团队的一位软件工程师。从事IBM Lotus Expeditor软件的系统测试与集成测试。可以通过 qianjz@cn.ibm.com 联系他。 |
王维是 IBM CSDL Lotus Expeditor 研发团队的一位高级软件工程师。负责 IBM Lotus Expeditor 软件的系统测试与集成测试。可以通过 wangwbj@cn.ibm.com 联系他。 |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14751907/viewspace-536404/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14751907/viewspace-536404/