» 搜索提示 
 
部署 Portlet 应用程序
 
作者:Beth Stearns,2005 年 6 月  
随着 Sun Java Studio Creator 2 IDE(以后称为 IDE,它包含对 JavaServer Faces Portlet 的支持)的引入,开发者可以创建 Portlet 应用程序,并将这些 Portlet 部署到任何符合 JSR-168 的 Portlet 容器中。将 Sun Java Studio Creator 2 开发的 Portlet 部署到 Sun Java Portal Server 6 是一项非常容易的操作。本文将介绍如何执行这些步骤。
 
目录
 
准备部署 Portlet
在 Portlet 服务器上部署 Portlet
 
 
准备部署 Portlet

可以在 Sun Java Studio Creator 2 IDE 上开始执行 Portlet 开发和部署过程。IDE 提供了一个功能全面的开发环境来创建稳定可靠的 Portlet(如果您不了解有关开发 Portlet 的 IDE 功能,则应该阅读“Portlet 功能简介”一文)。

与开发大多数应用程序一样,开发 Portlet 也是一个迭代的过程:需要编写 Portlet 的某一部分,然后对其进行测试并修改,并且添加其他功能。在这一迭代开发和测试过程中,IDE 将 Portlet 部署到其内置的 Portlet 容器中以运行该 Portlet。

完成 Portlet 的开发和测试后,即可准备将其部署到 Sun Java Portal Server 6 产品服务器中。以下是具体的操作步骤。

  1. 导出 Portlet WAR 文件。

    在“项目”窗口中,右键单击 Portlet 节点,然后从上下文菜单中选择“导出 WAR 文件”选项以打开“导出 WAR”对话框(请参见图 1)。

    图 1:“导出 WAR”对话框
    图 1“导出 WAR”对话框
     
  2. 选择 J2EE 平台。

    您需要选择与运行 Sun Java Portal Server 6 的目标 Web 容器平台相匹配的 J2EE 平台(J2EE 1.4 或 J2EE 1.3)。如果您无法确定如何选择平台,请咨询门户管理员以获取相应的平台信息。

  3. 在本地系统上为 WAR 文件选择文件名。

    为导出的 WAR 文件选择文件名,然后单击“确定”。

    IDE 将生成 Portlet WAR 文件,并在生成过程完成后显示“成功生成”消息(如果该过程失败,IDE 将显示相应的错误消息)。

  4. 将 WAR 文件复制到 Sun Java Portal Server 6 的目标安装系统上。

    成功完成生成后,可以将 Portlet WAR 文件(如通过 FTP)复制到目标系统上。请注意,可以在项目目录的 dist 目录中找到导出的 WAR 文件,即 <项目名称>/dist/<Portlet 名称>.war

在 Portlet 服务器上部署 Portlet

