門戶網站是用戶訪問不同來源的信息和應用程序的焦點。一般來說,門戶網站從本地或遠程數據源(例如,從數據庫、事務系統、聯合內容提供者或遠程 Web 站點)獲取信息。它們加工此信息并將其聚集到復合頁中,用一種簡潔、容易的使用形式為用戶提供信息。除了純粹的信息之外,很多門戶網站還包括一些應用程序,如電子郵件、日程、管理器、銀行業務、帳單顯示等等。各種不同的信息和應用程序需要不同的加工和選擇機制,但它們都依賴于門戶網站的基礎結構,并影響門戶網站所擁有的數據和資源,如用戶簡檔信息、持久存儲或對受管內容的訪問。因此,幾乎目前所有的門戶網站實現都提供一種組件模型,它允許將稱為 Portlet 的組件插入到門戶網站基礎結構中。
下面給出了一個示例來說明portlet 和 Web 服務的分布式門戶網站解決方案(如圖1),其中的某企業擁有一個門戶網站(Portal)。門戶網站有一個搜索(Search)和新聞 (News)portlet,它運行在本地 portlet 容器中,而銀行(Bank)和股票(Stock)portlet 是遠程運行的,由門戶網站通過 portlet 代理(Proxy)訪問。
顯然,從一個門戶網站的角度來看,如果 Web 服務是包括表示和應用程序邏輯的可視的面向用戶的服務(如圖1所示),那就方便多了。如果存在一個標準化的 Web 服務接口,這種可視的、面向用戶的 Web 服務就可以通過門戶網站一端的通用 portlet 代理來調用了。使用通用 portlet 代理消除了為每個 Web 服務插入到門戶網站中,而開發特定的 portlet 的需求。Portlet 可以被動態地添加到環境中,用戶得到的好處是他們可以及時地獲得更多可用的服務。還可以在 portlet 中包括另外的遠程 portlet,只要找到這些 portlet ,并通過創建一個綁定到可視的、面向用戶的服務的新的 portlet 代理實例來綁定它們就可以了。通過使用 portlet 代理,用戶就可以在門戶網站中看到可視的、面向用戶的遠程 Web 服務,還可以象選擇本地 portlet 一樣選擇它們。