JBoss Portal

隨著Web套用技術的成熟和企業對入口網站的需求增大,需求的複雜性和變化性增加,原先的基本Web開發技術慢慢難以應付這些變化中的需求,比如我們經常可能會需要局部修改某個頁面的一小部分的形狀與內容,有時候可能有需要修改頁面的布局,而內容並不需要改變,那么在這樣變化頻繁的需求時代,以前的Web套用開發技術讓程式感覺力不從心,客戶的需求隨心所欲難以得到滿足。
作為低成本的集成技術。如果你的網站或企業已經有了很多信息系統,Portal可以很容易的將這些系統集成起來,並以統一的方式提供給用戶,統一可以有流程的統一,如:登入、定製、瀏覽;界面的統一,如:顯示風格登高度的模組化。通過Portal技術提供的plugin技術,可以根據企業,網友的需求編制標準的模組,並嵌入Portal系統,供企業、網友使用。高度的擴展性,已經有了很多產品和標準來制定Portal,作為這些產品和標準,如:jsr-168,通過portlet的概念來對 Portal的功能進行擴展。

JBoss Portal概況:

1. 認識Portal

Portal 顧名思義就是門戶,隨著Web套用技術的成熟和企業對入口網站的需求增大,需求的複雜性和變化性增加,原先的基本Web開發技術慢慢難以應付這些變化中的需求,比如我們經常可能會需要局部修改某個頁面的一小部分的形狀與內容,有時候可能有需要修改頁面的布局,而內容並不需要改變,那么在這樣變化頻繁的需求時代,以前的Web套用開發技術讓程式感覺力不從心,常常抱怨客戶的需求隨心所欲。
此時為了能夠讓套用儘量滿足用戶的可變需求,於是很多人開始開發一些框架來對頁面和其中的內容進行定製,比如讓布局由某一個子程式模組來完成,並且做到可配置,這樣,即使用戶提出需求也容易做到了。但是這樣的程式每一個程式設計師的實現過程、標準都完全不同,為了能夠讓這樣框架有一個統一的標準,於是出現了Portal,基於Java的Portal的標準發展到今天已經是2.0的規範了(JSR-286),遵守這一規範的伺服器框架實現也有了不少,商業產品中有IBM的WebSphere Portal,Oracle的Bea Weblogic Portal,開源套用中最為流行的是JBossPortal。
Portal 中最常用的就是Jboss Portal。JBossPortal提供了一個開源符合標準的門戶平台,可以用其搭建/布局一個入口網站的web界面,發布和管理內容以及定製它的用戶體驗。JBossPortal最新版本中在個性化設定,身份驗證,工作流都進行重大更進。此外還集成了Google gadgets,以提高用戶工作效率。
1.1. 相關概念
Portal:這裡我們說的是具體的Portal伺服器,上面存放著門戶的內容,支持個性話的布局、單點登錄等特性。
Portlet Container:Portlet容器,可以存放和運行無數個Portlet,每一個Portlet容器都擁有它自己的虛擬機環境
Portal Page:由多個Portlet匯集而成,通過某些布局而呈現給用戶內容的一個頁面。
Portlet:一個Portlet是一個基於Java技術的Web組件,由Portlet容器負責管理,能夠處理請求和產生動態的內容輸出。
Portlet Instance:Portlet實例,一個Portlet對象,能夠放置在多個頁面中顯示相同的狀態。
這些內容之間的關係是:一個Portal上可以運行很多個Portlet容器,每一個Portlet容器中可以包含很多個Portlet頁面,每一個Portlet頁面中可以顯示無數個Portlet的動態內容。

2.與以前的普通Web套用相比,Portal提供了如下的一些特性

內容管理與集成:有效的內容管理機制使得我們可以將Web頁面中的內容持久化到Portal中,通過一定的機制將他們組織到一起將企業信息呈現給用戶。而且Portal能夠將來自不同套用的內容集成到一個頁面入口中顯示。
個性化與定製:當多個套用的內容被集成到一個入口中顯示的時候,用戶可能並不關心所有的內容,此時用戶可以將他所關心的內容在頁面中進行排版定製,並且保存下來,以備下次訪問時繼續保持他們最感興趣的樣子。
搜尋服務:Portal能夠提供對集成進來的各種套用的內容提供統一的內容搜尋服務。
統一認證:這是一個非常棒的功能,Portal能夠提供單點登錄,因為Portal提供了集成多個套用到一個入口的能力,那么以前這多個套用被用戶訪問時需要單獨登錄,現在經過Portal的集成,用戶只需要登錄一次就可以訪問所有的套用而不用再次進行登錄了。
協作:一個針對所有企業套用的單一的平台通常比單獨提供每一個套用服務要方便和易於管理。Portal針對多個套用之間的協作能力隨著版本的升級也在不斷提升。

