
Ch ng .1ươ Gi i thi u Portal – Liferay.ớ ệ
.1.1. Portal là gì?
Portal là c ng thông tin đi n t .ổ ệ ử Khác v i các website thông th ng portal là n iớ ườ ơ
tích h p h u h t các thông tin và d ch v c n thi t cho ng i dùng. S ra đ i c aợ ầ ế ị ụ ầ ế ườ ự ờ ủ
portal nh m gi i quy t các nh c đi m mà các website thông th ng m c ph iằ ả ế ượ ể ườ ắ ả
nh khó b o trì, tích h p, m r ng, v.v… đ c bi t là kh năng tùy bi n khá cao, cáư ả ợ ờ ộ ặ ệ ả ế
nhân hóa, tính b o m t cao và đăng nh p m t .ả ậ ậ ộ
Phân lo i portal.ạ
Tùy thu c vào m c đích cung c p d ch v cho ng i dùng cu i mà ta có nh ngộ ụ ấ ị ụ ườ ố ữ
c ng thông tin nh sauổ ư :
−C ng thông tin công c ng (Public portals): ổ ộ Khi mu n ghép n i các thông tinố ố
l i v i nhau t nhi u ngu n, nhi u ng d ng và t nhi u ng i ta dùngạ ớ ừ ề ồ ề ứ ụ ừ ề ườ
lo i c ng thông tin này. Ngoài ra nó còn cho phép cá nhân hóaạ ổ
(personalization) các website theo t ng đ i t ng ng i dùng. Ví d Yahoo.ừ ố ượ ườ ụ
−C ng thông tin doanh nghi p (Enterprise portal hay Corporate Desktops):ổ ệ
C ng thông tin này đ c xây d ng đ cho phép các thành viên c a doanhổ ượ ự ể ủ
nghi p s d ng và t ng tác trên các thông tin hay ng d ng nghi p v tácệ ử ụ ươ ứ ụ ệ ụ
nghi p c a doanh nghi p.ệ ủ ệ
−C ng gáo d ch đi n t (Marketplace portals):ổ ị ệ ử Là n i lien k t gi a ng iơ ế ữ ườ
bán và ng i mua. Ví d : eBay, ChemWeb.ườ ụ
−C ng thông tin ng d ng chuyên bi t (Specialized portals):ổ ứ ụ ệ Ví d nh SAPụ ư
portal, c ng thông tin lo i này cung c p các ng d ng chuyên bi t khácổ ạ ấ ứ ụ ệ
nhau.
Tính năng c b nơ ả
Các lo i c ng thông tin đ u có chung m t s tính năng c b n. Ng i ta xem cácạ ổ ề ộ ố ơ ả ườ
tính năng đó nh m t tiêu chu n đ phân bi t portal v i m t website t ng h p tinư ộ ẩ ể ệ ớ ộ ổ ợ
t c, ng d ng qu n tr n i dung website, ho c m t ng d ng ch y trên n n Web.ứ ứ ụ ả ị ộ ặ ộ ứ ụ ạ ề
−Kh năng cá nhân hoá (Customization hay Personalization)ả: Portal đ c hi nượ ể
th theo nhi u cách khác nhau tùy thu c vào đ i t ng ng i dùng hay nhómị ề ộ ố ượ ườ
ng i s d ng. M i cá nhân có th t ch nh s a cách th hi n thông tin, ngườ ử ụ ỗ ể ự ỉ ử ể ệ ứ
d ng theo yêu c u s d ng.ụ ầ ử ụ
−Tích h p nhi u lo i thông tin (Content aggregation)ợ ề ạ : Cho phép xây d ng n iự ộ
dung thông tin t nhi u ngu n khác nhau cho nhi u đ i t ng s d ng. S khácừ ề ồ ề ố ượ ử ụ ự
1

