劉大宇
(華北計算技術研究所,北京 100083)
基于LDAP、SSO和Liferay的信息及應用集成門戶框架分析
劉大宇
(華北計算技術研究所,北京 100083)
本文對基于LDAP輕量目錄服務、SSO單點登錄和Liferay框架的門戶模型的架構和在信息及應用集成領域發揮的作用進行了研究和闡述,以高效的應用和信息集成和消除信息孤島為目標,通過對該領域當前發展情況和存在問題的分析以及對實際信息集成門戶項目的觀察和研究,針對其中存在的諸多缺陷提出基于Liferay門戶模型的解決方案,并對該模型中的關鍵性模塊進行有針對性的分析和闡述,證明在其基礎上進行信息和應用集成系統的建設和管理,可妥善解決各關鍵環節中的問題,達到高效的信息集成,充分實現信息跨業務、跨單位的無障礙共享,徹底消除信息孤島。
計算機科學與技術;SSO;Liferay;信息及應用集成;門戶
本文著錄格式:劉大宇. 基于LDAP、SSO和Liferay的信息及應用集成門戶框架分析[J]. 軟件,2017,38(1):65-69
隨著全球互聯網技術的飛速發展,云計算、各種Web標準、信息集成等已經成為該領域的前沿研究方向,中國的信息化也在迅速發展著,為了與國際互聯網行業接軌,走出有中國特色的發展路線,國內的信息產業也面臨著全新的困難和考驗。為了順應信息化趨勢,各行業都在建設相關的信息系統,但系統間各自獨立、數據分散、維護困難等問題逐漸突顯出來,而且傳統的信息研發和集成模式中,信息集成平臺只強調功能的集約化,用戶信息維護權、權限管理及統一登陸等方面卻被忽視了,主要體現在如下幾個方面:業務系統缺乏統一的開發規則約束,導致各子系統的用戶信息維護、授權信息管理分散。現在的各行業中協同工作已成趨勢化,導致用戶需反復多次對各個業務系統進行權限管理和認證。在權限和功能各異的系統中,必須提供集中的訪問控制、用戶信息及權限分配。
為了解決當前管理信息系統開發應用中存在的諸多問題,提出了基于LDAP輕量目錄服、SSO單點登錄和Liferay框架的信息及應用集成門戶的模型。
基于LDAP輕量目錄服、SSO單點登錄和Liferay框架的信息及應用集成門戶應用模型主要包括三個部分的內容:基于LDAP輕量級服務的統一用戶管理:提供應用系統、組織機構、用戶、角色、菜單等信息的管理入口。SSO單點登陸模塊:提供訪問用戶的統一身份認證,以及集成在門戶的應用系統功能權限的判定及加載。以Liferay開源框架為基礎的信息及應用集成中心:提供對集成到門戶的信息的展示以及用戶對集成到門戶的業務子系統的訪問,對相應的業務流程進行集中的操作,獲取需要的各種信息。下圖為系統的邏輯架構圖:
1.1 基于LDAP服務的統一用戶管理
廣義上LDAP是輕量目錄協議,英文全稱是Lightweight Directory Access Protocol,一般都簡稱為LDAP。它是基于X.500標準的,但是簡單多了并且可以根據需要定制,在實際應用中LDAP是一個特殊的數據庫,說它是數據庫,因為它可以存取數據。是說它特殊,是因為他的作用沒有數據庫這么強大,而是一個目錄,LDAP目錄以樹狀的層次結構來存儲數據。就象DNS的主機名那樣,LDAP目錄記錄的標識名(Distinguished Name,簡稱DN)是用來讀取單個記錄,以及回溯到樹的頂部,LDAP最大的優勢是:可以在任何計算機平臺上,用很容易獲得的而且數目不斷增加的LDAP的客戶端程序訪問LDAP目錄。而且也很容易定制應用程序為它加上LDAP的支持。
框架中基于LDAP輕量級目錄協議的用戶目錄服務的主要配置包括配置管理和用戶基本信息管理兩部分,配置管理主要是對目錄系的統配置進行管理,用戶基本信息管理主要是集中對用戶信息的統一管理,包括組織機構管理、用戶基本信息管理、角色管理,下圖為LDAP配置和用戶管理的界面:
1.2 SSO單點登錄模塊
SSO單點登錄模塊主要完成訪問用戶的統一身份認證,是目前比較流行的企業業務整合的解決方案之一。SSO的定義是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。從框架結構上主要包括CAS單點登錄認證服務器和用戶數據庫兩部分。
CAS單點登錄認證服務主要通過票據身份認證服務來為集成到門戶的各業務系統提供可靠的單點登錄認證,并負責同用戶目錄數據庫完成信息交互;用戶數據庫主要存儲用戶信息,通過LDAP輕量級用戶服務目錄服務對用戶名、登錄密碼、個人身份證號、角色信息等信息進行統一管理。用戶數據庫中的信息應與LDAP目錄中的信息統一,并保證用戶的唯一性。題4為認證處理流程。

