51
BÁO CÁO THỰC TẬP TỐT NGHIỆP Tìm hiểu các chức năng của một Hệ thống portal Nghiên cứu , cài đặt một hệ thống portal với Liferay Thiết kế 1 Portlet cho hệ thống. Nơi thực tập : Phòng NCPT Dịch vụ Bưu chính Viễn thông Người hướng dẫn : Hoàng Cường Người báo cáo : Nguyễn Quỳnh Mai Lớp : H09CN11 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG TRUNG TÂM CÔNG NGHỆ THÔNG TIN

Setup Liferay

Embed Size (px)

DESCRIPTION

Setup Liferay

Citation preview

Page 1: Setup Liferay

BÁO CÁO

THỰC TẬP TỐT NGHIỆPTìm hiểu các chức năng của một Hệ thống portal

Nghiên cứu , cài đặt một hệ thống portal với Liferay

Thiết kế 1 Portlet cho hệ thống.

Nơi thực tập : Phòng NCPT Dịch vụ Bưu chính Viễn thông

Người hướng dẫn : Hoàng Cường

Người báo cáo : Nguyễn Quỳnh Mai

Lớp : H09CN11

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

TRUNG TÂM CÔNG NGHỆ THÔNG TIN

Page 2: Setup Liferay

Báo cáo thực tập tốt nghiệp

ĐÁNH GIÁ KẾT QUẢ THỰC TẬP TỐT NGHIỆP

(Thời gian thực tập: Từ ngày 31/10/2011 đến ngày 4/12/2011 )

Họ và tên sinh viên : Nguyễn Quỳnh Mai

Lớp: H09CN11

NỘI DUNG ĐÁNH GIÁ

1. Chấp hành kỷ luật : (Tốt, Trung bình, hoặc Yếu)………………………

2. Ý thức học tập : (Tốt, Trung bình, hoặc Yếu)…………………………...

3. Quan hệ, giao tiếp : (Tốt, Trung bình, hoặc Yếu)……………………….

4. Điểm : (Thang điểm 10)……………………………………………………..

