商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

扩展WebSphere Portal V6个性化功能

【IT168技术文档】

    IBM®WebSphere® Portal(以下称为 WebSphere Portal)包括一个以内容为目标的个性化业务规则引擎。从 WebSphere Portal Version 6 开始,您就可以轻松地将一条规则附加到 Portlet 或页面以指明该页面或 Portlet 何时应该是可见的。如果没有输入数据,那么规则将毫无意义;WebSphere Portal 中包括几个即时可用的对象,可用于访问门户用户数据库、Portlet 配置数据、请求、会话和规则中的日期信息。对于一个自包含的门户解决方案来说,通常这些内容就足够了。

    随着公司门户规模的增大,大多数门户所有者都希望能够使用分散在整个组织范围的现有用户数据。尽管对于大多数常用的 LDAP 来说,WebSphere Portal 的用户数据库是可配置的,但是您的用户数据还可能位于遗留系统、各种关系数据库、仓库数据库、LDAP、专门的 CRM 软件数据库、以及许多其他位置。您可能还希望在规则中使用一些其他的、非用户数据。例如,如果您的业务不能满足某些关键的指标,您可能希望在执行仪表板中显示附加的 Portlet。本系列文章可以帮助您向编写业务规则的非技术用户公开外部信息。

    系统要求

    要完成本系列教程中的内容,您需要 Rational Application Developer V6.0.1.1 或更高版本、WebSphere Portal V6.0 或更高版本。

    了解 Personalization 扩展

    您可以使用下面两种机制之一将信息公开给规则引擎:应用程序对象 和资源集合。在这个部分中,您将看到应该在何时使用其中每种机制。

    应用程序对象

    应用程序对象允许您使用附加的“当前”信息来扩展 WebSphere Portal Personalization(以下称为 Personalization),例如:

    用户信息
    用户历史和交易
    位置信息
    购物车信息
    会话或请求信息
    业务流程的状态
    业务性能统计信息
    资产统计信息和状态
    断电或系统故障中断信息
    紧急状态
    日期和时间
    天气
    来自另一个规则系统的输出

    应用程序对象的属性可以进行配置,可以在可见性规则中使用,或在选择规则中用作需要进行匹配的值。您可以使用所有这些信息来决定 Portlet 或页面何时是可见的,或者决定要在 Portlet 中显示哪些内容。通常来说,应用程序对象要比资源集合更容易实现,这是因为它们不需要对 Personalization 接口有更多的了解。

    使用应用程序对象

    应用程序对象是会话或请求中的 Java 对象。规则引擎根据您指定的键查找会话或请求中的对象。

    规则编辑器将对应用程序对象的 Java 类进行自检,以确定在编辑器中显示哪些属性。例如,如果该对象是一个具有公开方法 getDiscountCode 的购物车,那么您将在规则编辑器中看到一个 discountCode 属性。可用的操作符可能因属性类型不同而有所不同。在某些情况下(如日期、时间和带时间戳的属性),将根据该属性的 Java 类型自动为输入字段提供一些专门的值。

    您还可以为应用程序对象 Bean 实现一个 BeanInfo 类。如果是这样,那么 Personalization 将在规则编辑器中显示 BeanInfo 的显示名称。您还可以使用 BeanInfo 在规则编辑器中隐藏某些属性,只需要让您的 BeanInfo 不为这些属性返回 PropertyDescriptor 即可。

    要更改这些示例类,可以添加您自己的 getter 或者 read 方法,它们用于获取您希望在规则中使用的数据。例如,在第二个教程中,您将建立一个 getter 方法,它可以用来从 Web 服务检索数据。在这个示例中,该应用程序对象用作 Web 服务中数据的 Facade。通常,Web 服务所公开的接口过于复杂,以至于编写规则的人很难直接使用。使用应用程序对象作为其他地方存储的数据的 Facade,这是一种比较常见的模式。

1 2 3 4
【内容导航】
第1页: 使用应用程序对象 第2页: 定位应用程序对象
第3页: 资源集合 第4页: 使用资源域
©版权所有。未经许可,不得转载。
[责任编辑:振宇]
[an error occurred while processing this directive]