3. Portal有什麼用?

個人認為從兩個方面。一是針對跟人(網友)的套用。由於Portal的特色,企業和網站可以很容易的將自己的服務進行標準封裝,插入Portal系統,提供跟用戶使用。現在很多入口網站和專業網站有很多服務,但是很多服務用戶根本就沒有使用過、發現過,通過Portal的形式給用戶一個集中體驗的場所。二是針對企業,企業可以將現有的信息系統,資源通過Portal來進行封裝,提供給用戶使用。比如:有些公司有報銷系統,考核系統,會議系統,但這些系統都是彼此分離的,使用和界面並不統一,通過Portal可以很容易地將這些系統提供的服務封裝並呈給用戶使用。

JBoss Portal安裝與配置

在進入安裝之前,我們首先需要獲得相關的軟體包,我們可以到JBoss的網站(http://jboss.org/jbossportal/download/index.html)下載相關的軟體,本教程中使用了JBossPortal的2.7.2版本。如果您是學習,那么請按照這個版本下載,如果您是使用,那么可以根據您自身的需要去選擇相應的版本。除了不同的版本之外,JBoss Portal還擁有不同的打包方式,主要包含了三種方式:
1、JBoss Portal與JBoss AS4.2.3捆綁的版本(該版本已經把JBoss Portal與JBoss的套用伺服器捆綁在一起了,可以省去部署的過程);
2、JBoss Portal Binary版本(該版本只是包含了Portal的內容,到時候還需要部署到相應的套用伺服器中);
3、JBoss Portal Source版本(該版本中存放的是JBoss Portal的原始碼,您可以通過編譯或的二進制版本);
這裡我們下載捆綁版本是最為方便的。
接著,我們了解一下JBoss Portal的安裝需求:
1、JBoss Portal可以安裝在JBoss AS4.2.3上面,除此而外,JBoss Portal也可以用於Web Logic或Web Sphere;
2、JBoss Portal是百分百的純java軟體,可以跨越不同的作業系統平台,只要這些平台支持JVM就可以;
3、需要JDK5.0或以上的版本
4、需要512M以上的記憶體
5、需要大概100M左右的硬碟存儲空間
6、至少需要400MHz的CPU
7、JBoss Portal使用了Hibernate作為持久層的訪問實現,由於Hibernate幾乎支持了所有的流行資料庫,因為JBoss Portal也支持了這些資料庫版本。
接著我們開始安裝JBoss Portal服務。請先確保您的系統中安裝了JDK5.0以上的版本,並且設定了JAVA_HOME環境變數。
首先我們安裝JBoss Portal與JBoss As捆綁的版本,這個是最簡單的安裝方式,按照如下步驟進行安裝:
1、將下載的zip檔案(jboss-portal-2.7.2-bundled.zip)解壓縮到您期望的目錄中,比如說:c:\jboss-portal-2.7.2。
2、運行JBoss Portal安裝目錄下的BIN檔案夾中的啟動腳本,在windows下是run.bat,在Linux下是run.sh。在啟動過程中伺服器使用的default配置。如果需要採用其它可選的配置,在運行run.bat的時候需要指定-c選項。
3、打開您的瀏覽器,輸入http://localhost:8080/portal,您將會看到Portal的預設主頁,Portal提供了兩個帳號供用戶登錄。第一個帳號的用戶名和密碼都是user,第二個帳號的用戶名和密碼都是 admin,每一個帳號都有自己相應的主題與訪問許可權。關於許可權我們將會在後續章節討論安全的部分來討論。現在使用這兩個帳號已經足夠我們做實驗了。默認主頁如下圖所示:
為了能夠讓JBossPortal將數據保存在我們自己定義的資料庫中便於管理,我們需要配置一下數據源的設定,現在您可以先停止JBoss伺服器,然後打開JBossPortal的安裝目錄,打開下面的server\default\deploy目錄,在其中您應該可以找到一個檔案:portal-hsqldb-ds.xml,我們將這個檔案複製一份,取名為:portal-mysql-ds.xml,將原來的檔案刪除或者放到其他地方去備份起來,接下來我們準備做的事情是將Portal訪問的資料庫配置成為MySQL的資料庫。如果您對MySQL的操作不熟悉請參考關於MySQL的資料。
首先在MySQL中創建一個database,比如這裡我創建了一個名為:portaldb的資料庫,並且為這個資料庫準備了一個帳號,用戶名和密碼都是 jp,確保能夠使用這個用戶名和密碼連線MySQL資料庫。然後修改portal-mysql-ds.xml的內容如下:
PortalDS
jdbc:mysql://localhost:3306/portaldb
com.mysql.jdbc.Driver
jp
jp
保存這個xml檔案,然後重新啟動您的Portal,在命令行中,您可能還是會看見很多錯誤或警告,不要緊那是因為Portal需要在資料庫中查找表和數據,而我們剛剛創建的資料庫中並不存在相應的表和數據,所以會產生異常,不過放心,在Portal找不到數據內容的情況下,Portal會自己創建資料庫中的表並插入初始數據,您可以使用user帳號或者admin帳號登錄,您會發現登錄沒有問題,這就說明您的配置是成功的。

Portlet 有四種模式

Porlet四種模式:view,edit, help和config

可用的模式根據用戶的角色受到限制。例如,匿名用戶只能使用 view 和 help 模式,而驗證用戶可以使用 edit 模式。
舉例來說,一個用戶可以定製的股票信息Portlet,View模式允許用戶查看股票列表,Help模式提供給用戶幫助手冊,Edit模式允許用戶定製自己關注的股票列表,而Config模式允許管理員改變股票服務的一些配置。
VIEW 模式
View 模式期待的功能是產生標記反映當前的狀態給portlet。例如,view模式的portlet包含1個或多個框,用戶可以操作或互動,或組成不需要任何用戶互動的的靜態內容。
Portlet 開發者需要通過覆蓋doView方法實現view portlet模式的功能。
EDIT 模式
通過edit模式,portlet提供內容和logic讓用戶用戶化portlet的行為。Edit模式包含一個或多個框,用戶可以定位並輸入他們的用戶化數據。
典型的,edit模式,將設定或修改portlet的參數。Portlet開發者需要通過覆蓋doEdit方法實現edit portlet模式的功能。
HELP 模式
當在help模式,portlet提供portlet的help信息。這個help信息將會是簡單的框,用連貫的正文或上下文敏感的幫助闡明了整個portlet。Portlet開發者需要通過覆蓋doHelp方法實現help portlet模式的功能
CONFIG 模式
當在config模式,管理員可以進行相應的操作。 Portlet開發者需要通過覆蓋doConfig方法實現view portlet模式的功能。
因為Portlet繼承於Servlet,所以portlet可以打包成war檔案發布到Portal容器中。管理員可以發布或者卸載portlet。在一個Portlet Web套用中,一個portlet描述檔案用來描述portlet的屬性和初始化信息。一個Portlet定義包含一個 applicationportlet和多個concrete portlet。一個ApplicationPortlet在portlet容器中僅存在一個實例。一個concrete Portlet實例一個使用額外的數據實例化的portlet。

關於消除本地訪問

修改檔案jboss-portal-2.7.2\server\default\deploy\jboss-web.deployer\server.xml
將其中的內容
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
修改為
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />

後台的資料庫說明

JBoss-Portal-bundled版本帶名為hsqldb資料庫。小巧而不夠強大。也可以裝載mySQL或Oracle資料庫。請先確保您的系統中安裝了JDK5.0以上的版本,並且設定了JAVA_HOME環境變數。
為了能夠讓JBoss Portal將數據保存在我們自己定義的資料庫中便於管理,我們需要配置數據源的設定 。(略)
mySQL或Oracle資料庫連線需要創建資料庫和用戶並寫入數據源的相關配置項。
特別需要注意的是在運行該程式前,一定要確保沒有其他程式占用8080連線埠,因為JbossPortal運行的監聽連線埠就是8080連線埠。如果有其他程式占用8080連線埠,那么JbossPortal網頁就會打開錯誤。例如:oracle精簡版安裝就占用8080連線埠,所以要給oracle改連線埠後安裝,JbossPortal才能正常啟動。
關於Jboss Portal的功能還有許多,它是做入口網站,網頁非常好的工具。由於和其他軟體具有很好的兼容性,跨平台的特性。可以和其他軟體配合使用,來完成強大的功能。所以推薦同學們以後做網站網頁設計能使用它。

相關詞條

熱門詞條

聯絡我們