1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU LIFERAY và xây DỰNG ỨNG DỤNG

118 88 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 118
Dung lượng 8,65 MB

Nội dung

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM KHĨA LUẬN TỐT NGHIỆP TÌM HIỂU LIFERAY VÀ XÂY DỰNG ỨNG DỤNG Giảng viên hƣớng dẫn : Ths NGUYỄN HỮU THƢƠNG Sinh viên thực : LÊ HOÀNG ANH - 07520017 NGUYỄN TUẤN DŨNG - 07520461 Lớp : CNPM02 Khóa : 2007 - 2012 TP Hồ Chí Minh, tháng 01 năm 2012 ABSTRACT On these days, the amount of up-to-date information becomes more various and diversified People are getting busier in their works, while their time is limited Thus, it is necessary to improve their way of getting information and this requirement makes them create a concept named “Portal” Two of the best things that Portal brings to us are the convenience and the ease of use Thanks to these advantages, a large number of Portal systems have been built for the purpose of providing to users the fastest and easiest mean to build a Portal, particularly the open source systems (Sakai, uPortal, GridSphere, eXo, Liferay, StringBeans, …) Liferay is an Portal developed by the company Liferay This open source Portal is highly appreciated for all of its sides among the current open source community For all these above-mentioned things, we have thought about realizing the subject “Learning about Liferay and builiding application”, in order to understand the strong points, weak points as well as Liferay’s real appication Because of the unlearned things covering Liferay, in this thesis, we suppose some precise objectives as follow: Objects: - Comparing some of open source Portal - The components and functions available in Liferay - Types of plugins supported in Liferay - Methods of developing new themes for Liferay - Methods of building portlet for Liferay - Studying the relevant technologies when developing the application After the thesis, we attain our results below: - Master the structure of Liferay - Building a new theme - Building a template portlet application (shopping) - Options of the available application in Liferay LỜI MỞ ĐẦU Nền khoa học giới ngày có xu hƣớng phát triển nhanh chóng có trình độ cao Có thể nói ngành cơng nghệ thơng tin ứng dụng vào hầu hết lĩnh vực đời sống ngƣời, từ hỗ trợ công nghiệp, nơng nghiệp, giao thơng, kinh doanh bn bán… Nó đáp ứng ngày nhiều yêu cầu lĩnh vực để phục vụ nhu cầu ngƣời Trong thời đại ngày với số lƣợng hàng tỷ trang web lƣợng thơng tin ngày đa dạng phong phú Con ngƣời ngày bận rộn công việc với quỹ thời gian eo hẹp, nên vấn đề đặt nâng khả thu thập thông tin việc cần thiết Từ nhu cầu khái niệm Portal đời Lợi ích lớn Portal tính tiện lợi dễ sử dụng Thay phải nhớ vơ số địa khác cho mục đích khác nhau, với web Portal (nhƣ yahoo), ngƣời dùng cần nhớ địa (yahoo.com), nhà cung cấp dịch vụ cung cấp thứ mà khách hàng cần Chính lợi ích khơng thể phủ nhận đó, hàng loạt hệ thống Portal đời để cung cấp cho ngƣời dùng phƣơng tiện nhanh dễ để xây dựng nên Portal, mà bật hệ thống mã nguồn mở (Sakai, uPortal, GridSphere, eXo, Liferay, StringBeans,…) Liferay Portal (gọi tắt Liferay) phần mềm mã nguồn mở đƣợc phát triển công ty Liferay Đây Portal nguồn mở đƣợc đánh giá cao tất mặt cộng đồng nguồn mở LifeRay cung cấp giao diện web chuẩn để truy cập đến liệu tiện ích nằm rải rác nguồn khác Liferay xây dựng sẵn 60 kênh thuộc chủng loại nhƣ Blogs, Calendar, Document Library, Image Gallery, Mail, Messageboards, Polls, RSS feeds, Wiki, web content, Content Management System, … Vì lý chúng tơi bắt tay vào thực đề tài “Tìm hiểu Liferay xây dựng ứng dụng” nhằm tìm hiểu ƣu điểm, nhƣợc điểm nhƣ ứng dụng thực tế Liferay Bởi Liferay bao phủ nhiều vấn đề chƣa thể tìm hiểu tất nên phạm vi khóa luận chúng tơi đề mục tiêu cụ thể nhƣ sau: Đối tƣợng:  Tìm hiểu tảng Portal  Tìm hiểu Liferay Portal Phạm vi nghiên cứu:  So sánh số tảng Portal mã nguồn mở viết ngôn ngữ java  Các thành phần chức đƣợc hỗ trợ sẵn Liferay: hệ thống quản lý Portal, quản lý user, quản lý plugin…  Các kiểu plugin đƣợc hỗ trợ Liferay  Cách phát triển theme cho Liferay  Cách xây dựng portlet cho Liferay  Nghiên cứu công nghệ liên quan phát triển ứng dụng Và với mục tiêu trên, qua thời gian khóa luận đạt đƣợc kết quả:  Nắm đƣợc kiến trúc Liferay  Xây dựng theme  Xây dựng ứng dụng portlet mẫu (shopping)  Tuỳ chỉnh ứng dụng có sẵn Liferay Bố cục khóa luận đƣợc chia thành ba chƣơng: Chương 1: Tổng quan Portal Chƣơng trình bày khái niệm, đặc điểm Portal, tìm hiểu kiến trúc tảng thành phần Portal Trong chƣơng phân tích, so sánh ƣu điểm, khuyết điểm số Portal mã nguồn mở phổ biến Chương 2: Liferay Portal Chƣơng trình bày chi tiết đặc điểm Liferay Portal, làm rõ khái niệm bản, giải thích tảng kiến trúc nhƣ cơng nghệ đƣợc sử dụng để xây dựng nên Liferay Cũng chƣơng này, chúng tơi trình bày cách thức để phát triển loại plugin khác Liferay, đặc biệt phát triển Portlet – yếu tố chủ chốt tạo nên sức mạnh cho Portal Chương 3: Xây dựng Portal bongbay.com Chƣơng chúng tơi trình bày ứng dụng bongbay.com đƣợc xây dựng dựa tảng Liferay nhƣ Portlet, phƣơng pháp đƣợc trình bày chƣơng hai Ngồi ra, chúng tơi giới thiệu số Portlet phổ biến đƣợc tích hợp sẵn Liferay nhƣ cách thức kết hợp chúng lại với để tạo nên Portal hồn chỉnh LỜI CÁM ƠN Chúng tơi xin chân thành cám ơn khoa Công nghệ Phần mềm, trƣờng Đại Học Công nghệ Thông tin – ĐHQG HCM tạo điều kiện tốt cho thực tốt khố luận Chúng tơi xin chân thành cám ơn Thầy Nguyễn Hữu Thƣơng tận tình hƣớng dẫn, bảo suốt thời gian thực đồ án Chúng xin chân thành cám ơn quý Thầy Cơ tận tình giảng dạy, trang bị cho kiến thức quý báu năm học vừa qua Xin chân thành cám ơn anh chị bạn bè ủng hộ, giúp đỡ động viên thời gian học tập nghiên cứu Đặc biệt chúng tơi xin gởi lòng biết ơn sâu sắc đến Ông Bà, Cha Mẹ ngƣời chăm sóc, ni dạy chúng tơi nên ngƣời Mặc dù cố gắng nỗ lực hết mình, song chắn khóa luận khơng tránh khỏi thiếu sót Chúng tơi kính mong nhận đƣợc thơng cảm bảo tận tình q Thầy Cơ bạn Tp Hồ Chí Minh, ngày 05 tháng 01 năm 2012 Nhóm sinh viên thực Nguyễn Tuấn Dũng – Lê Hoàng Anh NHẬN XÉT (của giảng viên hƣớng dẫn) NHẬN XÉT (của giảng viên phản biện) MỤC LỤC LỜI MỞ ĐẦU LỜI CÁM ƠN CHƢƠNG – TỔNG QUAN VỀ PORTAL 1.1 Portal 1.2 Sự phát triển tiến hóa Portal 1.3 Phân loại Portal 1.3.1 Phân loại theo phạm vi 1.3.2 Phân loại theo chức 1.4 Các tính để phân biệt Portal với ứng dụng web 1.4.1 Khả cá nhân hóa (Personalization) 1.4.2 Khả tích hợp nhiều loại thông tin (Content aggregation) 1.4.3 Khả xuất thông tin theo tiêu chuẩn (Content syndication) 1.4.4 Hỗ trợ nhiều môi trƣờng hiển thị thông tin (Multi-device support) 1.4.5 Khả đăng nhập lần (Single Sign On – SSO) 1.4.6 Khả quản trị Portal (Portal Administrator) 1.4.7 Khả quản trị ngƣời dùng (Portal user manager) 1.5 Kiến trúc tảng Portal 1.6 Các thành phần Portal 1.6.1 Giao diện Portal 1.6.2 Portlet 10 1.6.3 Chuẩn portlet 10 1.6.4 Máy chủ Portal 11 1.6.5 Các dịch vụ lõi portlet 13 1.7 So sánh số Portal open source java 13 1.7.1 Một số Portal open source java 13 1.7.2 Các tiêu chí đánh giá 18 1.7.3 Đánh giá chung 21 1.7.4 Mơ hình Portal cho doanh nghiệp vừa nhỏ 22 CHƢƠNG – LIFERAY PORTAL 26 2.1 Liferay Portal 26 2.1.1 Giới thiệu 26 2.1.2 Các lợi ích chọn Liferay Portal 27 2.1.3 Kiến trúc Portal Liferay 30 2.1.4 Công nghệ chuẩn sử dụng 32 2.2 Các tiểu hệ thống Liferay 37 2.2.1 Hệ thống quản lý ngƣời dùng 37 2.2.2 Tiểu hệ thống quản lý Portal (Control panel) 39 2.3 Tìm hiểu plugins Liferay 55 2.3.1 Hƣớng dẫn cài đặt môi trƣờng pháp triển plugins 55 2.3.2 Portlet 60 2.3.3 Themes 71 2.3.4 Hooks 74 2.3.5 Ext plugins 75 2.4 Một số tiện ích Liferay 77 2.4.1 Các API thƣờng sử dụng 77 2.4.2 Một số cấu hình đơn giản cho hệ thống 78 2.4.3 Sử dụng editor hỗ trợ Liferay 80 91 Hình 3.10: Giao diện chat user 3.2.2 Blog Ứng dụng blog dạng mạng xã hội giúp ngƣời dùng chia thông tin đến bạn bè hay cộng đồng xã hội Trong hệ thống có nhiều thành phần ứng dụng blog đảm nhiệm chức khác nhau, nhƣng chúng có sở liệu chung nhƣ  Blog Aggregator: thành phần blog với chức hiễn thị blog tất blogger Phần cho phép ngƣời dùng đọc blog hệ thống, thƣờng đƣợc để trang chung Portal GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hồng Anh SV2: Nguyễn Tuấn Dũng 92 Hình 3.11: Blog aggregator  Blogs: ứng dụng phần dành riêng cho blogger Nội dung blog bao gồm viết cá nhân Phần gồm chức quản lý blog: o Xem viết dành cho user khác o Tạo viết mới: gồm cấu hình cho viết nhƣ: chọn ngày đăng, chọn thƣ mục, tạo tag cho viết, đặt mức độ riêng tƣ cho viết… Bài viết sau tạo xong đƣợc hiển thị phải theo workflow hệ thống tùy vào thiết lập nhà phát triển GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hoàng Anh SV2: Nguyễn Tuấn Dũng 93 Hình 3.12: Thêm viết o Phân quyền truy cập cho user o Tìm kiếm viết o Đánh giá viết o Chia sẻ RSS GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hoàng Anh SV2: Nguyễn Tuấn Dũng 94  Recent Bloggers: ứng dụng có chức hiễn thị user có hoạt động Những user khác đến trang blog cá nhân user đƣợc hiễn thị Nội dụng hiễn thị bao gồm số viết user, điểm user đạt đƣợc, thời gian hoạt động gần user Hình 3.13: Danh sách blogger hoạt gần 3.2.3 Wiki Tất user sử dụng wiki từ việc tạo viết đến việc bình luận viết Wiki hỗ trợ việc thêm tag cho viết để dễ dàng việc tìm kiếm viết có chủ đề liên quan Các chức wiki:  Thêm viết: việc thêm viết bao đƣợc kết hợp với phần quản lý cho phép ngƣời dùng lƣu lại lịch sử viết sau lần GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hoàng Anh SV2: Nguyễn Tuấn Dũng 95 cập nhật Ngoài phần có chức đính kèm tập tin, chức cho phép đăng tải hay nhiều tập tin lúc lên Portal GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hoàng Anh SV2: Nguyễn Tuấn Dũng 96 Hình 3.14: Thêm viết cho Wiki GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hoàng Anh SV2: Nguyễn Tuấn Dũng 97  Bình luận viết: cho phép user viết nhận xét viết  Chi sẻ RSS  Tìm kiếm viết  Đánh giá viết: user đánh giá chất lƣợng viết 3.2.4 Forum Ứng dụng ứng dụng cộng đồng cho phép ngƣời dùng chia sẻ thông tin đến ngƣời dùng khác Các chức Forum gồm: phân quyền, đánh giá phản hồi, tìm kiếm viết Forum  Tạo chủ đề: gồm chức phân quyền truy cập cho chủ đề, gửi đến danh sách email có cập nhật, tùy chọn chủ đề cha GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hoàng Anh SV2: Nguyễn Tuấn Dũng 98 Hình 3.15: Tạo chủ đề  Tạo viết  Trả lời viết  Phân quyền cho user  Đánh giá phản hồi  Chia RSS  Thống kê viết user GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hoàng Anh SV2: Nguyễn Tuấn Dũng 99 Hình 3.16: Xem nội dung viết 3.2.5 Image Gallery Ứng dụng dùng để quản lý hình ảnh user Vì mang tính chất cá nhân nên thƣờng đƣợc dùng trang cá nhân user User có quyền tạo thƣ mục để chứa ảnh, phân quyền truy cập cho user khác Ngồi ứng dụng có chức “slide show” giúp ngƣời dùng thuận tiện xem ảnh Chức đăng ảnh cho phép ngƣời dùng đăng nhiều ảnh lúc Điều tiết kiệm đƣợc thời gian cho ngƣời sử dụng Các hình đăng lên hệ thống đƣợc hệ thống tinh chỉnh kích thƣớc đƣợc cấu hình phần quản trị nhà phát triển, mặc định hệ thống tạo hình có kích thƣớc nhỏ dạng hình thumbnail kích thƣớc gốc ảnh GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hồng Anh SV2: Nguyễn Tuấn Dũng 100 Hình 3.17: Giao diện image gallery 3.3 Portal hoàn chỉnh Bằng việc kết hợp ứng dụng có sẵn tạo đa dạng hệ thống Sự đa dạng phụ thuộc vào yêu cầu dịch vụ nhà phát triển Portal Trong phạm vi đề tài nhóm chúng tơi kết hợp ứng dụng để hoàn thiện hệ thống hoàn chỉnh với tên gọi “bongbay.com” GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hồng Anh SV2: Nguyễn Tuấn Dũng 101 Hình 3.18: Sitemap Portal bongbay.com Mỗi user đăng ký thành viên đƣợc hệ thống tạo trang mặc định mà nhà phát triển thiết lập Hình 3.19: Trang public mặc định user Đây chức ban đầu hệ thống, với Liferay Portal nhà phát triển dễ dàng mở rộng tính giảm chi phí nhƣ thời gian bảo trì hệ thống GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hoàng Anh SV2: Nguyễn Tuấn Dũng 102 TỔNG KẾT Qua trình nghiên cứu tìm hiểu hệ thống Portal nhƣ nghiên cứu đánh giá portal open source java, mà đặc biệt Liferay, nhóm phần nắm đƣợc quy chuẩn xây dựng Portal để áp dụng vào thực tế Có thể nói khoảng thời gian khơng phải dài, nhóm đạt đƣợc kết đề nhƣng khiêm tốn so với tiềm mà hệ thống Portal đem lại Chính ngồi kết đạt đƣợc, với kiến thức tiếp thu đƣợc, nhóm đề phƣơng hƣớng phát triển 4.1 Kết đạt đƣợc Trong đề tài nhóm chúng tơi tìm hiểu sơ lƣợc Portal so sánh số Portal mã nguồn mở ngôn ngữ java Qua nhóm tìm hiểu thêm quy tắc để xây dựng portal hồn chỉnh Đối với việc tìm hiểu open source Liferay nhóm nắm bắt đƣợc kiến trúc Liferay Portal, công nghệ sử dụng, chức quản trị hệ thống dịch vụ hỗ trợ cho ngƣời sử dụng nhƣ cho nhà phát triển Nhóm chúng tơi phát triển đƣợc hai ứng dụng cho Liferay nhƣ thành phẩm trình nghiên cứu góp phần làm phong phú thêm cho kho ứng dụng Liferay Hai ứng dụng mà nhóm phát triển theme(giao diện) ”bongbay” giúp thuận tiện cho ngƣời sử dụng ứng dụng portlet shopping phục vụ cho cá nhân doanh nghiệp việc quảng bá sản phẩm đến với ngƣời tiêu dùng Ngoài nhóm tùy chỉnh số ứng dụng có sẵn kho ứng dụng Liferay nhƣ : chat, blog Bằng việc kết hợp ứng dụng shopping với kho ứng dụng Liferay nhóm chúng tơi xây dựng hệ thống portal bongbay.com GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hoàng Anh SV2: Nguyễn Tuấn Dũng 103 4.2 Phƣơng hƣớng phát triển Với hệ thống portal mà nhóm tìm hiểu xây dựng đáp ứng đƣợc nhu cầu sử dụng thực tế, nhƣng số vấn đề cần phát triển để hệ thống ngày tốt hơn, hoàn thiện chức cho ngƣời sử dụng Nhóm chúng tơi xin đề xuất số phƣơng hƣớng phát triển cho hệ thống:  Xây dựng hệ thống portal tảng phân tán Việc giúp tăng hiệu xuất làm việc nhƣ khả mở rộng hệ thống  Sử dụng chế cache ứng dụng portlet  Ứng dụng cơng nghệ Lucene việc tìm kiếm liệu  Tối ƣu hóa chế chứng thực SSO (Single-Sign-On) GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hoàng Anh SV2: Nguyễn Tuấn Dũng 104 TÀI LIỆU THAM KHẢO [1] Jonas X Yuan, Liferay Portal 5.2 Systems Development, Packt Publishing, 2009 [2] Poornachandra Sarang, Practical Liferay: Java-based Portal Applications Development, Apress, 2009 [3] Jonas X Yuan, Liferay Portal Enterprise Intranets, Packt Publishing, 2008 [4] Richard Sezov, Liferay In Action: The Official Guide to Liferay Portal Development, Manning Publications, 2011 [5] Jonas X Yuan - Xinsheng Chen - Frank Yu, Liferay User Interface Development, Packt Publishing, 2010 [6] Ashish Sarin, Portlets in Action, Manning Publications, 2011 [7] Robert Chen - Sandeep Nair - Samir Bhatt - Mahipalsinh Rana, Liferay Beginner's Guide, Packt Publishing, 2011 [8] Jeff Linwood - David Minter, Building Portals with the Java Portlet API, Apress, 2004 [9] A Akram - D Chohan - X.D Wang - D Meredith and R Allan, CCLRC Portal Infrustructure to Support Research Facilities, GGF14, Chicago, USA, 2005 [10] X Yang - D Chohan -X.D Wang and R Allan, A Web Portal for the National Grid Service, UK e-Science AHM2005, Nottingham, UK, 2005 [11] R.Crouchley, A.Fish, R.J Allan and D Chohan Sakai, Evaluation Exercise Report to JISC (December 2004) [12] http://www.liferay.com/documentation/liferay-Portal/6.0/administration [13] http://www.liferay.com/documentation/liferay-Portal/6.0/development [14] http://en.wikipedia.org/wiki/Portal [15] http://en.wikipedia.org/wiki/Liferay [16] Liferay Portal Enterprise, http://www.liferary.com/ [17] Portal specification JSR 168 and API, http://www.jcp.org/en/jsr/detail?id=168 GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hoàng Anh SV2: Nguyễn Tuấn Dũng 105 [18] Java Authentication and Authorisation Service, http://java.sun.com/products/jaas/ [19] Java Open Single Sign-On, http://www.josso.org/ [20] Struts, http://struts.apache.org/ [21] Hibernate, http://www.hibernate.org/ [22] Sakai, http://www.sakaiproject.org/ [23] Sakai VRE Demonstrator, http://www.grids.ac.uk/Sakai [24] uPortal, http://www.uportal.org/ [25] Pluto, http://portals.apache.org/pluto/index.html [26] Central Authentication Service, http://www.yale.edu/tp/auth/ [27] GridSphere, http://www.gridsphere.org/ [28] eXo Platfrm, http://www.exoplatform.com/ [29] Liferay 6.0.5 API Documentation, http://docs.liferay.com/portal/6.0/javadocs/ GVHD: Ths Nguyễn Hữu Thƣơng SV1: Lê Hoàng Anh SV2: Nguyễn Tuấn Dũng ... chúng tơi bắt tay vào thực đề tài Tìm hiểu Liferay xây dựng ứng dụng nhằm tìm hiểu ƣu điểm, nhƣợc điểm nhƣ ứng dụng thực tế Liferay Bởi Liferay bao phủ nhiều vấn đề chƣa thể tìm hiểu tất nên phạm... chúng tơi đạt đƣợc kết quả:  Nắm đƣợc kiến trúc Liferay  Xây dựng theme  Xây dựng ứng dụng portlet mẫu (shopping)  Tuỳ chỉnh ứng dụng có sẵn Liferay Bố cục khóa luận đƣợc chia thành ba chƣơng:...  Các kiểu plugin đƣợc hỗ trợ Liferay  Cách phát triển theme cho Liferay  Cách xây dựng portlet cho Liferay  Nghiên cứu công nghệ liên quan phát triển ứng dụng Và với mục tiêu trên, qua thời

Ngày đăng: 23/12/2018, 06:15

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN