技术开发 频道

专家访谈: Stephen Hardison谈IBM Lotus和WebSphere Portal

【ITPUB 技术文档】

这个月我们请 IBM® Lotus® 专家 Stephen Hardison来为您解答有关将 Lotus 协作工具与WebSphere® Portal 进行集成的问题。IBM Lotus Team Workplace(QuickPlace 3)为团队提供了可靠的工作空间,在这里他们可以通过讨论、合著文档、以及协调方案、任务和资源而达成一致。Steve Hardison 是 IBM Software Services for Lotus 跨品牌的架构师,专攻 Lotus 软件产品与 WebSphere Portal 的集成。如需更多信息,请参阅 Lotus 开发者园地


问:我试图执行人员查找(people finder)功能。但是通过网址 http://<Fully_Qualified_ServerName>/PFDirectoryConnector 设置 LDAP 连接器时出现找不到页面的提示。有什么建议可以排除这一故障吗?还有,我在哪里可以找到设置“People Finder”功能的指南? 我使用 Domino LDAP 作为源。 (提问人:XY)

答:在 Lotus Collaboration Center 安装过程的末尾,安装脚本会显示一个对话框,提示您可以使用目录连接器(Directory Connector)应用程序通过您上面列出的 URL 来配置 People Finder 功能。遗憾的是有一个错误,上面给出的这个 URL 是不完整的。正确的 URL 是:

http://<fully_qualified_hostname>/PFDirectoryConnector/ConfigWelcome.action
            

如果这仍不起作用,请确保您使用管理控制台(Admin Console)重新启动了 WebSphere Application Server,并再次尝试这一 URL。如果正确地安装了 Collaboration Center,那么 People Finder 的配置屏幕就应该出现。

关于配置 People Finder portlet 的详细信息,请参阅 Lotus 开发者园地中“LDD Today”部分刊登的文章: 配置 WebSphere Portal Collaboration Center People Finder portlet

问:在 Domino Server 5.0 和 WebSphere Application Server 中我要怎样才能修改管理员密码? (提问人:“XY”)

答:修改管理员密码步骤很简单。用管理员标识登录到 WebSphere Portal,然后:

  1. 单击屏幕右上方的 Edit my profile链接。
  2. 在弹出的对话框中输入您的新密码。
  3. 单击 Continue提交所做的修改。

门户网站的安全超时缓存(Security Cache Timeout)计时为 600 秒,所以修改生效最多可能要十分钟时间。

如果您在试图提交修改时接收到错误信息,或者根本就没有使用门户,那么您需要使用 LDAP 目录管理工具手动地修改密码。对于 Domino LDAP,这是 Domino Administrator 客户机。启动这个客户机,然后:

  1. 从菜单上选择 File -> Open Server并且选中您的 LDAP 服务的宿主服务器。
  2. 当服务器打开之后,选中 People & Groups选项卡。
  3. 单击 People链接,在所显示的视图中找到该管理员的姓名。
  4. 选中管理员姓名并单击 Edit
  5. Internet Password域内输入新密码,然后单击 Save & Close以提交修改。

如果您在 WebSphere 的 Security Center 使用管理员标识作为您的绑定标识,那么修改的过程会更复杂。详细内容请参阅 WebSphere Portal 4.2 信息中心 ? 修改 wpsbind 密码

问:iSeries 的 WSAD 可以和 WSAD 的 Domino Toolkit 一起使用吗? (提问人:“XY”)

答:用于 WebSphere Studio 的 Lotus Domino Toolkit 1.0 已经随 Domino 6.0.2 一起发布,并且可以用于 WebSphere Studio Application Developer 5.0 的 Windows 版本和 Linux 版本。目前尚未计划提供 Domino Toolkit 1.0 在用于 iSeries 的 WebSphere Studio Site Developer 上进行无缝工作。

问:要在同一个 LDAP 域(Domino LDAP)中设置 QP 和 ST,就必须在 ST 服务器上做某些修改。我们需要修改复制规则使其不会获取任何人员档案。实质上,我们必须确保在 ST 服务器中不存在任何人员档案。

在做完这些之后,我们的 ST 服务器上的任何数据库都不再可以访问了。我们在试图访问 ST 服务器上的任何数据时都得到这样的错误信息:“Server Error: Your public key was not found in the Names and Address book.”您对这个问题的建议是什么? (提问人:无名氏)

答:这看起来与 Domino 下的单点登录行为有关。LTPA 协议假定在专有名称(Distinguished Name,DN)目录中有一个唯一名(unique name)在 LTPA 令牌中传递。因为 Domino 使用目录帮助(Directory Assistance)可以有多个可信赖的认证源,如果您的 LDAP 服务器与 Sametime 服务器处于同一个 Domino 域中,您实际上就确保了拥有多个入口。请注意这也是涉及到这个 SSO 域的 Domino 邮件或应用服务器、Domino.Doc、QuickPlace 2.x,或其它任何基于 Domino 的应用服务器都存在的一个问题。