Các ý kiến khác (nếu có:…………………………………………………………….

Điểm của Hội đồng đánh giá thực tập tốt nghiệp CDiT:………………….

Điểm trung bình của thực tập của sinh viên: ……………………………..

Nguyễn Quỳnh Mai H09cn11

TRUNG TÂM CÔNG NGHỆ THÔNG TIN

Phòng NCPT Dịch vụ Bưu chính Viễn thông

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập -Tự do - Hanh phúc

Ngày tháng năm 2011

Giáo viên hướng dẫn thực tập

(Ký và ghi rõ họ tên)

2

Hà nội 12/2011

Page 3: Setup Liferay

Báo cáo thực tập tốt nghiệp

LỜI CẢM ƠN

Thực tập tốt nghiệp nhằm giúp sinh viên tìm hiểu, thu thập những tài liệu thực

tế ởi đơn vị thực tập, đồng thời vận dụng kiến thức đã học. Qua thời gian học tập tại

học viện công nghệ bưu chính viễn thông,được sự chỉ bảo tận tình của các thầy cô

giáo trong trường em đã trang bị cho mình được nhiều kiến thức để chuẩn bị đi vào

thực tế.

Được sự phân công của khoa công nghệ thông tin - Học viện công nghệ bưu

chính viễn thông, em được thực tập tại Phòng NCPT Dịch vụ Bưu chính

Viễn thông .Trong thời gian 1 tháng làm cáo cáo thực tập tốt nghiệp em xin chân

thành cảm ơn thầy Hoàng Cường phòng dịch vụ bưu chính viễn thông – học viện

công nghệ bưu chính viễn thông đã nhiệt tình hướng dẫn em về chuyên môn cũng

như phương pháp làm việc để em có thể hoàn thành đề tài.

Do còn hạn chế về kiến thức và năng lực nên báo cáo không tránh khỏi thiếu sót về

nội dung và hình thức. Để báo cáo được hoàn thiện hơn em rất mong được sự góp ý

của thầy cô và các bạn.

Qua đây, em cũng xin gửi lời cảm ơn chân thành tới các thầy, các cô trong

phòng Dịch vụ Bưu chính Viễn thông – Học viện CN bưu chính viễn thông đã giúp

đỡ, tạo điều kiện cho em hoàn thành đề tài thực tập này.

Em xin gửi đến quý thầy cô lời chúc sức khỏe và thành công

Em xin chân thành cảm ơn !

Nguyễn Quỳnh Mai H09cn11 3

Page 4: Setup Liferay

Báo cáo thực tập tốt nghiệp

Mục lục

Mục lục ............................................................................................................................................. 4

LỊCH LÀM VIỆC ............................................................................................................................ 7

Phần A ............................................................................................................................................. 8

GIỚI THIỆU ĐƠN VỊ THỰC TẬP ............................................................................................. 8

II. Tổ chức .................................................................................................................................................... 9

III. Các lĩnh vực hoạt động ........................................................................................................................ 10

Phần B ........................................................................................................................................... 10

NỘI DUNG THỰC TẬP ............................................................................................................. 10

I. GIỚI THIỆU CHUNG ........................................................................................................................... 10

II. Các chức năng của một Hệ thống portal ............................................................................................. 13

1. Tổng quan về Portal. Portal, tên đầy đủ là Web Portal, là một hệ thống hoạt động trên Web, định danh và xác thực người dùng đăng nhập, từ đó sẽ cung cấp một giao diện web để người dùng dễ dàng truy cập, khai thác thông tin và dịch vụ cũng như thao tác, tuỳ biến các công việc tác nghiệp của mình một cách nhanh chóng và đơn giản......................................................................................................................13 Định nghĩa một cách tương đối, Portal là một phần mềm ứng dụng Web- based, định danh và xác thực người dùng đăng nhập, từ đó sẽ cung cấp giao diện mang tính cá nhân hóa cho người sử dụng. Thông qua giao diện này, người dùng dễ dàng truy cập, khai thác, tìm kiếm, giao tiếp với các ứng dụng, các thông tin, và với những người dùng khác............................................................................142. Các chức năng của portal................................................................................15

2.1 Chức năng tìm kiếm .................................................................................15 Chức năng tìm kiếm là dịch vụ đầu tiên cần phải có của tất cả các Portal. Sau khi người sử dụng mô tả loại thông tin mà mình cần thông qua các từ khoá hoặc tổ hợp các từ khoá, dịch vụ này sẽ tự động thực hiện tìm kiếm thông tin trên các Website có trên Internet và trả lại kết quả cho người dùng. Thời gian thực hiện của dịch vụ tìm kiếm này rất nhanh, do vậy rất tiện lợi cho người dùng.2.2 Dịch vụ thư mục.......................................................................................152.3. Ứng dụng trực tuyến................................................................................162.4 Cá nhân hoá các dịch vụ ...........................................................................162.5 Cộng đồng ảo ...........................................................................................172.6 Một điểm tích hợp thông tin duy nhất ......................................................172.7 Kênh thông tin .........................................................................................18

3 . Phân biệt Portal với CMS (A content management system)..........................18

Nguyễn Quỳnh Mai H09cn11 4

Page 5: Setup Liferay

Báo cáo thực tập tốt nghiệp

3.1 Khả năng cá nhân hoá :.............................................................................193.2 Khả năng tích hợp nhiều loại thông tin :..................................................193.3 Khả năng xuất bản thông tin theo tiêu chuẩn :..........................................203.4 Hỗ trợ nhiều môi trường hiển thị thông tin :.............................................20 3.5 Khả năng đăng nhập một lần :.................................................................203.6 Khả năng quản trị portal :........................................................................213.7 Khả năng quản trị người dùng:.................................................................21

III. Tim hiêu hệ thống portal với Liferay ................................................................................................. 22

1. Khái niệm Liferay ..........................................................................................222. Các phiên bản của Liferay...............................................................................242. Các thành phần của Liferay.............................................................................26

IV. Cài đặt và thiết kế Portlet cho Liferay. ............................................................................................. 28

1. Portlet. Một server portal quản lý các yêu cầu của client. Và có một portlet container để quản lý việc chạy các Portlets. Bên trong portal là Portlet API - phục tùng mệnh lệnh của portlet container chúng quản lý trạng thái thực thi của portlet. Portlet container đánh giá những portlet đó thành các fragments, hoặc là tạo yêu cầu (request) của portlet hoặc là lấy một fragment trong cache. Sau đó, container nắm fragment gửi đến portal server để kết hợp chúng vào trong trang portal. Tạo nên giao diện của trang Portal.............................................................................28 2. NetBean IDE NetBean IDE là một “môi trường phát triển tích hợp“ (Integrated Development Environment) kiểu như Visual Studio của Microsoft và được xem là một một bộ ứng dụng “must-download” dành cho các nhà phát triển phần mềm. NetBean IDE hỗ trợ nhiều hệ điều hành khác nhau như Windows, Mac, Linux, và Solaris. NetBean bao gồm một IDE mã nguồn mở và một nền tảng ứng dụng cho phép nhà phát triển nhanh chóng tạo nên các ứng dụng dành cho web, doanh nghiệp, desktop và thiết bị di động bằng các ngôn ngữ lập trình Java, C/C++, JavaScript, Ruby, Groovy, và PHP. NetBeans IDE 6.5 Beta cung cấp nhiều tính năng mới như shortcut tìm kiếm trong toàn bộ IDE gọi là QuickSearch, giao diện thận thiện hơn với người dùng, và tính năng tự động biên dịch khi lưu (Compile on Save). Ngoài việc hỗ trợ Java mọi phiên bản (Java SE, Java EE, Java ME), NetBean IDE còn là công cụ lý tưởng cho việc phát triển phần mềm bằng các ngôn ngữ PHP, C/C++, Groovy and Grails, Ruby and Rails, Ajax and JavaScript. Phiên bản 6.5 còn tăng cường hỗ trợ cho web framework (Hibernate, Spring, JSF, JPA), trình ứng dụng máy chủ GlassFish và cơ sở dữ liệu............................................................................32

KẾT LUẬN .................................................................................................................................... 32

Phần C: PHỤ LỤC ....................................................................................................................... 35 1.Cài đặt và cấu hình liferay..............................................................................35Paord: test............................................................................................................37

Nguyễn Quỳnh Mai H09cn11 5

Page 6: Setup Liferay

Báo cáo thực tập tốt nghiệp

2. Thiết kế Portlet cho Liferay...........................................................................37 2.1 Chuẩn bị các gói cài đặt trên môi trường Windows.................................372.2 Khởi động Netbeans..................................................................................392.3 Sau đó add Liferay Portal Server cho netbeans : .....................................392.4 Thiết kế 1 Portlet cho hệ thống .............................................................41

............................................................................................................................483. Tích hợp portlet vào hệ thống.........................................................................49

Nguyễn Quỳnh Mai H09cn11 6

Page 7: Setup Liferay

Báo cáo thực tập tốt nghiệp

LỊCH LÀM VIỆC

Họ và tên sinh viên: Nguyễn Quỳnh Mai

Cơ quan thực tập : Phòng NCPT Dịch vụ Bưu chính Viễn thông

Họ và tên cán bộ hướng dẫn: Hoàng Cường

Thời gian thực tập, từ ngày 31 tháng 10 năm 2011 đến ngày 4 tháng 12 năm 2011

Tuần Nội dung công việc được giaoTự nhận xét về mức độ

hoàn thành

Nhận xét của

CB hướng

dẫn

Chữ ký

của CB

hướng

dẫn1

Từ

31/10

đến

5/11

- Tìm tài liệu về các chức năng

của một Hệ thống portal

- Tìm tài liệu tổng quan về PortalPhân biệt Portal với CMS

Tìm đầy đủ được các tài

liệu liên quan

Có tài liệu mô tả chi tiết

các chức năng

2

Từ

6/11

đến

12/11

- Tìm tài liệu về Liferay, thành

phần của Liferay, ứng dụng của

Liferay trên thực tế.

Tìm đầy đủ tài liệu

Có tài liệu tổng quan về hệ

thống portal với Liferay

3

Từ

13/11

đến

19/11

-Chuẩn bị các gói cài đặt trên môi trường Windows 7 :

1. JDK :phát triển ngôn ngữ Java và môi trường máy ảo Java2. ANT : để phát triển ứng dụng, cài đặt ANT để có thể biên dịch và phân phối3. Gói liferay-portal-Cai đăt thư nghiêm

-Cài đặt 3 gói tin chạy trên windowsTài liệu cài đặt và tài liệu thiết kếCai đăt hoan thiên môt hê thông portal vơi Liferay

- Hệ thống chạy Tài liệu chi tiết quá trình

cài đặt

- Cài đặt Netbeans 7.0.1 -Cài đặt thành công. Chạy

Nguyễn Quỳnh Mai H09cn11 7

Page 8: Setup Liferay

Báo cáo thực tập tốt nghiệp

Tuần Nội dung công việc được giaoTự nhận xét về mức độ

hoàn thành

Nhận xét của

CB hướng

dẫn

Chữ ký

của CB

hướng

dẫn

4

Từ

20/11

đến

26/11

liferay-portal-5.2.3.- Add liferay vào netbeans- Tạo 1 Portlet.- Tích hợp portlet vào hệ thống

netbeans trên nền java không lỗi, tạo được portlet trong netbeans sau đó tích hợp vào hệ thống.- Hoàn thiện 1 Portlet cho hệ thống.

-Tài liệu thiết kế portlet

5

Từ

27/11

đến

4 /12

Viết báo cáo

- In quyển báo cáo chi tiết

Phần A

GIỚI THIỆU ĐƠN VỊ THỰC TẬP

I. Chức năng

Được thành lập năm 1999 trong xu thế cạnh tranh và hội nhập toàn cầu, Trung

tâm Công nghệ Thông tin CDIT, với vai trò là đơn vị nghiên cứu phát triển hàng đầu

trong lĩnh vực công nghệ thông tin, xác định: việc lĩnh hội, đúc kết và phát huy tiềm

Nguyễn Quỳnh Mai H09cn11 8

Page 9: Setup Liferay

Báo cáo thực tập tốt nghiệp

năng, nội lực, làm chủ công nghệ là mục tiêu chiến lược nhằm thực hiện thành công

định hướng gắn kết Nghiên cứu - Đào tạo - Sản xuất Kinh doanh. CDIT đã duy trì,

phát triển và chiếm lĩnh thị trường trong nước với các sản phẩm đáp ứng tiêu chí:

Tiên tiến - Tương thích - Toàn cầu, thay thế sản phẩm nhập khẩu, nỗ lực đóng góp

cho sự phát triển của mạng lưới bưu chính viễn thông và công nghệ thông tin Việt

Nam, vươn mình hòa nhập với cộng đồng CNTT trong khu vực và trên thế giới.

Trung tâm Công nghệ Thông tin CDIT được Tổng giám đốc Tổng Công ty

Bưu chính Viễn thông Việt Nam ký quyết định thành lập số 636/QĐ.TCCB-LĐ ngày

22 tháng 3 năm 1999, trên cơ sở sắp xếp lại hai đơn vị thành viên của các đơn vị trực

thuộc Học viện Công nghệ Bưu chính Viễn thông :

1. Trung tâm Nghiên cứu Phát triển Phần mềm thuộc Viện KHKT Bưu điện;

2. Trung tâm Đào tạo Phát triển Phần mềm thuộc Trung tâm Đào tạo BCVT1.

* Nhiệm vụ

Trung tâm Công nghệ Thông tin CDIT có nhiệm vụ: nghiên cứu, phát triển, triển khai

sản phẩm, chuyển giao công nghệ và đào tạo trong lĩnh vực Công nghệ Thông tin

phục vụ Ngành Bưu chính Viễn thông và xã hội.

* Nhân lực

90% đội ngũ là kỹ sư, chuyên gia phát triển phần mềm, 74% đội ngũ có trình độ đại

học, 19% có trình độ thạc sỹ, 4% có trình độ Tiến sỹ.

II. Tổ chức

MÔ HÌNH TỔ CHỨC

Nguyễn Quỳnh Mai H09cn11 9

Page 10: Setup Liferay

Báo cáo thực tập tốt nghiệp

III. Các lĩnh vực hoạt động

Trung tâm Công nghệ Thông tin hoạt động trên năm lĩnh vực chính:

1. Nghiên cứu khoa học công nghệ;

2. Phát triển, triển khai công nghệ và sản phẩm;

3. Sản xuất phần mềm và thiết bị;

4. Tiếp nhận và chuyển giao công nghệ;

5. Đào tạo và bồi dưỡng nhân lực.

Phần B

NỘI DUNG THỰC TẬP

I. GIỚI THIỆU CHUNG

Trong sự phát triển mạnh mẽ của Internet, thì các Website giữ một vai trò đặc

biệt quan trọng trong mọi lĩnh vực của đời sống nhân loại. Với đam mê sáng tạo và

Nguyễn Quỳnh Mai H09cn11

BAN GIÁM ĐỐC ĐẢNG, CÔNG ĐOÀN, ĐOÀN THANH NIÊN

Phòng tổng hợp

Phòng kế hoạch tài chính

Phòng nc phát triển mạng và hệ thống

Phòng nc phát triển dịch vụ BCVT

Phòng nc phát triển ứng dụng

10

Page 11: Setup Liferay

Báo cáo thực tập tốt nghiệp

chinh phục thế giới, công nghệ thông tin đã và đang thay đổi từng ngày. Các thế hệ

website ra đời, cải tiến liên tục, cùng với Web Service, sự trợ giúp của công nghệ

Mobile Agent - một chương trình thay mặt người dùng thực hiện công việc tìm kiếm

và xử lý thông tin trên Internet - khái niệm Website truyền thống được chuyển thành

“Website thông minh” với sự trợ giúp của dịch vụ Search Engine, một công cụ cho

phép tìm kiếm và lọc thông tin trên cơ sở các từ khoá được xác lập bởi người dùng và

dịch vụ phân loại thông tin – Category. Từ đó, thuật ngữ “Website thông minh” hay

“Cổng điện tử” - Portal được hình thành.

Ở nước ta, một số địa phương cũng rất quan tâm phát triển công nghệ Portal

như thành phố Hà Nội, thành phố Hồ Chí Minh, Quảng Nam và một số địa phương

khác… Các địa phương này đã xây dựng được cổng thông tin điện tử cho riêng mình,

để nó trở thành một công cụ phục vụ đắc lực trong việc quản lý, điều hành các hoạt

động kinh tế, xã hội.

Tên chủ đề thực tập Tìm hiểu các chức năng của một Hệ thống portal, Nghiên

cứu , cài đặt một hệ thống portal với Liferay, Thiết kế 1 Portlet cho hệ thống.

Nguyễn Quỳnh Mai H09cn11 11

Page 12: Setup Liferay

Báo cáo thực tập tốt nghiệp

Nguyễn Quỳnh Mai H09cn11 12

Page 13: Setup Liferay

Báo cáo thực tập tốt nghiệp

II. Các chức năng của một Hệ thống portal

1. Tổng quan về Portal.

Portal, tên đầy đủ là Web Portal, là một hệ thống hoạt động trên Web, định

Nguyễn Quỳnh Mai H09cn11

STTNội dung Cách thức thực hiện Kết quả cần đạt

1Tìm hiểu các chức năng của một Hệ thống portal

- Tìm tài liệu -Tài liệu mô tả chi tiết các chức năng

1.1-Tìm hiểu các chức năng của một Hệ thống portal

-Tìm hiểu tổng quan về Portal-Các chức năng của portal-Phân biệt Portal với CMS

-Tài liệu

1.2

-Tim hiêu hệ thống portal với Liferay

- Tìm hiểu Liferay là gì-Các thành phần của Liferay-Các ứng dụng của Liferay trên thực tế

- Tài liệu tổng quan về hệ thống portal với Liferay

2Cài đặt và thiết kế Portlet cho Liferay

-Cài đặt- Thiết kế Portlet cho Liferay

-Tài liệu cài đặt hệ thống và tài liệu thiết kế

2.1

-Cài đặt một hệ thống portal với Liferay

-Chuẩn bị các gói cài đặt trên môi trường Windows

-Cai đăt thư nghiêm

-Cai đăt hoan thiên môt hê thông portal vơi Liferay

- Hệ thống chạy -Tài liệu chi tiết quá trình cài đặt

2.2

- Thiết kế 1 Portlet cho hệ thống

-Hoàn thiện báo cáo

-Thiêt kê 1 Portlet.-Tích hợp portlet vào hệ thống

- Hoàn thiện 1 Portlet cho hệ thống.

-Tài liệu thiết kế portlet- In quyển báo cáo chi tiết

13

Page 14: Setup Liferay

Báo cáo thực tập tốt nghiệp

danh và xác thực người dùng đăng nhập, từ đó sẽ cung cấp một giao diện web để

người dùng dễ dàng truy cập, khai thác thông tin và dịch vụ cũng như thao tác, tuỳ

biến các công việc tác nghiệp của mình một cách nhanh chóng và đơn giản.

Định nghĩa một cách tương đối, Portal là một phần mềm ứng dụng Web-

based, định danh và xác thực người dùng đăng nhập, từ đó sẽ cung cấp giao diện

mang tính cá nhân hóa cho người sử dụng. Thông qua giao diện này, người dùng dễ

dàng truy cập, khai thác, tìm kiếm, giao tiếp với các ứng dụng, các thông tin, và với

những người dùng khác.

Đứng trên khía cạnh công nghệ, ngày nay portal được coi như một giải

pháp(frame work) mà thông qua đó chúng ta có thể quy tụ, quản lý nhiều nguồn

thông tin(bao gồm thông tin và ứng dụng phần mềm) khác nhau vào trong một thực

thể phần mềm duy nhất-phần mềm portal. Từ đó, các thông tin được phân phối dưới

dạng các dịch vụ cho từng người dùng khác nhau tuỳ thuộc vào nhóm quyền, vào nhu

cầu cũng như mục đích của người dùng đó.

Có thể nói, Portal như một cổng vào vạn năng cho người dùng tìm kiếm thông

tin và tác nghiệp một cách thuận lợi và dễ dàng.

Để làm rõ bản chất của Portal chúng ta đưa ra bảng so sánh giữa Portal với

một Website thông thường sau đây.

Portal Website thông thường+ Portal hỗ trợ khả năng đăng nhập một lần tới tất

cả các tài nguyên được liên kết với Portal. Nghĩa

là, người dùng chỉ cần một lần đăng nhập là có thể

vào và sử dụng tất cả các ứng dụng đã được tích

hợp trong Portal đó mà người dùng này có quyền.

+ Một website thông thường

không có được khả năng đăng

nhập một lần.

+ Portal hỗ trợ khả năng cá nhân hóa theo người

sử dụng.Đây là một trong những khả năng quan

trọng của Portal, giúp nó phân biệt với một

website thông thường. Portal cá nhân hóa nội

+ Thường không hỗ trợ, nếu có

chỉ ở mức độ rất nhỏ, không phải

là đặc điểm nổi bật.

Nguyễn Quỳnh Mai H09cn11 14

Page 15: Setup Liferay

Báo cáo thực tập tốt nghiệp

Portal Website thông thườngdung hiển thị, thông thường đây là sự lựa chọn

một cách tự động dựa trên các quy tắc tác nghiệp,

chẳng hạn như vai trò của người sử dụng trong

một tổ chức+ Khả năng tùy biến.

Đây là một khả năng tiêu biểu của một Portal.

+ Một vài Website có nhưng chỉ

dừng lại ở mức độ dựng sẵn.

+ Liên kết truy cập tới hàng trăm kiểu dữ liệu, kho

dữ liệu, kể cả dữ liệu tổng hợp hay đã phân loại.

Portal nó có khả năng liên kết tới tài nguyên dữ

liệu rộng lớn, gồm nhiều kiểu dữ liệu từ dữ liệu

thông thường đến siêu dữ liệu.

+ Chỉ sử dụng các liên kết để tới

các site khác nhưng nội dung chủ

yếu vẫn chỉ tập trung trong trang

đó.

+ Portal hỗ trợ rất tốt khả năng liên kết và hợp tác

người dùng.

Portal không chỉ liên kết chúng ta với những gì

chúng ta cần mà còn liên kết với những người mà

chúng ta cần. Khả năng liên kết này được thực

hiện bởi các dịch vụ hợp tác.

+ Không hỗ trợ

2. Các chức năng của portal.

2.1 Chức năng tìm kiếm

Chức năng tìm kiếm là dịch vụ đầu tiên cần phải có của tất cả các

Portal. Sau khi người sử dụng mô tả loại thông tin mà mình cần thông qua các

từ khoá hoặc tổ hợp các từ khoá, dịch vụ này sẽ tự động thực hiện tìm kiếm

thông tin trên các Website có trên Internet và trả lại kết quả cho người dùng.

Thời gian thực hiện của dịch vụ tìm kiếm này rất nhanh, do vậy rất tiện lợi

Nguyễn Quỳnh Mai H09cn11 15

Page 16: Setup Liferay

Báo cáo thực tập tốt nghiệp

cho người dùng.

2.2 Dịch vụ thư mục.

Đối với những người dùng không muốn tìm kiếm thông tin qua các từ khoá,

họ có nhu cầu tìm kiếm thông tin theo một chủ đề, lĩnh vực nào đó, thì có thể sử dụng

dịch vụ thư mục phân loại thông tin. Dịch vụ thư mục là dịch vụ thực hiện phân loại

và sắp xếp thông tin trên các website theo chủ đề có thể có nhiều chủ đề con trong

một chủ đề và có thể tiếp tục phân tách xuống các mức thấp hơn.

2.3. Ứng dụng trực tuyến.

Bao gồm các ứng dụng phổ biến nhất của Internet, hiện nay có các ứng dụng điển

hình như :

- Thư điện tử: Các Portal lớn như Yahoo, Excite, v.v… thường cung cấp các

tài khoản điện tử (E-mail account) miễn phí cho người dùng. Dịch vụ này rất có ý

nghĩa vì người dùng có thể nhận/gửi tại bất cứ địa điểm nào của Internet.

- Lịch cá nhân: Một số Portal cung cấp dịch vụ “lịch cá nhân - calendar” miễn

phí cho người dùng. Dịch vụ này giúp người sử dụng có thể sử dụng lịch cá nhân mọi

nơi trên Internet.

- Hội thoại trực tuyến: Dịch vụ này cho phép nhóm người dùng hội thoại trực

tuyến với nhau thông qua môi trường Internet, không phụ thuộc vào khoảng cách địa

lý giữa họ. Có thể liệt kê nhiều loại dịch vụ trực tuyến khác như dịch vụ hỗ trợ kỹ

thuật trực tuyến giữa các nhà sản xuất với khách hàng của mình…

- Các dịch vụ khác: Một trong những dịch vụ hấp dẫn người sử dụng là bưu

thiếp điện tử. Thay vì gửi bưu thiếp qua đường bưu điện thông thường, ngay nay

người sử dụng có thể gửi bưu thiếp chức mừng người thân của mình thông qua mạng

Internet.

2.4 Cá nhân hoá các dịch vụ

Cá nhân hoá là dịch vụ đặc trưng quan trọng của Portal. Trên cơ sở các thông

tin của từng khách hàng cụ thể, nhà cung cấp có thể tạo ra các dịch vụ mang tính định

Nguyễn Quỳnh Mai H09cn11 16

Page 17: Setup Liferay

Báo cáo thực tập tốt nghiệp

hướng cá nhân, phù hợp với yêu cầu, sở thích của từng khách hàng riêng biệt của

mình. Thông qua đó các nhà cung cấp có khả năng tăng cường mối quan hệ với

khách hàng, duy trì được sự tín nhiệm của khách hàng đối với nhà cung cấp.

Cá nhân hoá các dịch vụ được tiến hành thông qua dữ liệu thông tin cá nhân

về khách hàng (customer profiles). Dữ liệu này chứa các thông tin mang tính cá nhân

như nghề nghiệp, thói quen, sở thích v.v… từ những thông tin cá nhân này, các nhà

cung cấp có khả năng giới hạn cung cấp các thông tin và các dịch vụ mà khách hàng

thực sự quan tâm muốn có. Có nghĩa là tránh được việc cung cấp các thông tin và

dịch vụ không cần thiết có thể sẽ gây khó chịu cho khách hàng, và thậm chí dẫn đến

quyết định ngừng sử dụng dịch vụ của nhà cung cấp.

2.5 Cộng đồng ảo

Cộng đồng ảo là một “một địa điểm ảo” trên Internet mà các cá nhân, các

doanh nghiệp có thể “tập hợp” để giúp đỡ, hợp tác với nhau trong các hoạt động

thương mại. Nói một cách khác “cộng đồng ảo” mang lại cơ hội hợp tác cho các cá

nhân, tổ chức doanh nghiệp mà ranh giới địa lý không còn có ý nghĩa. Sau đây là một

số ví dụ về cộng đồng ảo:

- Hội thoại trực tuyến – Online chat: Thông qua dịch vụ này người ta có thể

triển khai các hội nghị mà không cần phải tập trung toàn bộ cán bộ công nhân viên ở

các địa phương trong phạm vi cả nước về một địa điểm cụ thể nào đó.

- Hỗ trợ trực tuyến - Online support : Tại đây khách hàng có thể nhận được

trực tiếp các hỗ trợ, tư vấn của các nhà sản xuất về sản phẩm mà khách hàng đã lựa

chọn.

2.6 Một điểm tích hợp thông tin duy nhất

Đặc trưng này cho phép đơn vị cung cấp cho người sử dụng dùng một điểm

truy nhập duy nhất để thu thập và xử lý thông tin từ các nguồn khác nhau, hoặc sử

dụng các ứng dụng để khai thác kho tài nguyên thông tin chung. Như chúng ta đã

biết, có rất nhiều thông tin hàng ngày cần phải được xử lý và chuyển đến người dùng

dưới nhiều nguồn khác nhau, ví dụ như E-mail, news, tài liệu, báo cáo, các bài báo,

Nguyễn Quỳnh Mai H09cn11 17

Page 18: Setup Liferay

Báo cáo thực tập tốt nghiệp

audio và các video files, v.v… sẽ rất khó khăn cho người dùng nếu các thông tin này

được xử lý một cách riêng rẽ; Comporate Portal cho phép sử dụng các công cụ tích

hợp để xử lý các nguồn thông tin này, do vậy năng suất lao động xử lý các thông tin

của người dùng sẽ được nâng cao.

2.7 Kênh thông tin

Portal cũng cho phép xây dựng các liên kết (connector) tới các ứng dụng hoặc

Portal khác. Một Portal khác hoặc một Website thông thường khác có thể cung cấp

nội dung thông tin của mình trong kênh thông tin của Portal. Kênh thông tin là đặc

tính rất mới của Portal, cho phép xây dựng các dịch vụ truy cập, xử lý các thông tin

nằm bên trong mạng Intranet của một tổ chức, và sau đó tổ chức hiển thị kết quả xử

lý tin trên kênh thông tin của Portal.

Từ những tính năng của portal nêu trên thì ta có thể hình dung một dịch vụ mà

hệ thống Portal cung cấp :

- Các dịch vụ cơ bản:

Post bài định dạng HTML/Document, Danh sách liên kết, Upload/Download Files,

Thao tác ảnh…

- Các dịch vụ giao tiếp công cộng:

Forum, Thông báo, Thăm dò - Bỏ phiếu…

- Các dịch vụ cung cấp thông tin:

Thông báo, Bản tin...

- Các dịch vụ tìm kiếm:

Tìm kiếm, Phân loại …

- Các dịch vụ trợ giúp người dùng:

Thông tin cá nhân, Lịch biểu…

- Các dịch vụ tác nghiệp:

Quản lý nội dung, Hợp tác dự án, Quản lý bán hàng, quản lý nhân sự…

3 . Phân biệt Portal với CMS (A content management system)

Nguyễn Quỳnh Mai H09cn11 18

Page 19: Setup Liferay

Báo cáo thực tập tốt nghiệp

Mỗi portal được phát triển mới hoặc cung cấp từ những hệ thống có bản

quyền thương mại đều tập trung giải quyết một lớp vấn đề nghiệp vụ cụ thể và thực

tế, vì vậy không phải mọi tính năng về portal đều phải có trên portal mà bạn muốn

kiểm nghiệm.

3.1 Khả năng cá nhân hoá :

Cách thức hệ thống cung cấp thông tin cho nhiều người dùng khác nhau hoặc

nhiều cấp độ người dùng khác nhau có thể có nhiều kết quả khác nhau, như :

+ Nếu với 2 người dùng khác nhau hoặc với 2 cấp độ sử dụng (quyền) khác

nhau và thông tin hiển thị vẫn giống nhau, thì bạn có thể kết luận ngay rằng hệ

thống này không có phép cá nhân hoá thông tin, và có thể đi đến kết luận cuối

cùng rằng đó không phải là hệ thống portal.

+ Nếu với 2 cấp độ khác nhau, thông tin được sử dụng có sự khác nhau thì có

thể đi đến kết luận hệ thống này cho phép cá nhân hoá thông tin theo thẩm

quyền sử dụng.

3.2 Khả năng tích hợp nhiều loại thông tin :

+ Nếu nhà cung cấp khi bổ sung ứng dụng/dịch vụ vào portal mà phải “bẻ” mã

(code) của website ra để viết thêm module về màn hình, các liên kết trang, các truy

cập cơ sở dữ liệu mới, một hệ thống phân quyền sử dụng mới, v.v... thì hệ thống đó

không gọi là có tính mở được, vậy kết luận là hệ thống không có khả năng tích hợp

ứng dụng theo kiểu “ghép là chạy”, và có thể kết luận ngay hệ thống đó không phải

là giải pháp portal.

+ Nếu hệ thống cho phép "ghép" các ứng dụng lại với nhau, bạn hãy yêu cầu

nhà cung cấp thay đổi nguồn hoặc kênh thông tin của các ứng dụng đã tích hợp, nếu

không thế thì kết luận "đó là hệ thống giả portal" chứ không phải là giải pháp portal.

+ Nếu có thể tích hợp thêm ứng dụng dịch vụ, loại bỏ ứng dụng dịch vụ cũ thì

kết luận hệ thống có tính năng mở, có thể tích hợp được ứng dụng và có thể là giải

pháp portal.

Nguyễn Quỳnh Mai H09cn11 19

Page 20: Setup Liferay

Báo cáo thực tập tốt nghiệp

3.3 Khả năng xuất bản thông tin theo tiêu chuẩn :

Nếu nhà cung cấp không có khái niệm gì về RSS hay ATOM, thì có thể

kết luận ngay rằng hệ thống của nhà cung cấp này không có khả năng xuất bản thông

tin theo tiêu chuẩn.

Nếu hệ thống có thể xuất bản tài liệu ra tiêu chuẩn RSS, nhưng cần phải

"bẻ" mã chương trình ra chỉnh sửa lại thì có thể kết luận hệ thống có khả năng xuất

bản thông tin với chuẩn nhưng không phải là portal.

Nếu có khả năng xuất bản ngay tức thì nội dung thành RSS, bạn hãy yêu

cầu xuất bản thông tin có đầy đủ nội dung chứ không chỉ tóm tắt như tài liệu RSS đã

cung cấp, nếu nhà cung cấp không thể làm được hoặc không thể đưa ra được hướng

giải quyết cụ thể thì có thể kết luận rằng hệ thống có khả năng xuất bản thông tin

theo tiêu chuẩn nhưng chưa đầy đủ.

Nếu hệ thống cho phép xuất bản thành RSS và ATOM, chứa đầy đủ nội

dung thông tin thì có thể kết luận hệ thống có khả năng đầy đủ để xuất bản thông tin

với tiêu chuẩn công nghiệp.

Nếu nhà cung cấp đưa ra được giải pháp đồng bộ dữ liệu giữa nhiều hệ

thống bằng tài liệu theo tiêu chuẩn như ATOM hay SSE thì có thể kết luận rằng đó

là hệ thống rất mạnh trong xuất bản thông tin.

3.4 Hỗ trợ nhiều môi trường hiển thị thông tin :

Đây là một tính năng phụ nhưng khá quan trọng vì với xu thế hiện tại, người

sử dụng có thể dùng nhiều loại thiết bị để truy cập hệ thống tại nhiều địa điểm khác

nhau.

3.5 Khả năng đăng nhập một lần :

• Nếu mỗi khi dịch chuyển sang các module nghiệp vụ mới, người dùng phải

đăng nhập lại thì kết luận hệ thống không hỗ trợ khả năng SSO, và đây không phải là

giải pháp portal.

Nguyễn Quỳnh Mai H09cn11 20

Page 21: Setup Liferay

Báo cáo thực tập tốt nghiệp

• Nếu khi dịch chuyển giữa các module nghiệp vụ vẫn xác định được người

dùng, bạn hãy đăng xuất (thoát - sign out/log out) và quay về sử dụng một module

nghiệp vụ khác, nếu thấy hệ thống vẫn nhận ra người dùng (mặc dù đã sign-out) thì

có thể kết luận đó là hệ thống giả lập tính năng SSO, và đó không phải là giải pháp

portal.

• Nếu đăng nhập và đăng xuất đều tốt (không bị lỗi trong 2 tình huống trên), thì

có thể kết luận hệ thống có hỗ trợ SSO. Khi đó bạn hãy yêu cầu điều hướng sử dụng

sang một tên miền khác đang dùng chính hệ thống này, nếu vẫn giữ được thông tin

đăng nhập thì kết luận là đã hỗ trợ SSO tốt, nếu không thì kết luận là hỗ trợ SSO

chưa tốt.

• Đồng thời, bạn hãy yêu cầu nhà cung cấp kết nối với hệ thống quản trị người

dùng chuyên nghiệp với tiêu chuẩn LDAP để xác thực người dùng (ví dụ: đăng nhập

bằng tài khoản của Microsoft Windows Domain của chính doanh nghiệp bạn), nếu

không thể thực hiện thì kết luận rằng tính năng SSO chưa toàn vẹn, nếu được thì

khẳng định tính năng SSO đã rất tốt.

3.6 Khả năng quản trị portal :

• Nếu nhà cung cấp phải “bẻ” mã (code) của hệ thống ra thì mới điều chỉnh

hoặc bổ sung được các nguồn thông tin hay màn hình hiển thị thì có thể kết luận ngay

hệ thống đó không phải là giải pháp portal.

• Nếu hệ thống cho phép điều chỉnh được, bạn hãy yêu cầu thay đổi các vị trí

hiển thị của các khối thông tin, thay đổi các nội dung sẽ hiển thị trong một vài khối

thông tin, nếu khi đó nhà cung cấp lại bắt buộc phải sửa mã chương trình thì kết luận

ngay rằng hệ thống không có khả năng và đó không phải là giải pháp portal. Nếu

được thì kết luận đó hệ thống có khả năng cho phép nhà quản trị thay đổi thông tin,

nguồn tin, ... khi cần.

3.7 Khả năng quản trị người dùng:

Nguyễn Quỳnh Mai H09cn11 21

Page 22: Setup Liferay

Báo cáo thực tập tốt nghiệp

• Việc đăng ký tài khoản mới hoặc tạo lập tài khoản mới rất đơn giản, nhưng

không thể tạo lập các nhóm quyền sử dụng mới mà chỉ dùng được các nhóm quyền

sử dụng sẵn có của hệ thống, thì kết luận hệ thống không hỗ trợ khả năng quản trị

người dùng, và đây không phải là giải pháp portal.

• Nếu việc đăng ký/tạo tài khoản mới và tạo lập các nhóm sử dụng mới suôn sẻ,

hãy yêu cầu nhà cung cấp gán quyền sử dụng nào đó trong một module nghiệp vụ cụ

thể với nhóm người sử dụng này. Sau khi thực hiện xong, người sử dụng mới không

thể khai thác được theo quyền đã được cấp thì kết luận hệ thống không thực sự hỗ trợ

quản trị người dùng vì đó chỉ là "giả lập", và khi đó hệ thống này không thể gọi là

portal được. Nếu tất cả đều hoạt động tốt, kết luận là đã hỗ trợ tốt tính năng quản trị

người dùng.

• Nếu đã hỗ trợ tốt tính năng quản trị người dùng, hãy yêu cầu nhà cung cấp

điều chỉnh là cấu hình để hệ thống kết nối với hệ thống quản trị người dùng chuyên

nghiệp với tiêu chuẩn LDAP, sử dụng hệ thống LDAP này để xác thực người dùng

(ví dụ: đăng nhập bằng tài khoản của Microsoft Windows Domain của chính doanh

nghiệp bạn), nếu không thể thực hiện thì kết luận rằng tính năng quản trị người dùng

chưa hỗ trợ tiêu chuẩn công nghiệp, nếu thực hiện được ngay thì kết luận hệ thống đã

hoàn thiện trong tính năng quản trị người dùng.

Kết luận

• Nếu hệ thống chỉ thoả mãn từ 5 tính năng nêu trên trở xuống (thoả mãn 5 hoặc

thoả mãn ít hơn 5 tính năng) thì kết luận đó là ứng dụng web hoặc phần mềm quản trị

nội dung chứ không phải là giải pháp portal.

• Nếu thoả mãn 6 tính năng 1,2,3,5,6,7 mà không thoả mãn tính năng 4 (support

multi-device) thì kết luận đó thực sự là giải pháp portal, và có ghi chú kèm bên cạnh

là sử dụng tối ưu trên máy tính.

III. Tim hiêu hệ thống portal với Liferay

1. Khái niệm Liferay

Nguyễn Quỳnh Mai H09cn11 22

Page 23: Setup Liferay

Báo cáo thực tập tốt nghiệp

Liferay Portal là giải pháp cổng thông tin doanh nghiệp cho cả những tổ chức

cá nhân và cộng đồng.

Cổng thông tin doanh nghiệp là một cổng kết nối Web cho phép người sử

dụng xác định được nội dung thích hợp và sử dụng những ứng dụng cần thiết trong

sản xuất và kinh doanh.. Cổng thông tin đưa ra những lợi ích hấp dẫn cho các doanh

nghiệp hiện nay như: giảm chi phí hoạt động, cải tiến sự hài lòng của khách hàng và

tổ chức hợp lý quy trình kinh doanh.

• Thực thi trên tất cả các ứng dụng servers & servlet, cơ sở dữ liệu và các hệ

điều hành chính yếu (có hơn 700 sự phối hợp triển khai)

• Sử dụng những công nghệ Java, J2EE và Web 2.0 tiên tiến nhất

• Được phát triển theo chuẩn JSR-168

• Đã triển khai hơn 60 ứng dụng tích hợp vào cổng thông tin

• Có khả năng thiết kế, dàn trang theo sở thích từng cá nhân cho tất cả người

sử dụng

• Điểm chuẩn giữa các nền cổng thông tin được bảo mật nhất sử dụng bộ

Logiscan của LogicLibrary

• Được tích hợp bộ Cộng tác và Hệ thống quản lý dữ liệu (CMS)

Liferay có một thiết kế kiến trúc rất rõ ràng và linh hoạt dựa trên thực tế tốt

nhất của J2EE. Do đó, nó có thể sử dụng tốt các server khác nhau như Tomcat, Jetty,

JBoss, JRun, Oracle9iAS, Orion, WebLogic, WebSphere hay công nghệ khác nhau

như Struts, Tiles, Spring, EJB , JMS, Java Mail, Web Service…Như vậy, Liferay là

một open source portal container hỗ trợ gần như hầu hết JavaServer open source hay

thương mại.

Việc customize các portal page và các portlet trong những open source Portal

Framework như eXo Platform là không dễ dàng, và có thể làm rất nhiều trong việc

cấu hình, nhưng vớfri Liferay layout management thì rất dễ dàng. Liferay Portal có

một GUI dựa trên Web cho phép user tương tác để thiết kế layout của Portal Page mà

Nguyễn Quỳnh Mai H09cn11 23

Page 24: Setup Liferay

Báo cáo thực tập tốt nghiệp

không cần phải chỉnh sửa bất kỳ file cấu hình nào. Liferay Portal Enterprise đi

kèm với những portlet hữu dụng. Và nếu đem so sánh với các open source Portal

Framework khác, Liferay portal có một lượng lớn các portlet tiện ích tuân theo JSR-

168 và có thể được sử dụng trong bất kỳ Portal nào chỉ với rất ít thay đổi.

Liferay hỗ trợ WSRP specification cả cho WSRP consumer và WSRP

producer như một thực thể của Liferay portal.

Liferay có thể được sử dụng với bất kỳ database nào với chút ít ảnh

hưởng tùy theo việc sử dụng Hibernate trong thiết kế của nó. Liferay có các

JSP tag lib và nhiều class tiện ích khác trong những package khác nhau để trợ

giúp các developer trong việc phát triển portal/portlet

2. Các phiên bản của Liferay

2.1 Liferay Portal Enterprise Edition

Liferay Portal Enterprise Edition là cách tốt nhất để yêu cầu doanh nghiệp để

tận dụng lợi thế của sự đổi mới thị trường hàng đầu của Liferay với giảm nguy cơ rủi

ro và ổn định lâu dài của phần mềm chuyên nghiệp hỗ trợ.

Thuê bao của bạn phép bạn các gói dịch vụ thường xuyên, một thỏa thuận cấp độ

dịch vụ thương mại, bồi thường tùy chọn và nhiều hơn nữa.

Độ tin cậy

Liferay Portal Enterprise Edition (EE) được cấu hình cho môi trường doanh

nghiệp yêu cầu hỗ trợ để dự phòng, chuyển đổi dự phòng và cân bằng tải để đảm bảo

thời gian hoạt động tối đa các giải pháp Liferay-của bạn. EE độc quyền các tính năng

như quản lý bộ nhớ được cải thiện và hỗ trợ đất nung cho phép bạn quy mô hệ thống

của bạn hiệu quả như cơ sở người dùng của bạn phát triển.

An ninh

Liferay Portal được chuẩn là một trong những nền tảng cổng thông tin an toàn

Nguyễn Quỳnh Mai H09cn11 24

Page 25: Setup Liferay

Báo cáo thực tập tốt nghiệp

nhất của thị trường với việc sử dụng các tiêu chuẩn công nghiệp, công nghệ mã hóa

cấp chính phủ. Các thuê bao của Liferay Portal EE lợi ích từ các bản vá lỗi bảo mật

bổ sung được phát hiện bởi mạng lưới khách hàng gửi qua các gói dịch vụ thường

xuyên. Đối với mức độ bảo mật trình duyệt, Liferay Portal EE thực hiện Top 10 được

khuyến cáo thực hành tốt nhất được công bố bởi các tổ chức OWASP.

Hiệu suất

Liferay Portal Enterprise Edition được điều chỉnh đối với tất cả các máy chủ

ứng dụng chính và cơ sở dữ liệu cho hiệu suất tối ưu theo tải. Tùy chỉnh cấu hình để

đáp ứng các nhiệm vụ quan trọng tốc độ và nhu cầu khả năng mở rộng triển khai

doanh nghiệp lớn, EE cung cấp tất cả các khả năng thiết yếu của sản phẩm cốt lõi

Liferay trong hình thức sản xuất sẵn sàng.

Tính ổn định

Để đảm bảo một sản phẩm ổn định cho khách hàng doanh nghiệp, không có tính năng

mới được thêm vào Liferay Portal Enterprise Edition, loại bỏ các nguy cơ khuyết tật

mới được giới thiệu bởi các tính năng mới. Mỗi gói dịch vụ Liferay Portal EE là kiểm

tra kỹ lưỡng bằng cách sử dụng quy trình đảm bảo chất lượng bổ sung để đảm bảo

rằng sản phẩm trở nên ổn định hơn với mỗi bản phát hành.

Liferay Portal Enterprise mang nhiều ý nghĩa lớn hơn là một portal container,

mà đi kèm với nó là rất nhiều đặc điểm hữu dụng như Content Management System

(CMS), tuân theo WSRP, Single Sign On (SSO), hỗ trợ AOP (Aspect Oriented

Programming), và nhiều công nghệ mới nhất khác. Chính vì vậy phiên bản EE được

lựa chọn cho đề tài này.

2.2 Liferay Portal Community Edition (CE)

Phiên bản cộng đồng miễn phí "Liferay Portal Community Edition" (CE) để

phân biệt rõ ràng giữa nó và các dịch vụ theo định hướng Liferay Portal EE. Những

người không cần hoặc muốn cam kết một hợp đồng cung cấp dịch vụ vẫn có thể truy

cập các tính năng mới nhất hoàn toàn miễn phí và không có rủi ro kinh doanh.

Nguyễn Quỳnh Mai H09cn11 25

Page 26: Setup Liferay

Báo cáo thực tập tốt nghiệp

2. Các thành phần của Liferay

Ta có kiến trúc Liferay portal như hình sau:

Nguyễn Quỳnh Mai H09cn11 26

Page 27: Setup Liferay

Báo cáo thực tập tốt nghiệp

3. Các ứng dụng của Liferay trên thực tế

• Cung cấp kinh nghiệm cộng tác trực quan cho các đối tượng người sử dụng.

• Củng cố, tổ chức và truy xuất tất cả dữ liệu và ứng dụng của bạn thông qua

cơ chế điểm truy cập đơn.

Nguyễn Quỳnh Mai H09cn11 27

Page 28: Setup Liferay

Báo cáo thực tập tốt nghiệp

• Tối ưu hóa những hạ tầng CNTT sẵn có.

• Có khả năng điều chỉnh, thích ứng những yêu cầu tương ứng với sự thay đổi

của thị trường.

• Sắp xếp hoạt động kinh doanh của bạn một cách an toàn nhất, giảm thiểu tối

đa sự ảnh hưởng đến hạ tầng CNTT có sẵn.

• Giúp bạn thu được TCO (total cost of ownership) thấp nhất.

Bộ cộng tác Liferay

Những thuận lợi thu được trong mội trường làm việc thực tế hiện nay được

đưa vào bộ cộng tác Liferay.

• Nhật ký điện tử, wikis, thư điện tử, lịch công tác, hệ thống tin nhắn doanh

nghiệp, RSS, và những cái khác

• Hỗ trợ Microformat – Chuyển lịch trình của bạn và thông tin người sử dụng

thông qua chuẩn Web 2.0.

• Hỗ trợ Meta-Tagging – Sử dụng chức năng tag của Liferay với ứng dụng

CMS của Liferay để chia sẻ những nội dung thú vị và quan trọng với những người sử

dụng khác.

IV. Cài đặt và thiết kế Portlet cho Liferay.

1. Portlet.

Một server portal quản lý các yêu cầu của client. Và có một portlet container

để quản lý việc chạy các Portlets. Bên trong portal là Portlet API - phục tùng mệnh

lệnh của portlet container chúng quản lý trạng thái thực thi của portlet. Portlet

Nguyễn Quỳnh Mai H09cn11 28

Page 29: Setup Liferay

Báo cáo thực tập tốt nghiệp

container đánh giá những portlet đó thành các fragments, hoặc là tạo yêu cầu

(request) của portlet hoặc là lấy một fragment trong cache. Sau đó, container nắm

fragment gửi đến portal server để kết hợp chúng vào trong trang portal. Tạo nên giao

diện của trang Portal.

Cấu tạo ứng dụng portlet

Ứng dụng portlet được cấu tạo giống như ứng dụng Web trong đó ta có các

tính năng sau :

• Có thể bao gồm servlets, JSPs, classes, files JAR (java archives), và các file

tĩnh khác.

• Được đóng gói - tất cả các ứng dụng Web đều được đóng gói trong thư mục

root chung.

• Có thư mục WEB-INF/classes để lưu giữ các lớp độc lập có thể tải bởi

classloader.

• Có thư mục WEB-INF/lib để lưu giữ Java Archives (JAR) có thể tải bởi

classloader.

• Được đóng gói thành file Web Archive (WAR)

Thêm vào các tính năng này, ứng dụng portlet còn bao gồm 1 file mô tả triển khai

ứng dụng Web, được đặt tại WEB-INF/portlet.xml.

Kiến trúc của Portlet

1 portal bao gồm những portlet cá nhân người dùng, chúng có thể được thêm

vào bớt ra và tuỳ biến bởi người dùng. Các portlet là cái làm đẹp cho tầng trình bày

của portal. Chúng là thành phần giao diện người dùng có thể tuỳ biến bởi user, và

chúng có thể được thêm vào và bớt đi từ portal 1 cách dễ dàng. Chúng cũng xử lý yêu

cầu người dùng và sản sinh nội dung theo yêu cầu thông qua portlet container.

Nguyễn Quỳnh Mai H09cn11 29

Page 30: Setup Liferay

Báo cáo thực tập tốt nghiệp

Portlet Container

Một portlet container được sử dụng để quản lý các portlet thông qua vòng đời

của chúng. Container cho phép nhà phát triển gọi các phương thức chỉ định trong suốt

thời gian sống của 1 portlet . Nó nâng các nhà phát triển lên quyết định phương thức

nào được cài đặt (implement). Là 1 qui tắc tổng quát, các nhà phát triển nên thường

kế thừa lớp GenericPortlet khi tạo các portlet. Lớp GenericPortlet gọi các phương

thức hồi đáp chỉ định dựa trên chế độ hiện tại (current mode) của portlet. Những

phương thức này được mô tả trong bảng sau:

Phương thức

doEdit được gọi bởi phương thức hồi đáp khi portlet ở chế độ EDIT. Chế độ

EDIT nên được dùng với mục đích chỉ định biên soạn portlet . Ví dụ : nếu ta 1 portlet

danh mục vốn đầu tư chứng khoán và nó chứa đựng 1 danh sách các chứng khoán,

khi ta nhấn edit ta sẽ có thể biên soạn danh sách này trong danh mục vốn đầu tư của

mình (portfolio).

doView được gọi bởi phương thức hồi đáp khi portlet ở chế độ VIEW. Chế độ

VIEW là chế độ chính cuả portlet. Nội dung chính của portlet sẽ hiển thị trong suốt

chế độ này. Ví dụ : Nếu ta có 1 portlet xếp thứ hạng bóng đá, thứ hạng sẽ hiển thị

trong chế độ VIEW.

doHelp được gọi bởi phương thức hồi đáp khi portlet ở chế độ HELP. Chế độ

HELP dùng hiển thị các hướng dẫn chỉ định về cách sử dụng portlet. Lấy ví dụ danh

mục vốn đầu tư chứng khoán, chế độ HELP có thể mô tả cáchs thích hợp để biên

soạn (edit) và nhập các chứng khoán cũng như các kí hiệu của chúng vào trong

portlet.

Các phương thức khác có thể được truy cập với hoặc không kế thừa từ lớp

GenericPortlet. Những phương thức này cho phép nhà phát triển nắm giữ những chức

năng khác nhau mà không cần thiết trên chế độ hiện tại của portlet . Những phương

thức bổ sung này được trình bày trong bảng sau :

Nguyễn Quỳnh Mai H09cn11 30

Page 31: Setup Liferay

Báo cáo thực tập tốt nghiệp

init() : được gọi bởi container khi portlet được tạo và được sử dụng để khởi

tạo portlet và chuẩn bị để sử dụng nó. Lấy ví dụ, nếu portlet của bạn cần phải load

những cấu hình chỉ định từ CSDL hay nguồn dữ liệu bên ngoài, thì phải mất nhiều

thời gian thực hiện việc đó.

destroy() : được gọi bởi container khi container phá huỷ portlet , bằng cách

cho phép bạn xoá sạch bất cứ thứ gì cần chú ý đặc biệt. Lấy ví dụ, nếu 1 kết nối

CSDL được mở, thì nó cho phép bạn đóng những kết nối mở và xoá gọn gàng khi

portlet bị phá huỷ.

processAction() : được gọi bởi container khi user xác nhận thay đổi trên

portlet. Đây là phương thức thiết yếu để bạn có thể xử lý dữ liệu đã xác nhận bởi user

từ 1 portlet. Ví dụ, bạn có thể có 1 form yêu cầu ngày sinh của user. Khi user xác

nhận form, processAction() được gọi, cho phép bạn xử lý thông tin và quyết định

hiển thị cái gì đến user, như việc thay đổi chế độ portlet (mode) nếu bạn muốn.

render() : được gọi bất cứ khi nào portlet cần vẽ lại. Trong hầu hết các trường

hợp, bạn sẽ không cần nắm giữ phương thức này vì doView, doEdit, và doHelp tồn

tại trong lớp GenericPortlet và tự động được gọi bởi phương thức render.

Bốn phương thức mà bạn sẽ tương tác nhiều nhất khi phát triển 1 portlet là

doView(), doEdit(), doHelp(), và processAction() .Những phương thức này xuất hiện

tương tự như servlet vì chúng gửi yêu cầu (request ) và trả lời (response) các đối

tượng. Tuỳ thuộc vào những phương thức được sử dụng với chúng, những Object

này có thể được sử dụng để:

Đạt được sự truy xuất đến đối tượng tham chiếu của portlet nhằm duy trì trạng

thái.

Lấy tham số được xác nhận bởi user thông qua form.

Đạt được thông tin phiên làm việc (session).

Thu thập thông tin bảo mật về user, như thông tin user-role.

Nguyễn Quỳnh Mai H09cn11 31

Page 32: Setup Liferay

Báo cáo thực tập tốt nghiệp

Thay đổi những biểu hiện khác nhau của portlet, và làm thế nào nó được hồi

đáp. Chẳng hạn, tiêu đề có thể bị thay đổi thông qua đối tượng response.

2. NetBean IDE

NetBean IDE là một “môi trường phát triển tích hợp“ (Integrated

Development Environment) kiểu như Visual Studio của Microsoft và được xem là

một một bộ ứng dụng “must-download” dành cho các nhà phát triển phần mềm.

NetBean IDE hỗ trợ nhiều hệ điều hành khác nhau như Windows, Mac, Linux,

và Solaris. NetBean bao gồm một IDE mã nguồn mở và một nền tảng ứng dụng cho

phép nhà phát triển nhanh chóng tạo nên các ứng dụng dành cho web, doanh nghiệp,

desktop và thiết bị di động bằng các ngôn ngữ lập trình Java, C/C++, JavaScript,

Ruby, Groovy, và PHP.

NetBeans IDE 6.5 Beta cung cấp nhiều tính năng mới như shortcut tìm kiếm

trong toàn bộ IDE gọi là QuickSearch, giao diện thận thiện hơn với người dùng, và

tính năng tự động biên dịch khi lưu (Compile on Save). Ngoài việc hỗ trợ Java mọi

phiên bản (Java SE, Java EE, Java ME), NetBean IDE còn là công cụ lý tưởng cho

việc phát triển phần mềm bằng các ngôn ngữ PHP, C/C++, Groovy and Grails, Ruby

and Rails, Ajax and JavaScript. Phiên bản 6.5 còn tăng cường hỗ trợ cho web

framework (Hibernate, Spring, JSF, JPA), trình ứng dụng máy chủ GlassFish và cơ

sở dữ liệu.

KẾT LUẬN

Báo cáo các kết quả đạt được qua đợt thực tập : Qua đợt thực tập 5 tuần vừa

qua, do thời gian có hạn em chưa thực sự tập chung vào bài làm nên còn nhiều thiếu

sót trong nội dung. Em đã tích lũy được cho mình nhiều kiến thức về liferay, ứng

dụng thực tế của liferay trong thưc tế, hệ thống potal và các chức năng, Portlet và mã

Nguyễn Quỳnh Mai H09cn11 32

Page 33: Setup Liferay

Báo cáo thực tập tốt nghiệp

nguồn mở. Đặc biệt em được tìm hiểu , học hỏi từ các cán bộ Trung tâm Công nghệ

Thông tin CDIT cách làm việc độc lập, có kế hoạch…….

Những nội dung kiến thức lý thuyết đã được củng cố : Kĩ năng lập trình Java,

cài đặt các chương trình ứng dụng, cấu hình cho máy…Ngoài ra em còn hiểu thêm

về cổng thông tin mã nguồn mở, xây dựng Web trên công nghệ mở dựa trên các tiêu

chuẩn như Java và XML.

Những kỹ năng thực hành đã học hỏi được : Em có thể sử dụng các công cụ,

chương trình như netbeans, tomcat, tạo được Portlet đơn giản.

Sau đợt thực tập em nhận thấy mình cần học hỏi nhiều hơn nữa, tìm kiếm

nhiều thông tin qua mạng internet hơn để tự bổ sung kiến thức cho mình.

Nguyện vọng : Có thể được làm việc trong môi trường chuyên nghiệp , có thể

được học tập ,tìm hiểu thêm và làm việc chuyên sâu về lập trình. Vì vậy em mong

muốn được làm việc tại trung tâm sau khi ra trường.

Nguyễn Quỳnh Mai H09cn11 33

Page 34: Setup Liferay

Báo cáo thực tập tốt nghiệp

Nguyễn Quỳnh Mai H09cn11 34

Page 35: Setup Liferay

Báo cáo thực tập tốt nghiệp

Phần C: PHỤ LỤC

1.Cài đặt và cấu hình liferay

1.1 Tải các phần mềm chuẩn bị các gói cài đặt trên môi trường Windows Download:

+ Jdk-7u1-windows-i586 (Phát triển ngôn ngữ Java và môi trường máy ảo

Java)

+ Apache-ant-1.8.1-bin.zip (để phát triển ứng dụng, cài đặt ANT để có thể

biên dịch và phân phối)

+ Gói liferay-portal

1.2 Cài đặt JDK (gồm JDK và môi tường máy ảo JRE)

- Chọn đường dẫn C:\Java\jdk1.7.0_01

- Khi hoàn thành cài đặt tiến hành thiết lập biến môi trường (Environment

Variables) để chạy JDK sau đó chuột phải vào My Computer mở Properties.

- Mở tab Advanced và click vào nút Environment Variables và thêm vào biến

hệ thống mới.

- Thiết lập JAVA_HOME đế vị trí cài đặt C:\Java\jdk1.7.0_01

- Thiết lập JRE_HOME đế vị trí cài đặt C:\Java\jdk1.7.0_01\jre

- Sau đó bổ sung biến PATH (Path variable): %JAVA_HOME%\bin;

%JRE_HOME%\bin;

- Click on OK.

1.3 Giải nén gói apache-ant-1.8.1-bin.zip vào C:\liferay\apache-ant-1.8.1 (Tạo thư

mục C:\liferay)

Thiết lập bổ sung môi trường cho ANT tại PATH (Path variable): là

C:\liferay\apache-ant-1.8.1\bin

Biến môi trường PATH:

Path: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;

%JAVA_HOME%\bin;%JRE_HOME%\bin;C:\liferay\apache-ant-1.8.1\bin

1.4 Kiểm tra biến môi trường đã thành công hay chưa.

Nguyễn Quỳnh Mai H09cn11 35

Page 36: Setup Liferay

Báo cáo thực tập tốt nghiệp

Mở cmd -> C:

java -version

ant –version

Giải nén Gói liferay-portal liferay-portal-tomcat-6.0.4.zip vào C:\liferay

Giải nén Gói liferay-portal liferay-portal-tomcat-6.0.4.zip vào C:\liferay

Chạy Liferay – click đúp tập tin startup.bat. trong C:\liferay\tomcat-6.0.26\bin

Chạy Liferay double-clicking tập tin startup.bat. trong C:\liferay\tomcat-6.0.26\bin

Nguyễn Quỳnh Mai H09cn11 36

Page 37: Setup Liferay

Báo cáo thực tập tốt nghiệp

Liferay sẽ bắt đầu khjhhkhởi tạo và chạy khoảng 30-60 giây tự động mở trình

duyệt mặc định tại địa chỉ: http://localhost:8080, đăng nhập và làm việc với

Usernames và Passwords đăng nhập:

Email address: [email protected]

Paord: test

2. Thiết kế Portlet cho Liferay

2.1 Chuẩn bị các gói cài đặt trên môi trường Windows

Tải về và cài đặt Netbeans 7.0.1

Tải về và cài đặt liferay-portal-5.2.3

Tải về portalpack_3_0_4_all

Nguyễn Quỳnh Mai H09cn11 37

Page 38: Setup Liferay

Báo cáo thực tập tốt nghiệp

Nguyễn Quỳnh Mai H09cn11 38

Page 39: Setup Liferay

Báo cáo thực tập tốt nghiệp

2.2 Khởi động Netbeans

- Vào Tools > Plugins > Downloaded sau đó Add các plugin tải về (Portal Pack) rồi

nhấn install

2.3 Sau đó add Liferay Portal Server cho netbeans :

Tools | Servers | Add Server chọn Liferay Portal Server 5.1.x/5.2.x > next

Nguyễn Quỳnh Mai H09cn11 39

Page 40: Setup Liferay

Báo cáo thực tập tốt nghiệp

Trong hộp thoại tiếp theo chọn nội dung

• Server Type: GlassFish / Sun Java System AppServer

• GlassFish Home: /usr/local/liferay-portal-5.2.3/glassfish

• Domain Dir: /usr/local/liferay-portal-5.2.3/glassfish/domains/domain1

• Domain: domain1

• User Name: admin

• Password: adminadmin

• Http Port: 8080

• Admin Port: 4848

Nguyễn Quỳnh Mai H09cn11 40

Page 41: Setup Liferay

Báo cáo thực tập tốt nghiệp

Next

• Portal Context: /

• Portal Deploy Dir: C:\liferay-portal-

5.2.3\glassfish\domains\domain1\applications\j2ee-modules\liferay-portal

Checked: Directory Deployment Enabled > Finish

2.4 Thiết kế 1 Portlet cho hệ thống

Vào file > new project

Nguyễn Quỳnh Mai H09cn11 41

Page 42: Setup Liferay

Báo cáo thực tập tốt nghiệp

Chọn next

Chọn next

Nguyễn Quỳnh Mai H09cn11 42

Page 43: Setup Liferay

Báo cáo thực tập tốt nghiệp

Chọn next

Chọn finsh

Nguyễn Quỳnh Mai H09cn11 43

Page 44: Setup Liferay

Báo cáo thực tập tốt nghiệp

CODE

Liferay-potlet.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application

5.2.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_5_2_0.dtd">

<liferay-portlet-app>

<portlet>

<portlet-name>mai demo</portlet-name>

<instanceable>true</instanceable>

</portlet>

<role-mapper>

<role-name>administrator</role-name>

<role-link>Administrator</role-link>

</role-mapper>

<role-mapper>

<role-name>guest</role-name>

Nguyễn Quỳnh Mai H09cn11 44

Page 45: Setup Liferay

Báo cáo thực tập tốt nghiệp

<role-link>Guest</role-link>

</role-mapper>

<role-mapper>

<role-name>power-user</role-name>

<role-link>Power User</role-link>

</role-mapper>

<role-mapper>

<role-name>user</role-name>

<role-link>User</role-link>

</role-mapper>

</liferay-portlet-app>

PORTLET.XML

<?xml version='1.0' encoding='UTF-8' ?>

<portlet-app xmlns='http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd'

xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'

xsi:schemaLocation='http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd

http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd' version='2.0'>

<portlet>

<description>maidemo</description>

<portlet-name>mai demo</portlet-name>

<display-name>mai demo</display-name>

<portlet-class>com.test.maidemo</portlet-class>

<expiration-cache>0</expiration-cache>

<supports>

<mime-type>text/html</mime-type>

<portlet-mode>VIEW</portlet-mode>

<portlet-mode>EDIT</portlet-mode>

<portlet-mode>HELP</portlet-mode>

</supports>

Nguyễn Quỳnh Mai H09cn11 45

Page 46: Setup Liferay

Báo cáo thực tập tốt nghiệp

<resource-bundle>com.test.messages</resource-bundle>

<portlet-info>

<title>mai demo</title>

<short-title>mai demo</short-title>

</portlet-info>

</portlet>

</portlet-app>

Maidemo.java

package com.test;

import javax.portlet.GenericPortlet;

import javax.portlet.ActionRequest;

import javax.portlet.RenderRequest;

import javax.portlet.ActionResponse;

import javax.portlet.RenderResponse;

import javax.portlet.PortletException;

import java.io.IOException;

import javax.portlet.PortletRequestDispatcher;

/**

* maidemo Portlet Class

*/

public class maidemo extends GenericPortlet {

public void processAction(ActionRequest request, ActionResponse response)

throws PortletException, IOException {

}

public void doView(RenderRequest request, RenderResponse response) throws

PortletException, IOException {

response.setContentType("text/html");

PortletRequestDispatcher dispatcher =

Nguyễn Quỳnh Mai H09cn11 46

Page 47: Setup Liferay

Báo cáo thực tập tốt nghiệp

getPortletContext().getRequestDispatcher("/WEB-

INF/jsp/maidemo_view.jsp");

dispatcher.include(request, response);

}

public void doEdit(RenderRequest request, RenderResponse response) throws

PortletException, IOException {

response.setContentType("text/html");

PortletRequestDispatcher dispatcher =

getPortletContext().getRequestDispatcher("/WEB-

INF/jsp/maidemo_edit.jsp");

dispatcher.include(request, response);

}

public void doHelp(RenderRequest request, RenderResponse response) throws

PortletException, IOException {

response.setContentType("text/html");

PortletRequestDispatcher dispatcher =

getPortletContext().getRequestDispatcher("/WEB-

INF/jsp/maidemo_help.jsp");

dispatcher.include(request, response);

}

}

Nguyễn Quỳnh Mai H09cn11 47

Page 48: Setup Liferay

Báo cáo thực tập tốt nghiệp

Nguyễn Quỳnh Mai H09cn11 48

Page 49: Setup Liferay

Báo cáo thực tập tốt nghiệp

3. Tích hợp portlet vào hệ thống

Vào http://localhost:8080 đăng nhập với id : [email protected]; pass : test

Sau đó vào add > more > intall more applications

Chọn upload file > browse đến D:\NetBeansProjects\mai demo\dist chọn mai_demo.war

Nguyễn Quỳnh Mai H09cn11 49

Page 50: Setup Liferay

Báo cáo thực tập tốt nghiệp

Chọn add > more > users_portlets > mai_demo

Nguyễn Quỳnh Mai H09cn11 50

Page 51: Setup Liferay

Báo cáo thực tập tốt nghiệp

Các từ viết tắt

J2EE : The Java 2 Platform, Enterprise Edition

CMS : A content management system

SSE :Simple Sharing Extension for ATOM and RSS

RSS : Really Simple Syndication

SSO : Single Sign On

LDAP : Lightweight Directory Access Protocol

Tài liệu tham khảo

www.blog.kythuatlaptrinh.org

http://lyphuong10.wordpress.com

www.liferay.com

Nguyễn Quỳnh Mai H09cn11 51