圖1 邏輯架構圖Fig.1 Logic structure diagram

圖2 LDAP配置界面Fig.2 LDAP configuration UI

圖3 LDAP用戶管理界面Fig.3 LDAP user management UI

圖4 CAS認證處理流程Fig. 4 CAS certification process
CAS單點登錄認證通過認證服務對LDAP用戶數據庫進行交互式訪問以實現單點登錄,門戶單點登陸模塊可以使用默認的用戶名/密碼方式進行認證,也可以通過集成第三方USB Key的方式進行認證。
1.3 信息及應用集成中心
Liferay門戶是市場上占有率極高的開源門戶,是國際上領先的開源企業級門戶解決方案,框架使用最新的Html5和Java技術架構。可以在所有的主流的操作系統、應用服務器、Servlet容器和數據庫環境中運行,僅部署組合就超過500個。該框架按照JSR-286標準,預先綁定70多個porlets,實現即插即用。為每個用戶提供個性化的布局和樣式。框架中包含CMS內容管理系統和各種通用業務應用。通過應用LogicLibrary的Logiscan技術為企業提供最安全的門戶和信息集成平臺。Liferay門戶框架為企業提供了一個集中,共享和協作平臺。Liferay 門戶為用戶提供了一個即使不經過專業培訓也可以流暢使用的界面,整個框架按照JSR-168標準規范開發,JSR-168標準對理想狀況下的Portlet進行了詳細的描述,并規劃了Portal的實現接口規范。JSR-168是JavaTM Portlet規范,描述Java門戶框架的開發標準,義了Java Portlet開發標準和編程接口。一個Portlet是一個或一組可供企業門戶即插即用的Portlet組件。實現這個規范,Portal可以和各種來源和格式的信息打交道,徹底終結信息孤島窘境。
由于有很多開發團隊不斷的完善框架,Liferay在功能上持續增長,幫助用戶用最短時間和精力部署業務解決方案,使其成為開發者社區中最受歡迎的門戶技術。隨著信息化建設的深入,Liferay門戶框架已經成為當前信息集成環境的一個重要組成部分。Liferay Portal所提供的權限控制、個性化界面、信息集成、文件管理等功能,已經占據門戶框架的大部分市場的并在消除信息孤島和信息集成方面發揮了重要的所用。隨著Portal技術的成熟,以MyNestcape、MyYahoo、US-Navy等為代表的站點都采用Portal架構來實現個性化的信息集成和定制,從而實現靈活擴展服務業務。Liferay Portal作為一個開源的門戶框架,利用Hibernate、Spring、Struts等開源框架,實現了JSR-168規范中提出的門戶功能,是一個優秀的門戶框架。
以Liferay為基礎框架的信息及應用集成中心主要負責用戶登錄后資源的加載、業務信息的展示,并通過一定的接口對門戶進行訪問。
用戶通過CAS單點登陸服務進行登陸權限驗證后,登陸到Liferay信息及應用集成中心,根據認證的用戶角色分配菜單和允許瀏覽的信息。與此同時,在快捷登陸到其他業務子系統時或者展示集成到門戶中的業務信息時,需要將當前登錄用戶的相關基本信息推送到各業務子系統。這就需要信息及應用集成中心通過單點登陸和其他接口,對門戶數據庫進行讀取操作。
Liferay接口調用基于Webservice技術,主要流程描述如下:各業務子系統調用CAS單點登陸服務和門戶接口中的對應方法,向門戶提交用戶信息請求和數據推送請求。CAS單點登陸服務和門戶接口接收請求,查詢緩存在session中的用戶信息和認證票據的合法性,并獲取相關結果,以票據和WSDL和XML格式反饋給業務子系統的回調方法。業務子系統對用戶信息和票據信息以及WSDL、XML數據進行解析,形成業務系統能夠識別的基本數據類型進行處理,通過后將用戶需要的業務信息返回給門戶進行展示,圖5、圖6、圖7為Liferay集成門戶的Portlet展示原理圖、業務流轉圖和數據流轉圖:
本文提出了基于LDAP輕量目錄服、SSO單點登錄和Liferay框架的信息及應用集成門戶的模型。以“應用和信息集成”和“消除信息孤島”為目標,模型以基于LDAP服務的統一用戶管理為核心,對異構的業務系統及相關信息進行整合,并通過OSS統一用戶身份認證實現單點登錄,提升了系統之間的協同業務效率,減少了信息集成的復雜度,建立起可供信息共享交流和業務子系統溝通的松耦合集成系統,使現有的業務子系統和數據庫能夠在各種環境下良好地協作。充分實現信息跨業務、跨單位的無障礙共享,提高復雜的應用與信息集成的效率,縮短項目建設周期,使分隔的業務系統為一個整體并轉變成為一個智能運行的信息系統。