bi t gi a các n i dung thông tin s đ c xác đ nh qua các ng c nh ho t đ ngệ ữ ộ ẽ ượ ị ữ ả ạ ộ
c a ng i dùng (user-specific context).ủ ườ
−Xu t b n thông tin( Content syndication)ấ ả : Thu th p thông tin t nhi u ngu nậ ừ ề ồ
khác nhau, cung c p cho ng i dùng thông qua các ph ng pháp ho c giao th cấ ườ ươ ặ ứ
(protocol) m t cách thích h p. Có kh năng xu t b n thông tin v i các đ nhộ ợ ả ấ ả ớ ị
d ng đã đ c quy chu n. Ngoài ra, các tiêu chu n d a trên XML cũng ph iạ ượ ẩ ẩ ự ả
đ c áp d ng đ qu n tr và hi n th n i dung m t cách th ng nh t, xuyên su tượ ụ ể ả ị ể ị ộ ộ ố ấ ố
trong quá trình xu t b n thông tin. ấ ả
−H tr nhi uỗ ợ ề môi tr ng hi n th thông tin (Multidevice support)ườ ể ị : Portal ph iả
có kh năng v n hành đa n n đa ph ng ti n. Đ truy xu t vào portal ng iả ậ ề ươ ệ ể ấ ườ
dùng có th s d ng nhi u lo i thi t b nh và nhi u trình duy t khác nhauể ử ụ ề ạ ế ị ư ề ệ
−Kh năng đăng nh p m t l nả ậ ộ ầ : Đây là m t tính năng r t quan tr ng. Portal sộ ấ ọ ẽ
l y thông tin v ng i s d ng t các th m c nh ấ ề ườ ử ụ ừ ư ụ ư LDAP (Lightweight
Directory Access Protocol), DNS (Domain Name System) ho c AD (Activeặ
Directory).
−Qu n tr portal (Portal administration)ả ị : Xác đ nh cách th c hi n th thông tinị ứ ể ị
cho ng i dùng cu i. Cho phép thi t l p các giao di n ng i dùng v i các chiườ ố ế ậ ệ ườ ớ
ti t đ ho , ng i qu n tr ph i đ nh nghĩa đ c các thành ph n thông tin, cácế ồ ạ ườ ả ị ả ị ượ ầ
kênh t ng tác v i ng i s d ng cu i, đ nh nghĩa nhóm ng i dùng cùng v iươ ớ ườ ử ụ ố ị ườ ớ
các quy n truy c p và s d ng thông tin khác nhau.ề ậ ử ụ
−Qu n tr ng i dùng (Portal user management)ả ị ườ : Cung c p các kh năng qu nấ ả ả
tr ng i dùng cu i tùy vào đ i t ng s d ng c a portal. Ng i s d ng cóị ườ ố ố ượ ử ụ ủ ườ ử ụ
th t đăng ký thành viên t i m t c ng thông tin công c ng ho c đ c ng iể ự ạ ộ ổ ộ ặ ượ ườ
qu n tr t o tài kho n và gán quy n s d ng thích h p.ả ị ạ ả ề ử ụ ợ
N u h th ng ch th a mãn ế ệ ố ỉ ỏ t i đa năm tính năng đã nêu trên thì đó ch là m t ngố ỉ ộ ứ
d ng web ho c ph n m n qu n tr n i dung ch không ph i gi i pháp portal.ụ ặ ầ ề ả ị ộ ứ ả ả
N u h th ng không th a mãn tính năng ế ệ ố ỏ H tr nhi u môi tr ng hi n th thôngỗ ợ ề ườ ể ị
tin (Multidevice support) nh ng l i th a mãn t t c các tính năng còn l i thì hư ạ ỏ ấ ả ạ ệ
th ng đó v n đ c xem là gi i pháp.ố ẫ ượ ả
So sánh Portal và Web truy n th ngề ố .
Nh ng u đi m n i b t c a Portal so v i WebSite truy n th ng là:ữ ư ể ổ ậ ủ ớ ề ố
•Kh năng cá nhân hóa cao. ảVí d : Giao di n portal có m t s ch c năngụ ệ ộ ố ứ
không c n thi t v i ng i dùng thì h có th b đi, kh năng thay đ i cáchầ ế ớ ườ ọ ể ỏ ả ổ
hi n th c a portal ho c c a t ng porlet.ể ị ủ ặ ủ ừ
•Kh năng đăng nh p m t l n v i t t c các tài nguyên liên k t v i portal.ả ậ ộ ầ ớ ấ ả ế ớ
•Ng i dùng có th truy c p thông tin t nhi u thi t b khác nhau.ườ ể ậ ừ ề ế ị
•Ng i phát tri n có th d a trên các chu n có s n đ tích h p công c m i.ườ ể ể ự ẩ ẵ ể ợ ụ ớ
2

