無(wú)論是商業(yè)化的還是開源的Portal產(chǎn)品,符合國(guó)際標(biāo)準(zhǔn)規(guī)范是必不可少的要求。有的Portal可能不支持WSRP(Web Services for Remote Portlets),但必須符合JSR-168標(biāo)準(zhǔn)。比較突出的開源Portal主要有JBoss Portal、Apache Jetspeet-2,Liferay Portal,還有兩個(gè)屬于歐洲的非美產(chǎn)品eXo Platform和GridSphere也有好的評(píng)價(jià)。
作為JBoss JEMS(JBoss Enterprise Middleware System)應(yīng)用開發(fā)架構(gòu)中的一員,JBoss Portal完全支持JSR-168,它還包含了內(nèi)容管理功能,并支持JavaServer Faces, MyFaces和Spring等Java開發(fā)技術(shù)。
開源組織Apache早在JSR-168 標(biāo)準(zhǔn)之前就有一個(gè)Jetspeed-1 Portal軟件,當(dāng)JSR-168出來之后,又推出符合該標(biāo)準(zhǔn)的Pluto容器,并以此建立了Jetspeed-2 Portal服務(wù)軟件。
以Struts架構(gòu)技術(shù)開發(fā)的Liferay Portal完全支持JSR-168和WSRP兩個(gè)規(guī)范。Liferay Portal能夠在多種應(yīng)用服務(wù)器上運(yùn)行,支持多種數(shù)據(jù)庫(kù)系統(tǒng),還提供基于CAS的單點(diǎn)登錄(SSO)功能。
eXo platform建立在JSF架構(gòu)下,提供了符合JSR-168和WSRP規(guī)范的Portlet容器,具有連接池和緩沖功能。eXo 提供的技術(shù)文檔不夠齊全,開發(fā)應(yīng)用有一定難度。
GridSphere把網(wǎng)格計(jì)算技術(shù)應(yīng)用到Portal產(chǎn)品中,以添加模塊的方式建立了Portal架構(gòu)。GridSphere 100%兼容JSR-168標(biāo)準(zhǔn),內(nèi)置了基于角色的訪問控制(RBAC)功能,采用Hibernate技術(shù)連接任何數(shù)據(jù)庫(kù),支持包括中文在內(nèi)的多種外國(guó)語(yǔ)。
產(chǎn)品網(wǎng)址:http://www.jboss.com/products/platforms/portals
http://labs.jboss.com/jbossportal
技術(shù)資料:http://labs.jboss.com/jbossportal/docs/index.html
JBoss Portal是著名的紅帽子(Redhat)公司所支助的JBoss開源產(chǎn)品系列中的一員。JBoss Portal支持多實(shí)例和群集功能,動(dòng)態(tài)部署是其一大特性。但JBoss Portal提供的組件比較少,功能不夠強(qiáng),需要自己開發(fā)來擴(kuò)展功能,其最大的局限是只能在JBoss應(yīng)用服務(wù)器下使用。
1 技術(shù)架構(gòu)
l JEMS:適應(yīng)JBoss企業(yè)中間件服務(wù)功能(JBoss Application Server, JBoss Cache, JGroups, and Hibernate)。
l DB無(wú)關(guān)性:適用于所有Hibernate支持的關(guān)系數(shù)據(jù)庫(kù)。
l SSO/LDAP:適應(yīng)Tomcat和JBoss 單點(diǎn)登錄(SSO)方案。身份認(rèn)證架構(gòu)適應(yīng)于企業(yè)級(jí)LDAP。
l JAAS認(rèn)證:通過JAAS模塊來配置認(rèn)證。
l 緩沖技術(shù):利用渲染顯示緩沖技術(shù)改善性能。
l 群集能力:支持群集功能。
l 熱部署:適應(yīng)JBoss自動(dòng)動(dòng)態(tài)部署特性。
l SAR安裝器:瀏覽器方式的安裝器提供快速安裝和初始配置。
2 支持的標(biāo)準(zhǔn)
l Portlet技術(shù)規(guī)范和API 1.0 (JSR-168)
l Java內(nèi)容存儲(chǔ)API(JSR-170)
l Java Server Faces(JSF)1.2(JSR-252)
l Java Management Extension(JMX) 1.2
l 遠(yuǎn)程Portlet的Web服務(wù)(WSRP) 1.0
3 Portal和Portal容器
l 能夠在一個(gè)Portal容器上同時(shí)運(yùn)行多個(gè)Portal實(shí)例。
l Portlet內(nèi)部通信接口能夠使Portlet連接到其它對(duì)象如頁(yè)面,Portal或窗口。
l 管理員和用戶能夠在運(yùn)行時(shí)建立和撤銷對(duì)象如Portlet,頁(yè)面,主題和外觀等。
l 每個(gè)Portlet可以使用國(guó)際化資源文件。
l 由Servlet容器和JAAS執(zhí)行的身份認(rèn)證能夠切換認(rèn)證方式。
l 允許Portlet分組按類展現(xiàn)在Portal頁(yè)面上。
l Portlet支持Struts, Spring MVC, Sun JSF-RI, AJAX和MyFace架構(gòu)。
4 主題和外觀
l 易于切換的主題和外觀:包含圖片的新主題和外觀可以WAR包形式部署。
l 靈活的開發(fā)接口:主題和外觀接口API能夠把業(yè)務(wù)層和展示層分離。
l 按頁(yè)面定義外觀:不同的頁(yè)面可以使用不同的外觀樣式。
5 用戶和群組功能
l 用戶注冊(cè)和驗(yàn)證:可配置的注冊(cè)參數(shù)允許使用電子郵件地址驗(yàn)證用戶。
l 用戶登錄:可以使用Servlet容器進(jìn)行身份認(rèn)證。
l 建立和編輯用戶樣式:管理員能夠建立和編輯用戶的樣式。
l 建立和編輯角色:管理員能夠建立和編輯角色。
l 角色分配:管理員能夠給用戶分配角色。
6 權(quán)限管理
l 可擴(kuò)展的訪問許可接口:允許根據(jù)角色定義配置Portlet的訪問許可。
l 管理接口:允許在任何時(shí)候把部署的Portlet、Portal頁(yè)面或Portal實(shí)例的訪問許可分配給角色。
7 內(nèi)容管理
l 兼容JCR規(guī)范:使用Apache Jackrabbit內(nèi)容管理器。
l 支持?jǐn)?shù)據(jù)庫(kù)或文件系統(tǒng)存儲(chǔ)能力:可配置使用文件系統(tǒng)或關(guān)系數(shù)據(jù)庫(kù)來存儲(chǔ)Portal內(nèi)容。
l 支持外部搏客功能:External Blob Support: 可以配置使用文件系統(tǒng)存儲(chǔ)大量搏客內(nèi)容,而搏客節(jié)點(diǎn)、引用和屬性則保存在關(guān)系數(shù)據(jù)庫(kù)中。
8 最小系統(tǒng)要求
l JDK 1.4以上
l 內(nèi)存512 MB
l 硬盤100 MB空間
l CPU 400 MHz主頻
9支持的操作系統(tǒng)
JBoss Portal支持所有能夠使用Java虛擬機(jī)(JVM)的操作系統(tǒng),包括Linux, Windows, UNIX, MacOS X。
10支持的Java應(yīng)用服務(wù)器
JBoss Portal目前只支持JBoss應(yīng)用服務(wù)器JBoss AS 4.0.5.GA和JBoss AS 4.2.0.GA。
11支持的數(shù)據(jù)庫(kù)系統(tǒng)
JBoss Portal通過Hibernate來連接關(guān)系數(shù)據(jù)庫(kù),因此Hibernete所支持的數(shù)據(jù)它都能使用:
l MySQL 4.x.x (使用Java連接器3.0.16)
l MySQL 5
l PostgreSQL 8.x
l HypersonicSQL
l Derby
l ORACLE 9 和10g
l Microsoft SQL Server
l MaxDB
產(chǎn)品網(wǎng)址:http://portals.apache.org/jetspeed-2/
技術(shù)資料:http://portals.apache.org/jetspeed-2/guides/index.html
Jetspeed-2是著名的Apache開源項(xiàng)目的一個(gè)企業(yè)級(jí)Portal產(chǎn)品,它建立在一系列Jetspeed版本的基礎(chǔ)之上,完全符合JSR-168規(guī)范,安全性采取了基于JAAS標(biāo)準(zhǔn)的J2EE安全架構(gòu),支持分布群集功能。Jetspeed-2使用Apache Pluto作為Portlet容器,但摒棄了Jetspeed-1的Apache Turbine基礎(chǔ)架構(gòu),采用了全新的Spring框架技術(shù)建立可伸縮的Portal系統(tǒng)。Jetspeed-2提供了比較完整的開發(fā)和使用文檔,適用這可以借助常用的開發(fā)工具如Eclipse來開發(fā)可建立自己的Portal。遺憾的是Jetspeed-2 沒有內(nèi)置常用的Portlet組件,其次Portal頁(yè)面定制功能不夠強(qiáng),沒有“所見及所得”功能。因此,Jetspeed-2比較適合于有較強(qiáng)開發(fā)能力者進(jìn)行二次開發(fā)來擴(kuò)展應(yīng)用。
l 完全符合Java Portlet API Standard 1.0 (JSR 168)
l 通過了JSR-168 TCK 兼容測(cè)試
l 建立在JAAS標(biāo)準(zhǔn)之上的J2EE安全特性支持LDAP驗(yàn)證用戶身份。
l 服務(wù)器端支持并行的JSR-168標(biāo)準(zhǔn)Portlet渲染
l Jetspeed桌面支持Web 2.0客戶端的JSR-168標(biāo)準(zhǔn)Portlet渲染
l 完全支持JSR-168標(biāo)準(zhǔn)Portlet緩沖和對(duì)每個(gè)Portlet緩沖的配置
l Portlet定時(shí)追蹤功能限制渲染時(shí)間
l Portlet服務(wù)管理器能夠自動(dòng)移除慢速的Portlet或僵死Portlet
l 可定制Portal頁(yè)面
l 可定制Portal桌面
l 可定制循環(huán)片段
l 拖拉式移動(dòng)Portlet
l 可設(shè)定Portlet窗口大小
l 按類選擇Portlet,可全文檢索Portlet
l 可定制主題(外觀)
l 建立在安全一致性或安全許可上的Portlet級(jí)安全性檢查
l 聲明式安全一致性和JAAS數(shù)據(jù)庫(kù)安全策略
l 支持完全可切換式安全一致性或安全許可
l Jetspeed的單點(diǎn)登錄(SSO)
l 安全代理功能
l Portal分布式部署在多個(gè)應(yīng)用服務(wù)器平臺(tái)上
l Portal部件的分布式緩沖
l Portlet緩沖的分布式失效
l 建立在Spring上的部件和可擴(kuò)展架構(gòu)
l 可配置的管道請(qǐng)求處理器
l Portlet應(yīng)用自動(dòng)部署
l Jetspeed部件提供Java API接口
l 提供AJAX的XML API接口
l 擴(kuò)展的Portlet現(xiàn)場(chǎng)標(biāo)記語(yǔ)言(PSML)
l 支持?jǐn)?shù)據(jù)庫(kù)持久化
l 內(nèi)容管理功能
l 安全一致性
l 完全支持LDAP的安全驗(yàn)證
l 提供運(yùn)行時(shí)Portlet接口標(biāo)準(zhǔn)基于角色的安全特性
l Portal內(nèi)容管理和導(dǎo)航支持頁(yè)面、菜單、目錄和連接
l 提供基于規(guī)則的頁(yè)面和資源定位配置
l 基于角色的可視頁(yè)面聚合功能
l 支持大多數(shù)流行數(shù)據(jù)庫(kù)系統(tǒng)如Derby, MySQL, MS SQL, Postgres, ORACLE, DB2
l Portal資源提供12種本地化語(yǔ)言
l 具有統(tǒng)計(jì)功能的日志機(jī)制
l 使用Lucene實(shí)現(xiàn)Portlet資源的全文檢索
l 用戶注冊(cè)管理和密碼找回功能
l 豐富的登錄和密碼配置管理
l 可定制的Portlet模式和窗口狀態(tài),支持Portlet打印模式和窗口的solo狀態(tài)
l 提供對(duì)用戶、角色、群組、密碼和用戶配置文件管理
l Portal場(chǎng)景管理器
l 遠(yuǎn)程Portal應(yīng)用部署器(RPAD)可以熱部署遠(yuǎn)程web上的Portlet應(yīng)用
l JSR-168外觀和用戶屬性編輯器
l 單點(diǎn)登錄管理器
l 權(quán)限許可管理(JAAS安全性)
l 安全一致性管理
l Portlet應(yīng)用和生命周期管理
l 用戶配置文件管理
l 統(tǒng)計(jì)報(bào)告
l 支持Web架構(gòu)JSF,Struts,PHP,Perl和Velocity
l 提供樣板Portlet:RSS,IFrame,Calendar XSLT,Struts Petstore,Bookmark,Database Browser
l 集成了顯示標(biāo)記和Spring MVC架構(gòu)
l 提供轉(zhuǎn)換所有Jetspeed數(shù)據(jù)庫(kù)數(shù)據(jù)的XML導(dǎo)入/導(dǎo)出工具
l Portal的全部初始數(shù)據(jù)是XML格式
l 提供全部XML內(nèi)容的XML樣板文件
l 使用CSS部件部署Jetspeed的Portlet和頁(yè)面樣式
l 可配置的CSS頁(yè)面外觀
l 樣式和外觀部件定義使用Velocity宏語(yǔ)言
l 使用自動(dòng)化的Maven-1和Maven-2軟件來建立
l 提供客戶開發(fā)Jetspeed-2的Maven插件
l 自動(dòng)部署Portlet應(yīng)用和Portal資源
12 部署工具
l 插件集成了自動(dòng)部署功能
l 提供PSML、jetspeed-Portlet.xml和Jetspeed XML的模板
13 支持的數(shù)據(jù)庫(kù)系統(tǒng)
缺省配置使用Derby數(shù)據(jù)庫(kù),支持任何符合JDBC2.0驅(qū)動(dòng)器規(guī)范的數(shù)據(jù)庫(kù):
l Derby
l HSQLDB - Hypersonic SQL
l MySQL
l ORACLE
l POstgres
l DB2
l Sybase
l SQL Server
要求Servlet 2.4版本以上的應(yīng)用服務(wù)器:
l Tomcat 5.5.x
l Jetty
l Websphere 6.0
l Geronimo
l JBoss
l Weblogic
使用者需要熟悉Apache Maven項(xiàng)目管理工具和Apache Ant腳本工具。要求使用以下軟件:
l Ant 1.5以上版本
l Java 1.4.2_02以上版本
l Servlet 2.4版本以上的應(yīng)用服務(wù)器
產(chǎn)品網(wǎng)站:http://www.liferay.com/
技術(shù)資料:http://wiki.liferay.com/
Liferay Portal自稱是全球領(lǐng)先的開源企業(yè)級(jí)門戶軟件,應(yīng)用了最新的Java、J2EE和Web 2.0等技術(shù),其前臺(tái)界面部分利用Struts 框架技術(shù),基于XML的Portlet配置文件可以自由地動(dòng)態(tài)擴(kuò)展功能,使用Web服務(wù)支持遠(yuǎn)程信息的獲取,利用Apahce Lucene實(shí)現(xiàn)全文檢索功能。
Liferay Portal安裝簡(jiǎn)單,技術(shù)文檔相對(duì)齊全。對(duì)于簡(jiǎn)單的應(yīng)用通過使用系統(tǒng)內(nèi)置的工具進(jìn)行配置和管理,就可以直接投入實(shí)際使用而無(wú)需編碼。Liferay Portal的未來發(fā)展把ESB和SOA集成進(jìn)來,因此更適合于企業(yè)級(jí)使用。
Liferay Portal的主要特性:
l 運(yùn)行在大多數(shù)主流應(yīng)用服務(wù)器和Servlet容器,數(shù)據(jù)庫(kù)和操作系統(tǒng)之上
l 符合JSR-168標(biāo)準(zhǔn)
l 內(nèi)置60多個(gè)適用的Portlet
l 內(nèi)置了內(nèi)容管理器(CMS)
l 帶有協(xié)同套件
l 為所有用戶提供個(gè)性化頁(yè)面
l 提供單一登錄接口,多認(rèn)證模式(LDAP或SQL)
l 管理員能通過用戶界面輕松管理用戶,組,角色
l 支持包括中文在內(nèi)的多種語(yǔ)言
l 經(jīng)過嚴(yán)格的安全測(cè)試
(1)應(yīng)用服務(wù)器:
l Apache Geronimo 1.1
l Sun GlassFish 2.0
l JBoss 4.x
l ORACLEAS 10.1.3
l SUN JSAS 8.01
l WebLogic 8.1 SP4, 9.2
l WebSphere 5.1, 6.0.x
(2)Servlet容器:
l Tomcat 5.0.x/5.5.x
l Resin 3.0.14
l Jetty 5.1.4
(3)數(shù)據(jù)庫(kù):
l IBM DB2
l Informix
l InterBase
l MySQL
l ORACLE
l SAP
l SQL Server
l Sybase
(4)操作系統(tǒng):
l AIX
l LINUX
l SOLARIS
l WINDOWS
l MAC OS
(5)支持的語(yǔ)言:
l 22種主要語(yǔ)言包括簡(jiǎn)體中文和繁體中文
2、技術(shù)架構(gòu)
(1)用到的技術(shù):
l Apache ServiceMix
l ehcache
l Hibernate
l ICEfaces
l Java J2EE/JEE
l jBPM
l JGroups
l jQuery JavaScript Framework
l Lucene
l MuleSource ESB
l PHP
l Ruby
l Seam
l Spring & AOP
l Struts & Tiles
l Tapestry
l Velocity
(2)支持的標(biāo)準(zhǔn):
l AJAX
l iCalendar & Microformat
l JSR-168
l JSR-127
l JSR-170
l OpenSearch
l JSON
l Hessian
l Burlap
l REST
l RMI
l WSRP
l WebDAV
3、體系架構(gòu)
4、應(yīng)用架構(gòu)
l 面向服務(wù)(SOA)—— Liferay應(yīng)用了SOA 設(shè)計(jì)理念為企業(yè)應(yīng)用提供了擴(kuò)展SOA的工具和框架。
l 提供可插入ServiceMix ESB,也支持Mule ESB。
l 支持Web服務(wù),簡(jiǎn)化不同應(yīng)用之間的通信聯(lián)系。
l 支持AJAX技術(shù)
l 安全性——Liferay使用了工業(yè)標(biāo)準(zhǔn)的政府級(jí)加密技術(shù)如DES、MD5和RSA。
l 單點(diǎn)登錄(SSO)——支持使用耶魯大學(xué)的CAS、SUN的JAAS、LDAP、Netegrity、微軟Exchange進(jìn)行用戶驗(yàn)證。缺省集成了CAS。
l 支持群集和高可靠性應(yīng)用。
l 支持對(duì)靜態(tài)內(nèi)容的頁(yè)面緩沖提高了Web性能。
5、內(nèi)置Portlets
l Admin Portlet :顯示Liferay Portal版本、企業(yè)信息(組織機(jī)構(gòu)名稱、地址等)、有效的Portlets、當(dāng)前活動(dòng)Session、認(rèn)證屬性、LDAP配置、新用戶屬性等。
l Enterprise Admin Portlet :允許授權(quán)用戶管理用戶、組織機(jī)構(gòu)、場(chǎng)所、群組、角色、權(quán)限等。
l Page Settings : 管理頁(yè)面、修改頁(yè)面外觀、設(shè)置用戶URL等。
l Alfresco Content :集成了Alfresco 內(nèi)容管理器,內(nèi)置對(duì)HTML內(nèi)容的瀏覽和發(fā)布、在線編輯內(nèi)容、管理圖像和內(nèi)容、預(yù)覽未發(fā)布內(nèi)容等。
l Document Library :提供了符合JSR-170標(biāo)準(zhǔn)的Jackrabit Java內(nèi)容存儲(chǔ)管理器管理文檔資料。
l Journal :Liferay集成Web發(fā)布系統(tǒng)的主接口,允許用戶建立、編輯和發(fā)布文章。
l Journal Articles :顯示社區(qū)所有動(dòng)態(tài)文章列表。
l Journal Content :在頁(yè)面上發(fā)布任何CMS中的文章。
l Journal Content Search :檢索CMS中的內(nèi)容。
l Recent Documents :顯示最新文檔庫(kù)中的文章。
l Breadcrumb :顯示當(dāng)前頁(yè)面的父頁(yè)面,作導(dǎo)航用途。
l Navigation :提供門戶頁(yè)面結(jié)構(gòu)的連接目錄。
l Site Map :顯示門戶所有頁(yè)面的結(jié)構(gòu)目錄。
l Blogs :提供博客服務(wù),具有分類和所見即所得編輯功能。
l Calendar :顯示日歷信息,用戶可以建立、管理和檢索事件。
l Enterprise Instant Messaging :提供用戶即時(shí)通信(聊天)的客戶端。
l Mail :Web電郵客戶端,適用于任何電郵服務(wù)器。
l Message Boards :提供論壇功能。
l Wiki : 提供威客功能。
l Announcements :提供公告功能。
l Bookmarks :提供收藏夾功能。
l Communities :用來建立和管理新的門戶社區(qū)和社區(qū)的用戶群。
l Directory :所有注冊(cè)用戶信息列表。
l Polls :提供投票功能。
l Financial Tools :金融財(cái)務(wù)計(jì)算器。
l Google Portlets :提供Google檢索功能。
l News and RSS :動(dòng)態(tài)獲取互聯(lián)網(wǎng)新聞。
l Weather :通過互聯(lián)網(wǎng)獲取并顯示城市的天氣情況。
l Other Tools :包括模擬鐘表、美國(guó)區(qū)號(hào)查詢、詞典、語(yǔ)言選擇、密碼生成器、信息檢索、單位換算等。
l Prototype Portlets :提供了幾個(gè)樣板Portlet 實(shí)例,包括Flash、JSP、Struts等。
l WSRP :提供訪問其他門戶的Portlet。
l Workflow :用于管理工作流。
6、許可協(xié)議
Liferay采用的是麻省理工學(xué)院的軟件許可協(xié)議。聯(lián)系客服