圖5 Liferay信息及應用集成Portlet展示Fig.5 Liferay information and application integration Portlet display

圖6 Liferay信息及應用集成業務流轉圖Fig.6 Liferay information and application integration business flow

圖7 Liferay信息及應用集成數據流轉圖Fig.7 Liferay information and application integration data transfer
[1] 郭成寶. 基于Liferay門戶與Lotus Domino OA單點登錄系統的實現[J]. 軟件, 2014, 35(1): 72-74.
[2] 唐志紅, 龍毅宏, 吳志奇. 面向Web Form身份鑒別的單點登錄透明集成技術[J]. 軟件, 2014, 35(8): 75-78.
[3] 安慧峰. 分布式LDAP系統的引用研究[J]. 軟件, 2013, 34(10): 23-26.
[4] 章松, 劉春波. 基于LDAP的高可用目錄服務器的設計與實現[J]. 軟件, 2015, 36(12): 146-148.
[5] 郭璐, 曹佳佳. 計算機信息技術及其在實踐中的應用探討[J]. 通訊世界, 2015(8): 42-43.
[6] 詹劍. 計算機網絡系統集成技術分析與應用[J]. 電子技術與軟件工程, 2015(9): 29.
[7] 張迪. 基于Liferay Portal集成企業級門戶信息平臺的設計與實現[D]. 成都電子科技大學, 2014.
[8] IBM. 門戶體系架構技術探討[EB]. http://www.ibm.com, 2012.
[9] Central Authentication Service[EB]. http://www.jasig.org/cas, 2012.
[10] Hesmer S, Fischer P, Buckner T, et a1. Portlet Development Guide[EB/OL]. 2003-08-20. http://www.106.ibm.com/develporworks/websphere/zones/portal/portletdevelopmentguide. html.
[11] 黃冠華. 基于Portal的多租戶信息門戶平臺研究與實現[D].電子科技大學, 2013.
[12] 孫偉, 郝愛語, 張偉華, 等. Restful Web Services在校園信息集成中的應用[J]. 軟件, 2013, 34(8): 5-6.
[13] 榮艷冬. 高校就業服務信息門戶系統的設計[J]. 軟件, 2013, 34(7): 65-67.
[14] 肖佳. 基于. Net+Web Service混合技術校園門戶系統設計的思考[J]. 軟件, 2012, 33(5): 64-66.
[15] 柯自聰Liferay Portal二次開發指南[OL]. 2008-09-14.
Analysis of Information and Application Integration Portal Framework Based on Liferay, SSO and LDAP
LIU Da-yu
(North China Institute of Computing Technology, Beijing 100083)
This paper analysis the important influence of this portal framework based on Liferay, SSO and LDAP in the field of information and application integration. With efficient applications, information integration and the elimination of information islands as the goal. Through the analysis of the current development situation and existing problems in this field as well as the observation and research of the actual information integration portal project, a solution based on Liferay portal model is put forward. The key modules of the model are analyzed and described in this paper. It is proved that the construction and management of information and application integration system based on it can properly solve the problems in the key links. Achieve the efficient integration of information, the full realization of cross business, cross unit information sharing, break-through information silos.
Computer science and technology; SSO; Liferay; Information and Application Integration; Portal
TP311.1
A
10.3969/j.issn.1003-6970.2017.01.014