BTL Công nghệ portal
BÁO CÁO BÀI TẬP LỚN
Môn: Công nghệ Portal
Đề tài: Xây dựng cổng thông tin phân công lịch giảng dạy cho giáo viên
trường Đại học Công nghiệp Hà Nội.
Nhóm 1
Lớp : KTPM CLC 2 – K6
GV hướng dẫn : Th.s Hoàng Quang Huy
Hà Nội, Tháng 12 năm 2014
1
BTL Công nghệ portal
Mục lục
Lời cảm ơn
Em xin gửi đến thầy Hoàng Quang Huy lời cảm ơn sâu sắc vì thầy là một người thầy
rất tâm huyết đã quan tâm và truyền đạt vốn kiến thức quý báu cho chúng em trong suốt
thời gian học tập vừa qua. Và đặc biệ, trong học kỳ này, thầy đã chúng em được tiếp cận
với một công nghệ mới – Công nghệ portal. Đây như là bước đi đầu của chúng em vào
việc triển khai các ứng dụng mang tính thực tiễn được phát triền rộng rãi trong các năm
gần đây. Cùng với việc học tập các kiến thức trên lớp và tìm hiểu để làm bài tập lớn môn
học này đã giúp chúng em có một cái nhìn tổng quát về cổng thông tin điện tử. Chúng em
đã hiểu được nguyên lý cũng cách thức hoạt động của các loại cổng thông tin điện tử
đang được đưa vào sử dụng hiện nay. Đặc biệt qua đó đã bước đầu biết tùy chỉnh và mở
rộng cổng thông tin do Liferay inc cung cấp hiện nay.
Chúng em xin chân thành cảm ơn thầy!
2
BTL Công nghệ portal
Chương 1 : Về Liferay Portal
1.1 Tổng quan về Liferay
Liferay Portal là giải pháp Cổng điện tử được thiết kế phù hợp với các mô hình ứng
dụng trong các cơ quan, tổ chức và doanh nghiệp có nhu cầu phát triển hệ thống thông tin
trên môi trường web nhằm thực hiện các giao dịch trực tuyến và sử dụng Intranet/Internet
như một công cụ thiết yếu trong các hoạt động, cung cấp thông tin, giao tiếp, quản lý và
điều hành, trao đổi và cộng tác.
• Là công cụ cho phép các cơ quan, tổ chức tự định nghĩa và quản trị “Cổng thông
tin/giao tiếp điện tử” của riêng mình, tự quản nội dung thông tin và các dịch vụ
trên mạng Intranet/Internet.
• Cho phép vận hành một quy trình xuất bản thông tin và các ứng dụng phần mềm
trên quan điểm tích hợp chúng vào trong một giao diện website duy nhất.
Liferay Portal là sản phẩm đứng đầu trong danh sách các sản phẩm portal mã nguồn
mở trên thế giới hiện nay do tạp chí Inforworld.com và tổ chức Gartner đánh giá trong
những năm vừa qua. Liferay được phát triển từ năm 2000, với những bước tiến nhanh và
bền vững, có nền tảng kiến trúc (Framework) ổn định, công nghệ tiên tiến, hỗ trợ các
chuẩn công nghiệp phổ biến trên thế giới. Về tính năng và công nghệ, Liferay Portal có
thể sánh ngang với các sản phẩm thương mại hiện nay, và đặc biệt Liferay có cộng đồng
phát triển ngày càng lớn mạnh, và có sự tham gia hậu thuẫn của Sun Microsystems.
Liferay Portal được phát triển trên các công nghệ tiên tiến, các công cụ và ngôn ngữ
lập trình hiện đại, phần dưới đây tóm lược các công nghệ, ngôn ngữ lập trình và môi
trường phát triển Liferay Portal trên nền kiến trúc J2EE (Java 2 platform, Enterprise
Edition):Liferay Portal sử dụng công nghệ mới nhất của Java, J2EE, tích hợp kiến trúc
hướng dịch vụ SOA (Services-Oriented Architecture) và công nghệ Web 2.0. Hỗ trợ rộng
3
BTL Công nghệ portal
rãi các chuẩn công nghiệp và chuẩn mở (SOAP, LDAP, XML/XSL, SSL, JSR 170,
JSR168, WSRP, Webservices, …). Tuân theo các kiến trúc trong đặc tả J2EE. Liferay
Portal trở thành một hệ thống mở và mềm dẻo, có khả năng tích hợp với các hệ thống hạ
tầng và các ứng dụng, các dịch vụ và các nguồn dữ liệu khác nhau. Theo định hướng kiến
trúc đó, Liferay Portal cung cấp một tập các giao diện để tích hợp với các hệ thống và
ứng dụng bên ngoài, đảm bảo tính độc lập trong các hoạt động của phần nhân hệ
thống.Các dịch vụ và ứng dụng của Liferay Portal được phát triển một cách độc lập dưới
dạng những kênh thông tin riêng của hệ thống (portlets) và tuân thủ chặt chẽ chuẩn phát
triển ứng dụng trên portal JSR 168 và JSR 286. Với thiết kế như vậy, mọi nguồn thông
tin và ứng dụng có thể được tích hợp một cách thống nhất vào hệ thống, và toàn bộ hệ
thống có thể dễ dàng được mở rộng ra theo mọi hướng chức năng. Ngôn ngữ Java là một
ngôn ngữ cho phép xây dựng các phần mềm chỉ cần viết một lần và có thể chạy ở mọi
nơi, tức là các ứng dụng được viết bằng Java chạy được trên nhiều nền hệ thống khác
nhau Windows, Linux, Unix,… Do đó Liferay Portal cũng thừa hưởng được các tính
năng ưu việt đó. Liferay Portal có thể chạy với nhiều web server và kết nối đến nhiều hệ
cơ sở dữ liệu khác nhau như Oracle, SQL Server, My SQL, DB2,… nhờ vào một lớp
(một thành phần) chuyên đảm nhận kết nối cơ sở dữ liệu để đảm bảo các lớp phía trên
của Liferay Portal hoạt động độc lập không phụ thuộc vào hệ quản trị cơ sở dữ liệu cụ thể
nào.
Liferay Portal được thiết kế trên nền tảng kiến trúc và công nghệ tiên tiên, hoạt động
tương tích với hầu hết các hệ điều hành, hệ cơ sở dữ liệu và các web application server,
Liferay Portal đảm bảo có thể vận hành độc lập trên các hệ điều hành khác nhau và tương
thích với nhiều hệ quản trị cơ sở dữ liệu khác nhau, cung cấp một giải pháp phần mềm
khung với độ ổn định và khả năng mở rộng cao, luôn sẵn sàng cho việc nâng cấp, phát
triển và tích hợp các ứng dụng, dịch vụ trong tương lai mà không mất công chỉnh sửa hay
xây dựng lại hệ thống trong tương lai. Có thể thấy rằng, Liferay là giải pháp portal ưu
việt và hiệu quả, tiết kiệm chi phí xây dựng, triển khai, và là giải pháp bảo toàn đầu tư về
lâu dài.
4
BTL Công nghệ portal
Đáp ứng "Tiêu chuẩn Việt Nam":
• Liferay Portal đáp ứng đầy đủ các tiêu chuẩn về tính năng và kỹ thuật nêu
trong Công văn số 1654/BTTTT-ƯDCNTT, ban hành ngày 27/05/2008 của Bộ
Thông tin và Truyền thông.
• Đáp ứng đầy đủ các tiêu chuẩn bắt buộc theo Quyết định số 20/2008/QĐBTTTT ban hành ngày 09/04/2008 của Bộ Thông tin và truyền thông về Danh
mục tiêu chuẩn về ứng dụng Công nghệ thông tin trong các cơ quan nhà nước, bao
gồm các chuẩn về kết nối như HTTP, FTP, LDAP, DNS, POP3, TCP/IP,...; các
chuẩn về tích hợp dữ liệu như: XML, XSL, RDF, UTF-8,…; và nhiều tiêu chuẩn
khác.
1.2 Các đặc tính của Liferay:
• Web Platform:
Một cổng thông tin thường được định nghĩa như là một nền tảng phần mềm cho việc
xây dựng các trang web và ứng dụng web. Cổng thông tin hiện đại đã bổ sung thêm nhiều
tính năng mà làm cho chúng ta có sự lựa chọn tốt nhất cho một mảng rộng các ứng dụng
web. Một số ứng dụng phổ biến cho một cổng thông tin bao gồm:
5
BTL Công nghệ portal
• Xây dựng Gadgets, Portlets, Pages, Themes, Navigation và Websites:
Nền tảng cổng thông tin làm cho người sử dụng dễ dàng để xây dựng các trang web
và
các
websites bằng cách lắp ráp các portlet hoặc các tiện ích trên một trang
portal.Cổng thông tin kết hợp một chủ đề (header / footer và cái nhìn và cảm nhận chung
), một tập hợp các trang, điều hướng (menu bar, vv), và một tập hợp các portlet và tiện
ích. Người quản trị có thể xây dựng các trang mà không cần mã hóa bằng cách sử dụng
lại các portlet và tiện ích hiện có .
6
BTL Công nghệ portal
7
BTL Công nghệ portal
• Trang ẩn danh và trang được xác nhận:
Cổng thông tin làm cho nó dễ dàng để xây dựng các website mà hiển thị nội dung
khác nhau tùy thuộc vào việc người đó đang có hay không đăng nhập.
Ví dụ, một website ngân hàng có một tập hợp các trang mô tả các dịch vụ của nó, các
cung cấp đặc biệt, và thông tin liên lạc có thể truy cập vào tất cả; Tuy nhiên, sau khi
khách hàng đăng nhập , nội dung bổ sung có thể có sẵn như thông tin tài khoản, thanh
toán hóa đơn, các khoản vay, vv...
• Role-Based Content Delivery (cung cấp nội dung dựa trên vai trò):
Cổng thông tin bổ sung đơn giản hóa sự phát triển của các website nó hiển thị dữ liệu
khác nhau tùy thuộc vào vai trò của người sử dụng. Ví dụ, một trang web ngân hàng có
trang ẩn danh và xác thực (logged-in) , nhưng ngoài ra cũng có thể chỉ có các trang khác
nhau có sẵn với nhiều loại khách hàng khác nhau. Một tài khoản tiêu chuẩn có thể có các
dịch vụ và các trang cơ bản , trong khi khách hàng doanh nghiệp có thể có các trang bổ
sung được xác định.
8
BTL Công nghệ portal
• Community Pages(Trang cộng đồng)
Ngoài ra, cổng thông tin cho phép người dùng_cuối(end_user) định nghĩa các trang,
và thêm nội dung cho trang web của mình bằng cách sử dụng các portlet được xác định
trước hoặc các tiện ích. Họ cũng có thể xác định những người có thể truy cập vào các
trang của họ. Sau đó các thành viên trong nhóm có thể cộng tác với nhau trong trang
cộng đồng của họ
• Multiple languages ,multiple platforms(Đa ngôn ngữ, đa nền tảng)
9
BTL Công nghệ portal
Một khi nó được phát triển, một website có thể cần phải được làm sẵn bằng nhiều
ngôn ngữ và từ nhiều nền tảng (ví dụ, điện thoại thông minh, máy tính bảng). Các cổng
thông tin cung cấp một phương pháp để đơn giản hóa việc phát triển và quản lý các trang
cho từng loại người dùng cuối.
1.3 Mở rộng và Tùy chỉnh Liferay
Liferay cung cấp nhiều tính năng out-of-the-box , bao gồm cả một hệ thống đầy đủ
tính năng quản lý nội dung, một bộ hợp tác xã hội, và một số công cụ . Đối với hầu hết
cài đặt, các tính năng này là chính xác những gì cần; nhưng đôi khi sẽ muốn mở rộng
các tính năng hoặc tùy chỉnh hành vi và sự xuất hiện của họ.
Liferay được thiết kế để được tùy chỉnh. Nhiều plugin và các loại plugin có thể được
kết hợp thành một tập tin WAR duy nhất. Chúng ta hãy nhìn vào những kiểu cắm và làm
thế nào họ có thể được sử dụng.
• Tuỳ chỉnh Look và Feel: Themes
Themes giúp đọc xem trang web của và cảm nhận. có thể chỉ định phối hợp màu
sắc và hình ảnh thường được sử dụng. sẽ áp dụng kiểu dáng cho các yếu tố giao diện
người dùng như phông chữ, liên kết, các yếu tố định hướng, tiêu đề trang, trang và cuối
trang, sử dụng một sự kết hợp của CSS và Velocity hoặc Freemarker mẫu. Với AlloyUI
khung Liferay API, sử dụng một giao diện phù hợp với các yếu tố giao diện người dùng
thông thường mà làm cho trang của . Điều này làm cho nó dễ dàng để tạo ra các trang
web có đáp ứng tốt với độ rộng cửa sổ của máy tính để bàn của người dùng, máy tính
bảng, và các thiết bị di động. Quan trọng nhất, chủ đề cho tập trung vào việc thiết kế
giao diện người dùng của trang web, trong khi rời khỏi chức năng của nó cho các portlet.
• Thêm một layout mới tự định nghĩa:
Bố trí này là tương tự như chủ đề, ngoại trừ họ chỉ định sự sắp xếp của các portlet
trên một trang hơn là cái nhìn của họ và cảm nhận. có thể tạo bố trí mẫu để tùy chỉnh sắp
10
BTL Công nghệ portal
xếp các portlet chỉ là cách thích chúng. Và thậm chí có thể nhúng các portlet thường
được sử dụng. Cũng giống như chủ đề, bố cục mẫu cũng được viết trong Velocity và là
hot-triển khai.
• Tùy biến hoặc Mở rộng Out-of-Box Chức năng: Hook Plugins
Plugins Hook là cách tùy chỉnh các chức năng cốt lõi của Liferay tại nhiều điểm
mở rộng được xác định trước. Plugins móc được sử dụng để thay đổi các thuộc cổng
thông tin hoặc để thực hiện các hành động tùy chỉnh khởi động, tắt máy, đăng nhập, đăng
xuất, tạo session, và phá hủy session. Sử dụng bao phủ dịch vụ, một plugin móc có thể
thay thế bất kỳ dịch vụ Liferay lõi với một tùy chỉnh thực hiện. Plugins Hook cũng có thể
thay thế các mẫu JSP được sử dụng bởi bất kỳ của các portlet mặc định. Hay nhất của tất
cả, móc được plugins nóng triển khai giống như các portlet.
• Nâng cao Customization: Ext Plugins
Plugins Ext cung cấp mức độ lớn nhất của tính linh hoạt trong việc thay đổi cốt lõi
Liferay, cho phép thay thế về cơ bản bất kỳ lớp học với một tùy chỉnh thực hiện. Tuy
nhiên, nó là không cao mà một plugin Ext viết cho một phiên bản của Liferay sẽ tiếp tục
làm việc trong các phiên bản tiếp theo mà không sửa đổi. Vì lý do này, Ext plugins chỉ
được khuyên dùng cho các trường hợp trong đó một tác cao cấp là thực sự cần thiết, và
không có sự thay thế. Hãy chắc chắn rằng đã quen thuộc với các lõi Liferay để cắm Ext
của không ảnh hưởng tiêu cực đến các chức năng sẵn có của hệ thống. Mặc dù Ext
plugins được triển khai như plugins, máy chủ phải được khởi động lại cho các tùy chỉnh
của họ để có hiệu lực.
11
BTL Công nghệ portal
1.4 Cài đặt
1.4.1 Các công cụ cần chuẩn bị
• Cài đặt Java JRE 7 (Lưu ý không cài JRE 1.8 do Liferay gặp vấn đề về tương
thích trên JRE này)
• Cài đặt Mysql với user/pass chẳng hạn root/root, sau đó vào MySQL Command
Line để gõ lệnh tạo database
drop database if exists lportal;
create database lportal character set utf8;
grant all on lportal.* to 'lportal'@'localhost' identified by
'lportal' with grant option;
grant all on lportal.* to 'lportal'@'localhost.localdomain' identified
by 'lportal' with grant option;
• Download Eclipse Lunar phiên bản mới nhất, tuy nhiên có thể dùng bản nào cũng
được.
• Download Tomcat 7.0.
• Download Tomcat Plugin ở đường link .
1.4.2 Cấu hình Eclipse
a. Tạo thư mục D:\Liferay-Portal-6.2
b. Giải nén eclipse vào thư mục D:\Liferay-Portal-6.2\eclipse
c. Giải nén tomcat 6.0 vào thư mục D:\Liferay-Portal-6.2\apache-tomcat-7.0.20
d. Giải nén Tomcat Plugins và copy thư mục com.sysdeo.eclipse.tomcat_3.2.1 vào
12
BTL Công nghệ portal
thư mục D:\Liferay-Portal-6.2\eclipse\dropins
e. Khởi động Eclipse. Chọn workspace cho nó là: D:\Liferay-Portal-6.2\workspace
f. Cấu hình Eclipse để nó nhận jdk:
- Vào menu Windows>Preferences, click vào Java>Install JREs
- Nhấn nút Add, chọn Standard VM rồi nhấn Next. Browse đến thư mục
JDK như hình vẽ.
13
BTL Công nghệ portal
Nhấn Finish, rồi Ok.
g. Cấu hình Eclipse để nó nhận Tomcat
- Vào menu Windows>Preferences, click vào Tomcat
- Chọn Tomcat Version 6 và Browse đến Tomcat Home như hình vẽ
- Click Tomcat>JVM Settings. Chọn JRE là jdk1.5.0 và Thêm vào Ô đầu tiên
dòng sau: -Xms128m -Xmx1024m -XX:MaxPermSize=128m. Hình vẽ:
14
BTL Công nghệ portal
- Nhấn nút Ok.
Bước 2: Check out Liferay Source Code:
a. Để lấy được Liferay Source Code trước hết phải lấy được SVN như sau:
- Bước 1: Vào menu Help> Install New Software. Nhấn nút Add.
- Bước 2: Điền vào Dialog Box cập Name/Location như sau:
Subclipse/ . Nhấn Ok. Hình vẽ
15
BTL Công nghệ portal
- Bước 3: Sau khi ấn Ok, chọn cả 3 lựa chọn ở đươi Ô Name rồi ấn Next và
tiếp Tục làm theo hướng dẫn của Eclipse. Lưu ý việc down Subclipse thỉnh
thoảng báo lỗi. Nếu có báo lỗi phải làm lại từ bước 2.
- Bước 4: Restart lại Eclipse
b. Lấy Source Code của Liferay về:
-B1: Vào Windows>Open Perspective>Other>SVN Repository Exploring.
Nhấn Ok.
16
BTL Công nghệ portal
-B2: Trên Khung nhìn SVN Repositories nhấn chuột phải, chọn
New>Repository Location và điên vào dòng sau:
svn://svn.liferay.com/repos/public . Sau đó nhấn Finish.
- B3: Mở nút
svn://svn.liferay.com/repos/public>portal>branches .
Nhấn chuột phải vào 5.2.x rồi bấm Checkout như hình vẽ
17
BTL Công nghệ portal
•
18
BTL Công nghệ portal
- B4: Nhấn Finish để download source code về. Khá lâu, cỡ độ hơn tiếng và
có thể có lỗi. Nếu báo lỗi làm lại từ B2.
Bước 3: Build Ext:
a. Chọn Java Perspective, mở khung nhìn Navigator thấy được Project portal
b. Mở khung nhìn Ant. Lôi file build.xml từ thư mục /portal sang khung nhìn Ant
như hinh dưới
c. Cập nhật Tomcat để nó nhận môi trường Ext
- Tạo một Java Project tên là Server
- Chuột phải vào project Server và chọn New>Folder
19
BTL Công nghệ portal
- Nhập tên folder trùng với tên thư mục Tomcat cho dễ nhớ:
apache-tomcat-6.0.20
- Nhấn nút <
- Nhấn Check box Link to folder in the fle system, Browse đến folder chứa
tomcat.
- Nhân Finish, từ giờ có thể thao tác với Server trên Eclipse thay vì mò đến tận
Folder chứa nó.
e. Cấu hình Server để nó nhận thư viện các file *.jar
- Chuyển qua khung nhìn Package Explorer
- Trỏ tới Server>apache-tomcat-6.0.20>conf
- Mở file catalina.properties
- Tìm đến thuộc tính common.loader, thêm vào cuối dòng để được như sau:
common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar,$
{catalina.home}/lib/ext/*.jar
- Save file đó lại.
Tạo file setenv.bat để có thể gọi tomcat từ dòng lệnh và truy cập tomcat từ Netbeans
như sau:
- Trỏ tới Server>apache-tomcat-6.0.20>bin
20
BTL Công nghệ portal
- Tạo một file setenv.bat với nội dung sau:
set
JAVA_OPTS=%JAVA_OPTS%
-Xmx1024m
-XX:MaxPermSize=256m
-Dfile.encoding=UTF8 Duser.timezone=GMT
-Djava.security.auth.login.config="%CATALINA_HOME
%/conf/jaas.config" Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=fa
lse
- Save nó lại.
d. Chỉnh sửa các file properties:
Giả sử Username đăng nhập vào máy tính là hunghm. Nhìn vào thư mục /portal có
3 file quan trọng release.properties, build.properties, app.server.properties. Thay vì
chỉnhsử
trực
tiếp
trong
3
file
này
release.hunghm.properties,build.hunghm.properties,
ta
tạo
ra
3
file
mới:
app.server.hunghm.properties và
ghi các thuộc tính cần thay đổi vào đó rồi copy vào cùng thư mục.
- release.hunghm.properties cho biết thư mục ext để ở đâu. Ghi vào file 1 dòng
sau:
lp.ext.dir=D:/Liferay-Portal-5.2/workspace/ext
- build.hunghm.properties cho biết phiên bản của Java. Giả sư phiên bản Java
cài đặt trên máy là 1.6.2_16 thì chỉ lưu ý phần 1.6. Ghi vào file 2 dòng sau:
• ant.build.javac.source=1.6
• ant.build.javac.target=1.6
- app.server.hunghm.properties: ghi vào file các dòng dưới đây:
app.server.type=tomcat
app.server.tomcat.dir=D:/Liferay-Portal-5.2/apache-tomcat-6.0.20
21
BTL Công nghệ portal
app.server.tomcat.version=6.0
app.server.tomcat.classes.global.dir=D:/Liferay-Portal-5.2/apache-tomcat6.0.20/lib
app.server.tomcat.lib.endorsed.dir=D:/Liferay-Portal-5.2/apache-tomcat-6.0.20/lib/ext
app.server.tomcat.lib.global.dir=D:/Liferay-Portal-5.2/apache-tomcat-6.0.20/lib/ext
app.server.tomcat.lib.support.dir=D:/Liferay-Portal-5.2/apache-tomcat-6.0.20/lib/ext
app.server.tomcat.support.dir=D:/Liferay-Portal-5.2/apache-tomcat-6.0.20/lib/ext
e. Build:
- Chuyển qua khung nhìn ant. Mở nút portal
- Bấm clean. Đợi báo BUILD SUCCESSFULLY
- Bấm start. Đợi khoảng 14 phút báo BUILD SUCCESSFULLY
- Bấm build-ext. Đợi khoảng 2 phút báo BUILD SUCCESSFULLY
- Đã Build xong môi trường ext.
Bước 4: Deploy Ext
a. Nhận Project ext:
Sau khi build xong, đã có một project mới trong workspace là ext. Để eclipse nhận
project mới này làm như sau:
- Chuyển qua khung nhìn Navigator, ấn chuột phải, chọn Import
- Chọn General>Existing Projects into Workspace
22
BTL Công nghệ portal
- Browse root directory đến thư mục D:\Liferay-Portal-5.2\workspace\ext
- Nhấn Finish.
b. Cấu hình kết nối CSDL
- Giả sử đăng nhập mysql với user/pass là root/root
- Trên khung nhìn Navigator, mở nút ext>ext-impl>src, mở file
portal-ext.properties và thêm vào dòng sau.
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/lportal?
useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=root
jdbc.default.password=root
- Save file đó lại
c. Chỉnh sửa các file properties
- copy 2 file app.server.hunghm.properties, build.hunghm.properties từ thư
mục /portal vào thư mục /ext
d. Deploy
- Kéo file build.xml từ thư mục /ext sang khung nhìn Ant
- Chuyển qua khung nhìn Ant, mở nút ext
23
BTL Công nghệ portal
- Bấm clean. Đợi báo BUILD SUCCESSFULLY
- Bấm deploy. Đợi báo BUILD SUCCESSFULLY
- Đã deploy xong. Bấm vào biểu tượng Start Tomcat để chạy Liferay Portal.
1.5 Tìm hiểu công nghệ
Theo Wikipedia "Một ứng dụng web là một ứng dụng mà được truy cập qua mạng
như Internet hoặc mạng nội bộ." Một ứng dụng cổng thông tin là một ứng dụng web có
thể cùng tồn tại với các ứng dụng khác. Các tính năng đòn bẩy của ứng dụng cổng thông
tin được cung cấp bởi các nền tảng cổng thông tin để giảm thời gian phát triển và cung
cấp kinh nghiệm phù hợp hơn cho người dùng cuối.
Là một nhà phát triển muốn chạy các ứng dụng của trên đầu trang của Liferay
Portal, có thể muốn biết cách tốt nhất và nhanh nhất để làm điều đó là gì? Liferay hỗ trợ
hai khái niệm chính, dựa trên các chuẩn công nghệ kết hợp với các ứng dụng của vào
Liferay: Portlets và tiện ích OpenSocial.
1.5.1 Portlets
Portlets là những ứng dụng web nhỏ viết bằng Java chạy trong một phần của một
trang web. Trái tim của bất kỳ thực hiện cổng thông tin là các portlet của nó, bởi vì chúng
chứa các chức năng chính. Các portlet container chỉ tập hợp các portlet xuất hiện trên mỗi
trang.
Kể từ khi chúng độc lập hoàn toàn , portlet là cơ chế mở rộng tối thiểu cho việc mở
rộng Liferay, và cũng là những lựa chọn phát triển chuyển tiếp tương thích nhất. Chúng
triển khai như plugins vào thể hiện(instances) của Liferay, dẫn đến thời gian chết. Một
plugin độc lập có thể chứa nhiều portlet, cho phép chia sẻ chức năng của thành nhiều
mảnh nhỏ hơn có thể được sắp xếp tự động trên một trang. Portlet có thể được viết bằng
cách sử dụng bất kỳ các Java web framework có hỗ trợ phát triển portlet, bao gồm cả
24
BTL Công nghệ portal
framework cụ thể của Liferay: MVC Portlet và hợp kim Portlet. Portlet có thể được sử
dụng để xây dựng các ứng dụng phức tạp kể từ khi họ có thể tận dụng các bộ đầy đủ các
công nghệ và các thư viện cho các nền tảng Java.
1.5.2 OpenSocial Gadgets
Tiện ích OpenSocial thường dành cho các ứng dụng nhỏ, được viết bằng cách sử
dụng công nghệ trình duyệt phụ như HTML và JavaScript. Cũng giống như các portlet,
tiện ích OpenSocial cung cấp một cách tiêu chuẩn để phát triển các ứng dụng cho một
môi trường cổng thông tin. Từ góc độ công nghệ, một sự khác biệt quan trọng là họ
không áp đặt một công nghệ back-end cụ thể, chẳng hạn như Java EE, PHP, Ruby,
Python, vv… Một khác biệt nữa là chúng đã được thiết kế đặc biệt để thực hiện các ứng
dụng xã hội, trong khi portlet được thiết kế cho bất kỳ loại ứng dụng. Bởi vì điều này,
OpenSocial tiện ích không chỉ cung cấp một tập hợp các công nghệ để phát triển và chạy
các ứng dụng, mà còn là một tập các API cho phép các ứng dụng để có được thông tin từ
môi trường xã hội như các thông tin về một profile của người dùng, các hoạt động và bè
của họ.
Một tiện ích OpenSocial được triển khai trong Liferay là một trong các loại sau
đây:
• Tiện ích từ xa:
Được thực hiện trong một máy chủ từ xa nhưng được trình bày trong một trang
nhất định nếu nó là một nền tảng ứng dụng. Triển khai tiện ích từ xa rất đơn giản, nhưng
các cổng thông tin phụ thuộc vào các máy chủ điều khiển từ xa cho các tiện ích để làm
việc. Triển khai như một công cụ điều khiển từ xa không phải là một lựa chọn khả thi
trong một số môi trường Intranet mà không được tiếp cận đầy đủ với Internet.
• Tiện ích địa phương:
25