什么是远程 Portlet Web 服务?
远程 Portlet Web 服务 (Web Services for Remote Portlets,WSRP) 是 OASIS 创建的 Web 服务标准,它允许在门户或其他中间 web 应用程序中提供可视化的、即插即用的、面向用户的 web 服务。BEA Systems一向是 OASIS 技术组WSRP 1.0标准的积极成员,为推动标准的进一步增强而不懈努力。
面向用户的 web 服务,或面向表示的 web 服务提供了应用逻辑和表示逻辑。标准 web 服务或面向数据的 web 服务包括业务逻辑,但缺少表示逻辑,因此需要每个客户端实现它自己的表示逻辑。
这种方法在大多数情况下都适用,但对于动态集成业务应用程序却不太适合。例如,如果要在商业门户中集成订单状态 web 服务,则需要编写代码以在门户中显示订单状态服务的结果。使用 WSRP,您可以将表示逻辑包含在 web 服务中。通过提供一组面向表示的服务,可以动态完成应用程序和服务的聚合。您不再需要为了实现集成而开发表示逻辑。只需在商业门户中预先确定的位置请求将订单状态服务显示为 portlet。
WSRP 在业内有着强大的支持。此标准涉及到的一些公司有:BEA、IBM、Oracle、SAP 和 Sun。有关 WSRP 的完整信息,请访问:www./committees/wsrp。
WSRP 的优点
· 不仅提供 Web 服务数据,还提供 Web 服务表示。
· 互操作性
· 可移植性
· 包含部署选项
· 受到行业中各大公司的支持
WSRP 和 BEA WebLogic Portal
WSRP 引入了 portlet Producer 和 protlet Consumer 的概念。使用 WebLogic Portal,您可以作为 WSRP Producer 和/或 WSRP Consumer 来启用项目。通过使用 WSRP,客户将能够在 Weblogic Portal 中作为 Producer 公开 portlet 应用程序。客户还能够以 Consumer 的身份在 Weblogic Portal 中集成 WSRP 相容 portlet,从而整合应用程序功能。最终用户将能够与 Consumer 交流,来查看集成的应用程序。简单的说,就是:
a. Consumer 将 WSRP 兼容 portlet 整合到门户中,同时管理与最终用户的交互。
b. Producer 管理基于 WSRP 并由 Consumer 调用的 portlet。
1. Consumer 发现了一个 Producer。
2. Consumer 和 Producer 之间建立了关联。
3. Consumer 获得了 Producer 的所有功能。
4. 最终用户与 Consumer 建立了关联。
5. Consumer 为用户整合页面与 portlet。
6. 最终用户向 Consumer 发送页面请求。
7. Consumer 向 Producer 请求信息。
8. Producer向 Consumer 提供逻辑和数据。
9. 最终用户看到整合页面。
BEA 实现概述
在 BEA 实现中展示的WSRP有四个主要步骤:
· 注册:Consumer 在 Producer 中注册。Producer 用唯一句柄识别每个 consumer。此句柄可帮助识别特定 consumer 可用的 portlet。
· 服务描述:描述显示 Producer 必须提供的信息。它可以让 Consumer 发现 Producer,还可列出可从 Producer 处获得的可用功能及属性。它还列出可用的 portlet。Producer 是 portlet 的资料库。
· 标记和用户交互:请求时间操作以启动或结束会话。它获得消息主体中返回的 portlet 标记。并向 portlet 提交用户的交互请求。
· Portlet 管理:Producer 可能允许复制、定制和删除 portlet。定制功能允许门户管理员管理远程 portlet 的 portlet 参数选项。
基于 WSRP 的 portlet 的 portlet 生命周期包括开发时间功能和部署时间功能。
o Producer 端:开发人员能够使用 Java 页面流公开其功能。使用 .portlet 文件将应用程序转化为 portlet,并配置任何与之相关的属性。开发人员其实不需要知道 WSRP。
o Consumer 端:首先,开发人员必须添加一些 WSRP jar 以启动应用程序。然后,声明应用程序中将要使用的 可用Producer。他们可以从 Weblogic Workshop 创建一个基于 Producer 服务描述文件的代理 portlet。此时,他们可以选择一个特定的 portlet、配置一些选项和创建新的 portlet。然后,他们可以将基于 WSRP 的 portlet 拖放到门户中。
o Producer 端:对于现有的应用程序,客户只需添加一些新的 jar 便可以启动 WSRP 功能。可能有一些与 Producer 相关的属性需要配置。此项操作也可能已经在开发时间使用 Weblogic Workshop 执行完毕。安装 WSRP 后,将对新的应用程序进行自动配置。
o Consumer 端:这种体验可能与当前的“门户管理”相似。必须添加 WSRP jar 以支持 consumer 端的 WSRP。有两个新控件可用于支持远程 portlet:ProxyPortlets 和 ProxyPortletContent。
其他主题
o Producer-Consumer 会话是与用户会话连接在一起的。Producer 上的 Portlet 可能会根据配置共享数据。
o Consumer 管理 Producer 所需的 cookie。
o URL 重写是基于 WLP 8.1 URL 模板的。可能会在 Consumer 端或 Producer 端重写 URL。
o URL 可能由 Producer 或 Consumer 进行编写。
o Consumer 为 producer 重写提供了 URL 模板。
o Producer 为 Consumer 重写在标记中插入了记号。
o WSRP 规范中没有直接提到安全性。此规范鼓励开发人员使用现有的标准,如:WS-Security、SAML、XML Signatures 及 XML-Encryption。WSRP 1.0 可以与协议层的安全性 SSL 一起使用。
互操作性
BEA 在内部和外部进行了广泛测试,用以确保与其他 WSRP 标准参与者的互操作性:
· 内部:BEA 对提供的 WSRP 功能进行了全方位的测试。
· 外部:BEA 提供了一个可用的公共 Producer,以供其他 WSRP Consumer 测试。BEA 还构建了使用 IBM、Oracle 及 Citrix Producer 的 Consumer。
WSRP 标准站点 http://www./committees/wsrp/
WSRP 概要 http://www./committees/download.php/1273/wsrp-overview.ppt
dev2dev BEA WebLogic Portal 页面: http://dev2dev./products/wlportal81/index.jsp
BEA WebLogic Portal 文档站点: http://dev2dev./products/wlportal81/index.jsp
BEA WebLogic Portal 产品页面: http://www./framework.jsp?CNT=index.htm&FP=/content/products/portal
本文原文URL: http://dev2dev./products/wlportal81/articles/wsrp.jsp |