从WebLogic Portal 8.1 SP3开始,有两种新方法能使打包在WAR文档中的portlets可以在门户中被访问。您可以将portlets集成为已有门户web应用的一部分,或者选择将portlets放在单独的web应用中。我们将分别利用Portlet Preparer Tool和Web services for Remote Portlets(WSRP)来展示这两种方法。您可以根据自己的需求选择最适合的方式: · 单一WAR文件——使用portlet preparer 工具将WAR内容集成到现有项目中。如果您正在使用一小部分第三方portlets和您自己的门户项目,这种方式比较适用。 · 多个WAR文件——利用WSRP,可以将portlets保存在一个单独的WAR中,并从目标门户项目中引用它。如果您有大量项目拥有多个第三方portlets,最好考虑这种方式。
单一WAR文件——使用Portlet Preparer工具 这个工具从包含在WAR文件中的JSR168 portlets中创建.portlet文件,因此允许WebLogic Workshop将此文件的内容导入到一个门户Web项目中。运行preparer 工具的步骤是简单而直观的,有如下两种可选方式: · 将portlets添加到一个新的项目。 · 将portlets添加到一个现有门户项目中。
将portlets添加到一个新的项目 1. 将portletConverter.jar解压缩到硬盘的一个临时目录中(以下我们称此目录为<converter-root>)。 2. 将WAR文件移到<converter-root>中。 3. 将WEBLOGIC_HOME设置为env.sh 或者 env.bat(依平台而定)。 4. 运行env.sh 或者 env.bat(依平台而定)。 5. 运行ant -Dwar.file=(<war-file-name>是WAR文件的文件名)。 6. 在<converter-root>下生成一个叫做tempDir的目录。 7. 打开WebLogic Workshop并将tempDir作为一个门户Web项目导入。
要在现有门户Web应用中添加portlets,需要完成以下步骤: 1. 完成上述的第1-7步。 2. 复制所有必需的类文件到WEB-INF\classes目录,同时复制所有必需的jar文件到WEB-INF\lib目录。 3. 对web.xml作必要的修改(例如:servlet定义)。 4. 向每个加入的portlet的portlet.xml文件中添加元素(这些拷贝来自前面创建的tempDir 目录中的portlet.xml)。 5. 从tempDir\portlets中拷贝.portlet文件到您的Web应用中。 6. 将portlets添加到您的门户。
· WSRP 概述: http://dev2dev./products/wlportal81/articles/wsrp.jsp · (下载WebLogic Portal 8.1 SP3) http://commerce./index.jsp
1. 创造一个不同的新门户项目。并按“将portlets添加到一个新的项目”中所描述的七个步骤来操作。 2. 启动门户示例的域,并登录到以下Administration Portal中:http://localhost:7001/portalAppAdmin . 3. 在Portals标签下,点击左边的Library。 4. 当树展开时,点击Portlet Producers图标。 5. 当producer资源面板出现在右侧后,点击“Browse/Add Producers”标签。 6. 在“Enter Producer to Browse”框中输入:http://localhost:7001/<new portlet war file>/producer?wsdl,点击“ok”。 7. 此时您将看到一列producer的属性,包括可用的portlet。点击“Add Producer”并且填写注册区域。 8. 注册之后,您将处于“ Available Producers ”窗口中。在“ Available Producers”框中,点击“Register”按钮,在对话框中,点击“Save”。 9. 点击您注册的Producer,并从门户中选出需要引用的portlet。
在此场景中,SamplePortal将扮演一个消费者的角色,而您的其他web应用将成为producer角色。 使Pluto Test Suite Portlets在SamplePortal中可用 在下面的例子中,我们从Apache下载了Pluto test portlets(JSR 168 - test suite)。接下来,我们创建一个新的web应用,使用portlet工具来导入WAR文件,最终使用WSRP来使他们在门户web应用中可用。 1. 从Apache上下载最新的Pluto test suite portlets(出于方便起见,本文中我们附带了一份拷贝)。 2. 使用 Portlet工具使WAR 为WebLogic Workshop导入做好准备。 注意,图中.portlet文件已经创建,同时WAR也已做好导入的准备。 3. 执行作为一个门户项目(获得168支持)的WAR文件的导入步骤。在Workshop中从您的应用点击导入选项就可以实现。
这时,您已经创建了一个新的web应用,并导入了168 portlets。现在让他们可以在其他web应用中使用。这个例子使用了SamplePortal web应用。有两种方式可以将这些portlet带入SamplePortal。您可以在Workshop中使用portlet wizard为新建的web应用创建一个引用,另外,您也可以在管理门户中创建一个引用。 下面的步骤将使用管理门户。确保已有一个门户和创建好的桌面。在这个例子中,可以使用SamplePortal模板生成一个门户“P1”和一个桌面“D1”。 1. 登录到管理门户。 2. 在SamplePortal中添加一个新页面,并且命名为Pluto Test。 3. 进入库中,选择portlet producers,并添加一个新的producers。 4. 输入地址:http://localhost:7001/<new_web_app>/producer?wsdl 5. 执行添加producer并且注册。 6. 返回并选择需要添加的portlet。在这个例子中,我们选择了“Test Portlet #1”,它是Pluto Test suite的一部分。 7. 切换到desktop“D1”,并选择添加一个portlet,选择“Test portlet #1”。
其他需要考虑的事项 |
|
来自: smoking_boy > 《Portal》