解决的方法是消除重复的入口。您可以用您描述的选择性的复制方法来做到这一点。但由于 Domino 服务器不能根据主 Domino 目录(Domino Directory)中的人员档案来验证用户标识文件中的证书,这些用户就不能使用他们的 Notes 客户机来访问服务器,如同您在上文中所提到的那样。

另一个办法是保留主目录中的人员档案,然后删除目录帮助(Directory Assistance)数据库中指向 LDAP 目录的可信链接。仍然配置 Sametime 服务以使用 LDAP 服务器进行认证,但 Notes 用户和 Domino Web 用户依据 names.nsf 来进行认证。只要 LDAP 服务器和 Sametime 服务器在恰当的时间间隔内进行复制,两个系统间用户的 Internet 密码就能保持一致。

问:在 Lotus Notes R5.0.10 中,我们是否可以从一个文件(例如 Microsoft Excel、Windows 或 .pst 文件)中导入地址簿?这个文件可能由 Microsoft Outlook 生成。 (提问人:Dany Riopel)

答:您可以用 Microsoft Excel 电子表格将联络信息导入到您的个人地址簿中,但是这需要了解 Contacts 表单中的字段名。要将包含有多条地址薄条目的电子表格导入到 Notes 个人地址簿(Notes Personal Address Book),请按照如下步骤进行:

  1. 在 Domino Designer 中,打开个人地址薄(Personal Address Book)的一个测试副本(或者您可以打开个人地址薄模板),然后在 Forms 视图下选中 Contact form并打开它。
  2. 打开 Excel 电子表格的一个副本,每一列的第一项为该列标题项,将这些项改成个人地址薄的 Contact 表单中相应的字段名。例如,将 INEM 改成 MailAddress,将 INFN 改成 FirstName,等等。
  3. 在 Excel 中,将 .xls 类型的电子表格保存为以 .wk4 为扩展名的 Lotus 1-2-3 文件。
  4. 在 Notes 中,打开您想要导入数据的地址簿。
  5. 在 Notes 菜单上选择 File, Import...,选择 Lotus 1-2-3作为“Files of type:”(文件类型),然后转到并选择您想要导入的 .wk4文件。
  6. 接着,在 Worksheet Import Settings对话框中选择 Contact form,并选择 WKS Title Defined作为“Column format”。选中 Calculate fields on form during document import复选框。
  7. 单击 OK

注意,如果这个电子表格的 CompanyName 一列中的项为空值(没有任何字符的空值)将会有如下的错误信息:

Field: 'DisplayAddress': Incorrect data type for operator or @Function: Text expected
            

在将空值的项置为空格或一个点号后再保存这个表格,则这个电子表格的导入将不会出错。

问:我们使用 Domino LDAP 向 WebSphere Portal 4.2 进行认证。对一些用户的认证非常地快,但是对其他用户却要花很长的时间。对于如何排除这个问题有什么建议吗?

答:您可以启用 Portal 中的用户管理和访问控制跟踪功能来收集用户认证过程中具体操作的详细信息。这个日志输出被写到 Portal Server 的 LOGS 目录下。注意,启用这两个跟踪选项将会在 logs 中产生大量的输出,所以在您执行测试时启用它们,测试完成后要立即禁用。

当一个用户登录的时候,Portal 会同时创建一个会话概要文件,其中包括用户所属的所有的群组。执行这个操作的方法是 com.ibm.wps.puma.beans.UserWMSBean findNestedGroupByUser 。这个方法可以确定用户所属的每一个群组,然后对该群组执行一个 LDAP 查找来查看它是否嵌套在其它的群组中。这个过程将持续下去直到到达嵌套的最顶层。群组的数目越多,嵌套越深,则完成方法调用的时间也就越长。

要这一过程所耗费的时间最少,就要尽可能地使群组结构“扁平化”,或者限制用户所属群组的数量。

问:我想要配置 NotesView portlet,但是在编辑 portlet 属性时,我无法浏览服务器的数据目录并获取数据库的列表,或是获取给定数据库中的视图列表。但是如果我手动地输入数据库的路径和视图名称,则 portlet 可以很好的工作。

答:许多 Notes portlet 的配置需要在服务器上启用 Domino IIOP 进程。为使其正确的载入和运作,您必须配置 Domino 服务器来支持它。

