扩展websphere portal v6个性化功能

扩展websphere portal v6个性化功能

ID:23962349

大小:55.50 KB

页数:4页

时间:2018-11-12

扩展websphere portal v6个性化功能_第1页
扩展websphere portal v6个性化功能_第2页
扩展websphere portal v6个性化功能_第3页
扩展websphere portal v6个性化功能_第4页
资源描述:

《扩展websphere portal v6个性化功能》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、扩展WebSpherePortalV6个性化功能  IBM®软件数据库、以及许多其他位置。您可能还希望在规则中使用一些其他的、非用户数据。例如,如果您的业务不能满足某些关键的指标,您可能希望在执行仪表板中显示附加的Portlet。本系列文章可以帮助您向编写业务规则的非技术用户公开外部信息。  系统要求  要完成本系列教程中的内容,您需要RationalApplicationDeveloperV6.0.1.1或更高版本、WebSpherePortalV6.0或更高版本。  了解Personalization扩展  您可以使用下面两种机制之一将信息

2、公开给规则引擎:应用程序对象和资源集合。在这个部分中,您将看到应该在何时使用其中每种机制。  应用程序对象  应用程序对象允许您使用附加的当前信息来扩展WebSpherePortalPersonalization(以下称为Personalization),例如:  用户信息  用户历史和交易  位置信息  购物车信息  会话或请求信息  业务流程的状态  业务性能统计信息  资产统计信息和状态  断电或系统故障中断信息  紧急状态  日期和时间  天气  来自另一个规则系统的输出  应用程序对象的属性可以进行配置,可以在可见性规则中使用,或在选择规则中

3、用作需要进行匹配的值。您可以使用所有这些信息来决定Portlet或页面何时是可见的,或者决定要在Portlet中显示哪些内容。通常来说,应用程序对象要比资源集合更容易实现,这是因为它们不需要对Personalization接口有更多的了解。  使用应用程序对象  应用程序对象是会话或请求中的Java对象。规则引擎根据您指定的键查找会话或请求中的对象。  规则编辑器将对应用程序对象的Java类进行自检,以确定在编辑器中显示哪些属性。例如,如果该对象是一个具有公开方法getDiscountCode的购物车,那么您将在规则编辑器中看到一个discountCo

4、de属性。可用的操作符可能因属性类型不同而有所不同。在某些情况下(如日期、时间和带时间戳的属性),将根据该属性的Java类型自动为输入字段提供一些专门的值。  您还可以为应用程序对象Bean实现一个BeanInfo类。如果是这样,那么Personalization将在规则编辑器中显示BeanInfo的显示名称。您还可以使用BeanInfo在规则编辑器中隐藏某些属性,只需要让您的BeanInfo不为这些属性返回PropertyDescriptor即可。  要更改这些示例类,可以添加您自己的getter或者read方法,它们用于获取您希望在规则中使用的数据

5、。例如,在第二个教程中,您将建立一个getter方法,它可以用来从Web服务检索数据。在这个示例中,该应用程序对象用作Web服务中数据的Facade。通常,Web服务所公开的接口过于复杂,以至于编写规则的人很难直接使用。使用应用程序对象作为其他地方存储的数据的Facade,这是一种比较常见的模式。  定位应用程序对象  当运行一条规则时,规则引擎必须找到该应用程序对象的一个实例。通常,Personalization将根据您在PersonalizationPortlet中定义应用程序对象时指定的键来查找应用程序对象。例如,您可能在会话中使用键yourco

6、.shoppingCart定义了一个购物车对象。然后在执行规则时,规则引擎将调用session.getAttribute(yourco.shoppingCart)以查找您的购物车实例,假定当规则运行时,该应用程序对象位于会话中。  图1.为购物车对象定义一个应用程序对象  在第一个教程中,您将实现SelfInitializingApplicationObject接口。通常,调用规则的代码需要确保会话中存在对应于预期键的对象。创建这样的代码有时是一件麻烦且容易出错的工作。如果该规则是Portlet上的可见性规则,那么调用该规则的代码位于门户服务器中,而您

7、无法随意更改。您可能还希望为规则添加新的对象,而不需要修改所有的调用者。出现错误的一个常见原因是,在调用规则引擎之前忘了将应用程序对象放到会话中。如果使用SelfInitializingApplicationObject,那么就可以避免出现这样的错误。  在实现了SelfInitializingApplicationObject接口的情况下,如果当规则运行时没有找到应用程序对象,那么规则引擎将尝试实例化该对象。这个引擎将自动地为该对象构造的一个新的实例,然后调用其init方法,以便该对象能够有机会根据上下文对象对自己进行初始化。特别是,上下文包含了会话

8、、请求和用户名,这样一来就可以在应用程序对象中使用会话、请求和用户名中的任何信息。123下一页

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。