剑客
关注科技互联网

在不同 IBM WebSphere Portal 应用程序之间共享数据

IBM® WebSphere® Portal 包含一个个性化 (PZN) 业务规则引擎,用于根据用户属性或其他条件来选择和呈现特定内容。WebSphere Portal 包含一些适合立即使用的应用程序对象。这些对象向这个规则引擎公开一些信息,比如用户历史、会话或请求信息。本教程将介绍如何使用Personalization API 配置 Shared Data Application 对象,并使用该对象在不同 Portal 应用程序之间共享数据。

Shared Data 应用程序对象是预先安装的应用程序对象之一,可与 IBM WebSphere Portal 中的 Personalization 规则结合使用。您可以使用此对象在不同浏览器请求之间共享数据,例如,在需要在 WebSphere Portal Web 应用程序之间共享复杂数据时。Shared Data 对象的属性存储在一个专用对象中,而该对象存储在用户的会话对象上。因此,这个对象的范围受会话限制,可供用户在其整个会话中使用。在 IBM 知识中心中进一步了解 Data Sharing 应用程序对象

使用此对象的一个优势是,它允许代码在不同请求之间共享复杂的数据对象。请求对象属性还可用于将信息传递给 Personalization 规则。但是,代码通常具有不同的请求对象。一个请求对象中设置的值可能对其他请求对象不可见。类似地,一个应用程序中的 portlet 可能无法访问其他 portlet 的 HTTP 请求。

示例场景

本教程将通过一个简单的示例,介绍如何结合使用 Shared Data 应用程序对象和 Personalization 可视性规则。该对象在主页上被初始化,该对象的属性也在主页上设置。然后,创建 Personalization 可视性规则。在此示例中,该规则基于对象上一个属性的值来控制显示还是隐藏页面或 portlet。此规则可添加到其他页面,比如自定义登录页面的子页面或该子页面上的任何 portlet。在此示例中,该子页面或 portlet 始终向所有经过验证的用户显示,因为该对象属性被设置为一个常量。但是,也可以使用更复杂的动态条件来确定该属性值。例如,可以依据用户所属的 Portal 组将该属性设置为不同的值。

1

设置 Shared Data 应用程序对象的属性

要在 JSP 页面(例如在文件 Theme Default.jsp 中)设置 Shared Data 应用程序对象的属性,可以使用 Personalization API,如清单 1 中的 Java 脚本代码所示。

清单 1. 设置 Shared Data 应用程序对象的属性

...
<%@page
import="com.ibm.websphere.personalization.context.PersonalizationContext"%>
<%@page
import="com.ibm.websphere.personalization.RequestContext"%>
<%@page
import="com.ibm.websphere.personalization.applicationObjects.SharedDataApplicationObject"%>
<%SharedDataApplicationObject sharedOne = new
SharedDataApplicationObject();RequestContext requestContext =
PersonalizationContext.getRequestContext(request,
null);sharedOne.init(requestContext);sharedOne.put("isPreferred","true");%>
...

此代码初始化 SharedDataApplicationObject 并将 isPreferred 属性设置为 true。

2

向 Shared Data application 对象添加一个属性

在 PZN 业务规则编辑器中,采用与图 1 中所示请求或会话对象相同的方式,将 isPreferred 动态属性添加到 Shared Data 对象。然后,您可以将它添加到一条规则中。

图 1. 为 PZN 规则选择一个动态属性

在不同 IBM WebSphere Portal 应用程序之间共享数据

在不同 IBM WebSphere Portal 应用程序之间共享数据

3

将对象属性添加到 PZN 规则中

将 Shared Data isPreferred 属性添加到一条 PZN 可视性规则中,并将此规则添加到 WebSphere Portal 页面或 portlet。该可视性规则根据 isPreferred 属性的值来向经过验证的用户显示或隐藏 portlet 或页面。如果 isPreferred 的值为 true,则该页面或 portlet 可见,否则隐藏它们。因为 isPreferred 值在此示例中设置为 true(图 2),所以可视性规则始终向经过验证的用户显示关联的页面或 portlet。

图 2. 在 PZN 可视性规则中使用 Shared Data 应用程序对象

在不同 IBM WebSphere Portal 应用程序之间共享数据

在不同 IBM WebSphere Portal 应用程序之间共享数据

结束语

本教程介绍了如何使用 IBM WebSphere Portal 的 Personalization API 来初始化一个 Shared Data 应用程序对象,然后将它用在一个可视性规则中。通过使用 Shared Data 应用程序对象,Portal 应用程序可在其他 Portal 应用程序中的 HTTP 请求之间共享复杂的数据对象。

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址