编辑每一个必须运行 Domino IIOP 的 Domino 服务器的服务器文档:

  1. Basics选项卡上,确定 Fully qualified Internet host name域包含了服务器主机名,并且主机名可由服务器来解析(在 DNS 或者服务器上的 HOSTS 文件中)。
  2. Security选项卡上,在 Run restricted Java/Javascript/COM域中输入所有被授权从此 Portal 访问服务器的所有用户的专有名称或群组名。
  3. Ports -> Internet Ports -> DIIOP选项卡上,确定 TCP/IP port number63148 (Linux 系统上为 60148 ),TCP/IP 的端口状态为 Enabled
  4. 选择 Save & Close提交修改。

下一步,确保每个服务器的 NOTES.INI 配置文件已更新为在启动时载入 Domino IIOP 任务。编辑这个文件,搜索以 ServerTasks= 开头的那一行,然后将 DIIOP 追加到这一行的行尾。保证在启动载入的任务列表中 HTTP 项在 DIIOP 项之前。

为使 portlet 能够浏览 Domino R5 服务器上的数据目录,还需要对服务器文档作一项修改。在 Internet Protocols -> HTTP选项卡上, Allow HTTP clients to browse databases域必须置为 Enabled。缺省情况下这个域是禁用的,而且出于安全原因,多数 Domino 管理员反对启用它。

问:我已经通过 LTPA 在 WebSphere Portal 和 Domino 之间启用了单点登录,但是使用 Notes portlet 访问 Domino 服务器上的数据库时仍会有问题。如果我用 Web Page portlet 通过 iFrame 访问同样的数据库则一切正常。

答:检查您登录使用的标识符。如果它存在于 Domino 用来进行认证的一个可信赖的目录中,但密码与您登录 Portal 所使用的密码不符,那么通过 Notes portlet 的认证就会失败。即使您拥有一个有效的 LTPA 令牌(具有该用户的正确的专有名称),认证失败也是会发生的。

当您登录到 WebSphere Portal 上,Portal 在整个会话期间缓存您登录用的用户标识和密码,以便用户标识和密码可用于后端应用程序的认证。某些 Notes portlet 利用了这一功能,调出缓存的标识并将它们传递给 Domino 服务器来对用户进行认证。如果 Domino 目录中有一项与传入的用户标识相符,这些 protlet 就不再用 LTPA 进行认证。

要避免这个问题,或者从人员档案中删除登录标识,或者确保 Internet 密码在 Portal 的 LDAP 目录和 Domino 目录之间保持一致。

问:我需要将 QuickPlace 服务器管理员变更为一个新的用户。最好的方法是什么?

答:对于 QuickPlace 2.0.8,您可以使用一个命令行工具来添加一个超级用户(Super User),该超级用户对 QuickPlace 服务器以及该服务器上定义的所有场所都拥有管理员权限。这个可执行文件在 QuickPlace 程序目录中(缺省目录为 C:\QuickPlace )。添加新的超级用户的语法为:

nquickplaceadmin superuser -u <username>
            

添加一个具有超级用户权限的群组,其语法为:

nquickplaceadmin superuser -u <groupname> -g
            

对于 QuickPlace 3.0,指定超级用户访问权限是由 qpconfig.xml 文件控制的。下面所示是该 xml 文件的一个例子:

<server_settings>
            <super_user enabled="true">
            <dn>cn=John Doe,ou=Foo,o=Bar</dn>
            </super_user>
            </server_settings>
            

关于指定超级用户的两个重要说明:

  1. 您必须使用目录中的唯一用户名或群组名。
  2. 您不能使用服务器上任何场所的成员的名字。

问:Sametime 和 QuickPlace 可以在同一个服务器上运行吗?

答:只有 iSeries 系列服务器支持将 Sametime 3.0 和 QuickPlace 3.0 安装在同一个服务器上。但是,仍然推荐您将两个产品分别安装在不同的 Domino 分区上。

不支持在同一个 AIX 服务器上运行 Sametime 3.0 和 QuickPlace 3.0。

不能在同一个 Windows 服务器上运行 Sametime 3.0 和 QuickPlace 3.0。

可以在同一个 Windows 服务器上安装 Quickplace 2.0.8 和 Sametime 2.x,但您必须按照如下顺序安装各个组件:

  1. 安装 Domino 5.0.8。
  2. 安装 Sametime 2.x 并确认 Sametime 工作正常。
  3. 安装 QuickPlace 2.0.8。

此外,尽管在技术上是可行的,这种配置并不被推荐或支持。

问:我是一个 Lotus Notes 开发人员,目前正在研究是否可以在我们公司的错误管理系统中使用 WebSphere Portal。我可以与您联系并获得详细信息吗? (提问人:Rena)

答:如果您将您的电子邮件地址发送到 wsdd@us.ibm.com,我们将让我们的技术销售代表与您联系。

0
相关文章