什么是遠程 Portlet Web 服務?遠程 Portlet Web 服務 (Web Services for Remote Portlets,WSRP) 是 OASIS 創(chuàng)建的 Web 服務標準,它允許在門戶或其他中間 web 應用程序中提供可視化的、即插即用的、面向用戶的 web 服務。BEA Systems一向是 OASIS 技術組WSRP 1.0標準的積極成員,為推動標準的進一步增強而不懈努力。
面向用戶的 web 服務,或面向表示的 web 服務提供了應用邏輯和表示邏輯。標準 web 服務或面向數(shù)據(jù)的 web 服務包括業(yè)務邏輯,但缺少表示邏輯,因此需要每個客戶端實現(xiàn)它自己的表示邏輯。
這種方法在大多數(shù)情況下都適用,但對于動態(tài)集成業(yè)務應用程序卻不太適合。例如,如果要在商業(yè)門戶中集成訂單狀態(tài) web 服務,則需要編寫代碼以在門戶中顯示訂單狀態(tài)服務的結(jié)果。使用 WSRP,您可以將表示邏輯包含在 web 服務中。通過提供一組面向表示的服務,可以動態(tài)完成應用程序和服務的聚合。您不再需要為了實現(xiàn)集成而開發(fā)表示邏輯。只需在商業(yè)門戶中預先確定的位置請求將訂單狀態(tài)服務顯示為 portlet。
WSRP 在業(yè)內(nèi)有著強大的支持。此標準涉及到的一些公司有:BEA、IBM、Oracle、SAP 和 Sun。有關 WSRP 的完整信息,請訪問:www.oasis-open.org/committees/wsrp。 WSRP 的優(yōu)點· 不僅提供 Web 服務數(shù)據(jù),還提供 Web 服務表示。 · 互操作性 · 可移植性 · 包含部署選項 · 受到行業(yè)中各大公司的支持 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 調(diào)用的 portlet。
Producer 被設計為 portlet 的容器。Producer 提供一些服務,如:自我描述、標記、注冊以及 Portlet 管理。Producer 能夠有選擇地管理 Consumer 的注冊,并要求 Producer 在與 portlet 交互之前預先注冊。注冊在 Consumer 與 Producer 之間建立了一種關聯(lián)。
Consumer 在本質(zhì)上與代表最終用戶的路由器是相似的。Consumer 將用戶請求發(fā)送給適當?shù)?/span> Producer。Producer 依次處理這些請求并將結(jié)果發(fā)送回 Consumer。Consumer 將整合來自不同 Producer 的結(jié)果并將最終結(jié)果返回給用戶。由于 Consumer 代表最終用戶,因此在 Consumer 之間存在許多特定于用戶的信息。正如我們所期望的,Consumer 提供了信息間隔,并在互動過程中保護特定用戶所有互動的私有性。
WSRP 最強大的功能之一就是能夠動態(tài)地使用來自其他服務器的應用程序。您可以設置一個 Consumer Portal,并對網(wǎng)絡中可用的、來自 Producer Portal 的不同 portlet 進行動態(tài)查詢和關聯(lián)。結(jié)果將是一個全新的門戶,它能夠動態(tài)地集成新功能以簡化業(yè)務流程和為門戶用戶授權(quán)。
集成后的門戶可以進一步進行個性化設置和定制最終的門戶并返回給用戶。Consumer 在與 Producer 的通信過程中使用 portlet 句柄。如果 Producer 公開其“Portlet 管理接口”,則將允許 Consumer 定制基于 portlet 的特殊 WSRP。
下圖闡釋了啟用了 WSRP 的門戶之間的交互:
1. Consumer 發(fā)現(xiàn)了一個 Producer。 2. Consumer 和 Producer 之間建立了關聯(lián)。 3. Consumer 獲得了 Producer 的所有功能。 4. 最終用戶與 Consumer 建立了關聯(lián)。 5. Consumer 為用戶整合頁面與 portlet。 6. 最終用戶向 Consumer 發(fā)送頁面請求。 7. Consumer 向 Producer 請求信息。 8. Producer向 Consumer 提供邏輯和數(shù)據(jù)。 9. 最終用戶看到整合頁面。 BEA 實現(xiàn)概述 在 BEA 實現(xiàn)中展示的WSRP有四個主要步驟:
· 注冊:Consumer 在 Producer 中注冊。Producer 用唯一句柄識別每個 consumer。此句柄可幫助識別特定 consumer 可用的 portlet。 · 服務描述:描述顯示 Producer 必須提供的信息。它可以讓 Consumer 發(fā)現(xiàn) Producer,還可列出可從 Producer 處獲得的可用功能及屬性。它還列出可用的 portlet。Producer 是 portlet 的資料庫。 · 標記和用戶交互:請求時間操作以啟動或結(jié)束會話。它獲得消息主體中返回的 portlet 標記。并向 portlet 提交用戶的交互請求。 · Portlet 管理:Producer 可能允許復制、定制和刪除 portlet。定制功能允許門戶管理員管理遠程 portlet 的 portlet 參數(shù)選項。 基于 WSRP 的 portlet 的 portlet 生命周期包括開發(fā)時間功能和部署時間功能。 o Producer 端:開發(fā)人員能夠使用 Java 頁面流公開其功能。使用 .portlet 文件將應用程序轉(zhuǎn)化為 portlet,并配置任何與之相關的屬性。開發(fā)人員其實不需要知道 WSRP。 o Consumer 端:首先,開發(fā)人員必須添加一些 WSRP jar 以啟動應用程序。然后,聲明應用程序中將要使用的 可用Producer。他們可以從 Weblogic Workshop 創(chuàng)建一個基于 Producer 服務描述文件的代理 portlet。此時,他們可以選擇一個特定的 portlet、配置一些選項和創(chuàng)建新的 portlet。然后,他們可以將基于 WSRP 的 portlet 拖放到門戶中。 o Producer 端:對于現(xiàn)有的應用程序,客戶只需添加一些新的 jar 便可以啟動 WSRP 功能??赡苡幸恍┡c Producer 相關的屬性需要配置。此項操作也可能已經(jīng)在開發(fā)時間使用 Weblogic Workshop 執(zhí)行完畢。安裝 WSRP 后,將對新的應用程序進行自動配置。 o Consumer 端:這種體驗可能與當前的“門戶管理”相似。必須添加 WSRP jar 以支持 consumer 端的 WSRP。有兩個新控件可用于支持遠程 portlet:ProxyPortlets 和 ProxyPortletContent。 其他主題o Producer-Consumer 會話是與用戶會話連接在一起的。Producer 上的 Portlet 可能會根據(jù)配置共享數(shù)據(jù)。 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 規(guī)范中沒有直接提到安全性。此規(guī)范鼓勵開發(fā)人員使用現(xiàn)有的標準,如:WS-Security、SAML、XML Signatures 及 XML-Encryption。WSRP 1.0 可以與協(xié)議層的安全性 SSL 一起使用。 互操作性 BEA 在內(nèi)部和外部進行了廣泛測試,用以確保與其他 WSRP 標準參與者的互操作性:
· 內(nèi)部:BEA 對提供的 WSRP 功能進行了全方位的測試。 · 外部:BEA 提供了一個可用的公共 Producer,以供其他 WSRP Consumer 測試。BEA 還構(gòu)建了使用 IBM、Oracle 及 Citrix Producer 的 Consumer。 WSRP 預覽技術工具包 BEA Weblogic Portal 小組已發(fā)布了可用的“WSRP 預覽技術工具包”。您可以下載此工具包以了解更多有關 WSRP 如何應用于 Weblogic Portal 的信息。下面是一些使用此工具包可以提供的功能。
(下載用于 Weblogic Portal 的 WSRP Preview Kit)
1. 從工具包中導入 Producer 樣例后,應當有一個索引頁面用于顯示可用的樣例 portlet。
2. 如果訪問該索引頁,您將會看到一個指向樣例 portlet 和 WSDL 文件 (公開為 WSRP Producer) 的鏈接。
3. 此 WSDL 文件定義了服務位置。
4. 您可以從 Weblogic Workshop 中創(chuàng)建一個 Consumer 門戶,然后用 Portlet Wizard 向此門戶中添加“遠程 Portlet”。
5. 在 Portlet Wizard 完成后,您就創(chuàng)建了 Consumer 節(jié)點與 Producer 節(jié)點之間的鏈接。然后,您便可以向門戶中添加遠程 portlet 了。
6. 您可以通過 Consumer 門戶查看來自 Producer 的遠程 portlet。
(下載用于 Weblogic Portal 的 WSRP Preview Kit)
結(jié)束語 BEA WebLogic Portal 小組積極地投入到了 OASIS WSRP 技術委員會中?,F(xiàn)在,您可以通過在 Weblogic Portal 8.1 使用預覽技術,對 WSRP 相容 portlet 和應用程序的 Consumer 方案和 Producer 方案進行查看。
開發(fā)人員有一整套的工具,可以用于創(chuàng)建和部署 WSRP 資源。管理員將能夠動態(tài)集成 portlet 和應用程序。業(yè)務用戶將能夠創(chuàng)建他們自己的應用程序和定制自己的業(yè)務經(jīng)驗。
有用的鏈接 WSRP 標準站點 http://www.oasis-open.org/committees/wsrp/
WSRP 概要 http://www.oasis-open.org/committees/download.php/1273/wsrp-overview.ppt
dev2dev BEA WebLogic Portal 頁面: http://dev2dev.bea.com/products/wlportal81/index.jsp
BEA WebLogic Portal 文檔站點: http://dev2dev.bea.com/products/wlportal81/index.jsp
BEA WebLogic Portal 產(chǎn)品頁面: http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/portal
本文原文URL: http://dev2dev.bea.com/products/wlportal81/articles/wsrp.jsp |