请注意,您已将 Portlet WAR 文件复制到目标系统上,现在可以执行部署步骤了。除非另有说明,否则,请在运行 Sun Java Portal Server 的目标系统上执行以下步骤。

  1. 运行 pdeploy 以将门户部署到门户容器中。

    在目标系统上,运行命令行功能 pdeploypdeploy deploy 命令将 Portlet 部署到 Sun Java Portal Server 6 Portlet 容器中。pdeploy 的语法是:

    pdeploy deploy -u uid -w password {-g|-d dn} -p webcontainerpassword warfile
    

    pdeploy 中指定的 warfile 是从 Java Studio Creator 中导出的 WAR 文件的名称。pdeploy 的选项有:

    -u   指定用于绑定到 Sun Java System Directory Server 的用户标识名。
    -w 指定用于绑定到目录服务器的用户标识名的口令。
    -g 在 LDAP 中指定全局级别节点以访问显示配置文件文档。-d
    或 -g 选项是必需的。
    -d 在 LDAP 节点中指定标识名称以访问显示配置文件文档。-d 或 -g 选项是必需的。
    -p 指定 Web 容器的口令。

    (有关 pdeploy 的完整描述,请参见《Sun Java System Portal Server 6 2005Q1 Technical Reference Guide》(Sun Java System Portal Server 6 2005Q1 技术参考指南)中的第 11 章)。

    以下示例说明了为名为 Portlet1.war 的导出 WAR 文件使用 pdeploy 命令的语法:

    /opt/SUNWps/bin/pdeploy deploy \
    	-u "uid=amAdmin,ou=People,dc=sesta,dc=com" \
    	-w admin \
    	-p sunjava \
    	-d "dc=sesta,dc=com" \
    	/tmp/Portlet1.war
    

    成功执行 pdeploy 后,它将显示以下两行消息:

    显示配置文件更新完毕!正在将 WAR 文件部署到 Web 容器中...
    成功。
    

    注意:在运行 pdeploy 以重新部署相同的 Portlet 应用程序之前,必须先运行 pdeploy undeploy 来取消部署 Portlet。

  2. 使用 Sun Java System Access Manager 管理控制台来更新门户服务器显示配置文件,然后为 Portlet 注册频道。

    接下来,您需要更新门户服务器显示配置文件,为 Portlet 应用程序注册频道并将该频道放在某个容器中,以便在门户桌面上显示该频道。可以使用 Sun Java System Access Manager 管理控制台来完成此操作,其缺省位置为 http://host:port/amconsole

    下面介绍了为 Portlet 注册频道的步骤:

    1. 以管理员身份登录到 Sun Java System Access Manager 管理控制台。登录后,控制台将在位置窗格中缺省选择“标识管理”,并且在导航窗格中显示所有创建的组织。

    2. 选择要添加频道的组织、子组织或角色。以委托管理员身份登录后,控制台将自动转到您具有管理访问权限的组织、子组织或角色。
    3. 在导航窗格的“视图”菜单中选择“服务”。

    4. 打开“门户桌面”属性页。在导航窗格中,单击“门户桌面”旁边的属性箭头。这将在数据窗格中打开“桌面”属性页。

    5. 在“桌面”页中单击“管理频道和容器”链接。将显示“频道”页,其中容器路径被设置为根级别。

    6. 单击“新建 Portlet 频道”以打开“新建频道”页,然后将 Portlet 频道添加到显示配置文件的根目录中。

    7. 在“新建频道”页中输入频道名(遵循页面中介绍的规则),然后选择 Portlet 标识符。Portlet 标识符菜单列出了从 IDE 中导出的 Portlet。

    8. 单击“确定”以创建频道。将显示“频道”页。可以滚动到频道列表以查看刚创建的 Portlet 频道。

  3. 将刚创建的频道添加到容器中,以便在门户桌面上显示该频道。

    要在门户桌面上显示新频道,则需要将其添加到容器中。也可以使用 Sun Java System Access Manager 管理控制台来执行此操作。下面介绍了如何将频道添加到容器中的步骤。

    1. 在“频道”页顶部的容器频道列表中,单击要将新 Portlet 频道添加到的容器名称。例如,对于缺省样例门户,MyFrontPageTabPanelContainer 是该门户上前页标签的容器。
    2. 滚动到“频道管理”,然后选择刚创建和注册的频道。单击该选项的“添加”按钮,将频道移动到“在内容页上可供最终用户使用”。在仍然选定频道的情况下,单击该选项的“添加”按钮以将频道移动到“在门户桌面上可见”。单击两个“添加”按钮后,单击“保存”按钮。

注意:更新 Portlet 应用程序的 Sun Java Portal Server 6 显示配置文件后,如果取消部署并重新部署的是相同的 Portlet 应用程序,则无需进一步进行更新,原因是假设保留了相同的 Portlet 和频道名称。

要了解有关管理显示配置文件的详细信息,请参见《Sun Java System Portal Server 6 2005Q1 管理指南》中的第 10 章

相关信息
 
Beth Stearns 撰写了多篇有关 Java 技术的文章和书籍。最近,她与别人合著了一本有关 J2EE BluePrints 的书籍《Designing Web Services with the J2EE 1.4 Platform》(使用 J2EE 1.4 平台设计 Web 服务)。