.1.2. Gi i thi u v Liferay.ớ ệ ề
.1.2.1 Gi i thi u.ớ ệ
Hiện nay, vi c xây d ng các c ng đi n t trên n n t n portal khá đa d ng Vi tệ ự ổ ệ ử ề ả ạ ở ệ
Nam. Ví d y ban nhân dân huy n Thanh Hóa (ụ Ủ ệ http://www.thanhhoa.gov.vn).
Liferay phù h p đ xây d ng và tri n khai C ng đi n t cho các đ n v t nh thành,ợ ể ự ể ổ ệ ử ơ ị ỉ
b ngành, các t ch c, doanh nghi p, v.v…ộ ổ ứ ệ
Đ n th i đi m tháng 06/2009 thì phiên b n m i nh t c a Liferay là 5.2.3. ế ờ ể ả ớ ấ ủ
•Liferay Portal Enterprise Edition: Là phiên b n th ng m i đ c h trả ươ ạ ượ ỗ ợ
nhi u tính năng.ề
•Liferay Portal Standard Edition: Là phiên b n mi n phí v i các tính năng m iả ễ ớ ớ
nh t và h tr thông qua các ho t đ ng c ng đ ng.ấ ỗ ợ ạ ộ ộ ồ
Liferay Portal đ a ra các ch c năng vô cùng h u ích v i trên 60 ng d ng theoư ứ ữ ớ ứ ụ
chu n JSR-168. ẩDanh m c ng d ngụ ứ ụ bao g m: Qồu n tr , qu n lý d li u, c ngả ị ả ữ ệ ộ
tác, c ng đ ng, gi i trí, công c cá nhân, công c mua s m, công c ng i phátộ ồ ả ụ ụ ắ ụ ườ
tri n. ểLiferay đ c phát tri n b ng ngôn ng l p trình Java trên n n t n J2EE vàượ ể ằ ữ ậ ề ả
Web 2.0. Liferay t ng thích v i 12 h qu n tr c s d li u: Apache, Derby, IBMươ ớ ệ ả ị ơ ở ữ ệ
DB2, Firebird, Hypersonic, Interbase, JDataBase, MySQL, Oracle, PostgresSQL,
SAP, SQL Server, Sybase. Cho phép ho t đ ng trên các h đi u hành nh Windows;ạ ộ ệ ề ư
Linux: CentOS, RHES, SUSE, Ubuntu,v.v..; Unix: AIX, HP-UX, Mac OS X,
Solaris,v.v... Các công ngh đ c s d ng trong Liferay bao g mệ ượ ử ụ ồ : Apache
ServiceMix, Ehcache, Hibernate, ICEfaces, Java J2EE/JEE, jBPM, JGroups, jQuery
JavaScript Framework, Lucene, MuleSource ESB, PHP, Ruby, Seam, Spring & AOP,
Struts & Tiles, Tapestry, Velocity. Các tiêu chu n c a Liferay hi n nay có: ẩ ủ ệ AJAX,
iCalendar & Microformat, JSR-168, JSR-127, JSR-170, JSR-286 (Portlet 2.0), JSF-
314 (JSF 2.0), OpenSearch. Môi tr ng m v i h tr c a web service g m có:ườ ở ớ ỗ ợ ủ ồ
JSON, Hessian, Burlap, REST, RMI, WSRP, WebDAV. Liferay h tr cho 22 ngônỗ ợ
ng v i nh ng b n d ch m c đ nh. ữ ớ ữ ả ị ặ ị
3

Liferay Portal là c ng thông tin cho phép ng i s d ng kéo th các ng d ng đổ ườ ử ụ ả ứ ụ ể
s p x p phù h p v i s thích c a ng i s d ng. T t c các trang c a Liferayắ ế ợ ớ ở ủ ườ ử ụ ấ ả ủ
Portal đ u đ c th c hi n theo chu n CSS đ đ n gi n hóa vi c phát tri n giaoề ượ ự ệ ẩ ể ơ ả ệ ể
di n. S d ng m t trong nh ng hi u ng giao di n có s n đ thay đ i b ngoàiệ ử ụ ộ ữ ệ ứ ệ ẵ ể ổ ề
c a c ng thông tin mà không ph i thông qua b t kỳ thao tác ch nh s a mã ngu nủ ổ ả ấ ỉ ử ồ
ph c t p nào. Liferay cho phép t o và tích h p giao di n vào h th ng. M i cá nhânứ ạ ạ ợ ệ ệ ố ỗ
trong c ng đ ng đ c cung c p các trang cá nhân. Ng i s d ng có th thi t kộ ồ ượ ấ ườ ử ụ ể ế ế
trang riêng c a theo s thích. H th ng qu n lí quy n s d ng các ng d ng trongủ ở ệ ố ả ề ử ụ ứ ụ
Liferay ch t ch , đ c chia làm nhi u c p đ qu n lí. Trong quá trình s d ng taặ ẽ ượ ề ấ ộ ả ử ụ
cũng có th đ nh nghĩa ra h th ng ng i dùng cho h th ng c a mình.ể ị ệ ố ườ ệ ố ủ
Từ phiên b n 5.0, Liferay đã b t đ u h tr chu n JSR-286. Ngoài ra Liferay cònả ắ ầ ổ ợ ẩ
h tr các JSP tag lib và nhi u class ti n ích khác trong nh ng package khác nhau.ỗ ợ ề ệ ữ
Khi s d ng các package ti n ích này ta có th d dàng phát tri n portal hay portlet.ử ụ ệ ể ễ ể
Nh ng các portlet không còn tuân theo chu n JSR-168. Liferay cũng cho phép thư ầ ể
thêm các ng d ng web vi t b ng Struct, JSF, v.v… vào Liferay.ứ ụ ế ằ
.1.2.2 H ng d n Vi t-hóa Liferayướ ẫ ệ .
Bước 1: Tìm t p tinệ Language_vi.properties, Language_vi.properties.native trong
portal-impl/src/content/
B c 2: ướ Chuy n đ i nh ng t sang ti ng Vi t cho phù h p.ể ổ ữ ừ ế ệ ợ
B c ướ 3 : Deploy.
−Dùng công c Ant ,ch n Add Buildfiles, ch n file build.xml c a ụ ọ ọ ủ Liferay
source. Lúc này ta c a s Ant s có 2 th m c nh sau: Portal, portal_implở ử ổ ẽ ư ụ ư
−Ch n portal_impl r i nh n vào build-lang. Nh n đ c thông báo nh sau:ọ ồ ấ ậ ượ ư
BUILD SUCCESSFUL.
−Sau đó nh n vào deploy. N u thành công s nh n đ c thông báo nh sau:ấ ế ẽ ậ ượ ư
BUILD SUCCESSFUL thì vi c vi t hóa Liferay đã thành công.ệ ệ
.1.2.3 T o theme m i cho Liferayạ ớ .
Cách d dàng nh t đ t o theme là l y m t theme làm m u sau đó s a đ i các ễ ấ ể ạ ấ ộ ẫ ử ổ t pệ
tin .css sao cho phù h p v i nhu c u s d ng.Theme có th thêm vào Liferay b ngợ ớ ầ ử ụ ể ằ
hai cách.
.1.2.3.1 Thêm t p tin và th m cệ ư ụ
Theme đ c thêm vào ượ Liferay b ng cách chép m t c u trúc th m c tuân theo quyằ ộ ấ ư ụ
đ nh. .M t theme th ng có c u trúc th m c sao đây: ị ộ ườ ấ ư ụ
4

Hình 1 - T o theme m i cho Liferay - C u trúc th m c themeạ ớ ấ ư ụ
Css: Ch a nh ng ứ ữ t p tinệ css, có nhi m v đ nh ki u hi n th cho các thành ph nệ ụ ị ể ể ị ầ
c a h th ng FIT portal.ủ ệ ố
Images: Ch a ứcác image c a theme, đ c dùng ho c tham chi u b i nh ngủ ượ ặ ế ở ữ
template.
Javascript: Ch a ứt p tinệ js v i nhi m v giúp load các porlet lên portalớ ệ ụ .
Templates: Ch a nh ng template v cái nhìn t ng quan c a porlet, popup.ứ ữ ề ổ ủ
WEB-INF: T p tinệ Liferay-look-and-feel.xml trong th m c này có tác d ng đăngư ụ ụ
kí theme cho Liferay.
.1.2.3.2 Đóng gói theme thành file war.
Ta có th đóng gói m t theme hay m t t p các themes vào trong m t ể ộ ộ ậ ộ t p tinệ WAR.
T p tinệ này có th đ c deploy đ cài đ t trong Liferay. T p h p các t p tin đ cể ượ ể ặ ậ ợ ệ ượ
đóng gói tuân theo quy lu t nh cách t o theme đã trình bày trên.ậ ư ạ ở
Đ t o thành m t t p tin WAR, ta dùng l nh JAR cho toàn th m c. Ví dề ạ ộ ệ ệ ư ụ ụ:
Ch yạ l nh sau trong c a s cmd:ệ ử ổ C:\CreateTheme\greentheme> jar cvf
greentheme.war *.*
.1.2.4 Chuy n 1 ng d ng web thành portlet.ể ứ ụ
.1.2.4.1 Đ t v n đ .ặ ấ ề
Vi c phát tri n m t portlet t đ u đ n cu i theo chu n JSR-168 đ tích h p vàoệ ể ộ ừ ầ ế ố ẩ ể ợ
portal không ph i là m t v n đ ph c t p. Nh ng n u b n có m t ng d ng webả ộ ấ ề ứ ạ ư ế ạ ộ ứ ụ
đã phát tri n tr c đó, nay mu n tích h p vào portal thì nh th nào? Khi đó b nể ướ ố ợ ư ế ạ
c n nghĩ đ n portals bridges. ầ ế
.1.2.4.2 Các portals bridges.
Trên trang web http://portals.apache.org/bridges/download.html c a Apache, có hủ ỗ
tr m t s bridge chuy n thành các portlet:ợ ộ ố ể
•JSF portlet
5

