Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
707,09 KB
Nội dung
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM ĐẶNG ĐÌNH VƯƠNG BÙI VĨNH PHÚ XÂY DỰNG CMS MODULE CHO HỆ THỐNG INTRANET CỦA CÔNG TY TMA KHÓA LUẬN CỬ NHÂN TIN HỌC TP. HCM, NĂM 2005 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM ĐẶNG ĐÌNH VƯƠNG – 0112458 BÙI VĨNH PHÚ – 0112024 XÂY DỰNG CMS MODULE CHO HỆ THỐNG INTRANET CỦA CÔNG TY TMA KHÓA LUẬN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN TS. TRẦN VIẾT HUÂN KS. NGUYỄN TẤN HỘ KS. LÊ THANH NHÀN TP. HCM, NĂM 2005 LỜI CẢM ƠN Chúng tôi xin chân thành cảm ơn Khoa Công nghệ Thông tin, trường Đại học Khoa học Tự nhiên, Thành phố Hồ Chí Minh và Công ty TMA đã tạo điều kiện cho chúng tôi thực hiện đề tài tốt nghiệp này. Xin cảm ơn Thầy Trần Viết Huân, Anh Nguyễn Tấn Hộ, Anh Lê Thanh Nhàn, người đã tận tình hướng dẫn, chỉ bảo chúng tôi trong suốt thời gian thực tập tại Công ty. Chúng tôi cảm ơn các anh chị trong nhóm TIS đã giúp đỡ, đóng góp ý kiến cho chúng tôi trong quá trình cài đặt, thử nghiệm chương trình. Xin gửi lời cảm ơn chân thành đến gia đình, ba mẹ và bè bạn vì đã luôn là nguồn động viên to lớn, giúp đỡ chúng tôi vượt qua những khó khăn trong suốt quá trình làm việc. Mặc dù đã cố gắng hoàn thiện luận văn với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những thiếu sót. Kính mong quý Thầy Cô tận tình chỉ b ảo. Một lần nữa, chúng tôi xin chân thành cảm ơn và luôn mong nhận được sự đóng góp quý báu của tất cả mọi người. Tháng 7 năm 2005 Đặng Đình Vương Bùi Vĩnh Phú Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA MỤC LỤC DANH SÁCH CÁC HÌNH VẼ 1 MỘT SỐ KÝ HIỆU VÀ TỪ VIẾT TẮT 4 MỞ ĐẦU 6 Chương 1 Giới thiệu đề tài 7 TỔNG QUAN 12 Chương 2 Tổng quan về sự phát triển của các hệ CMS 13 NGHIÊN CỨU 16 Chương 3 Nhu cầu sử dụng hệ CMS trong các tổ chức 17 1. Nhu cầu hiện tại 18 1.1 Tình hình các web site của các tổ chức ở Việt Nam 18 1.2 Nhu cầu cập nhật và quản lý nội dung 18 1.2.1 Nhu cầu của các doanh nghiệp 18 1.2.2 Nhu cầu của các tờ báo điện tử 20 1.2.3 Nhu cầu trong các hệ thống thông tin của các công ty 21 2. Những lợi ích mà một hệ CMS mang lại cho các công ty 23 Chương 4 Hệ thống intranet hiện tại của công ty 25 1. Yêu cầu khi phát triển hệ thống intranet của công ty TMA 26 1.1 Tình hình hiện tại 26 1.2 Quy định về kiến trúc 27 1.2.1 Kiến trúc mạnh 27 1.2.2 Xây dựng các công cụ hệ thống phi chức năng 28 1.2.3 Bảo mật 28 1.2.4 Khả năng tích hợp 29 1.3 Yêu cầu lúc phát triển 29 2. Portal hiện tại của TMA 30 2.1 Đặc điểm và các thành phần của portal 30 2.2 Các thành phần đã được xây dựng 31 2.3 Kiến trúc hệ thống của portal 34 2.3.1 Kiến trúc hệ thống của các portal phổ biến 34 2.3.2 Kiến trúc hệ thống của portal TMA 35 3. Công nghệ được sử dụng để phát triển hệ thống intranet 36 Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 4. Các chuẩn dùng để phát triển hệ thống 36 5. Nhu cầu của công ty TMA khi xây dựng một hệ CMS 37 5.1 Nhu cầu chia sẻ thông tin giữa các dự án và các vị trí công việc 39 5.2 Xây dựng hệ CMS dưới dạng một portlet có thể được sử dụng bởi các ứng dụng và các thành phần khác 41 5.3 Các kỹ thuật sử dụng trong quá trình phát triển 41 Chương 5 Chuẩn JSR 168 43 1. Giới thiệu về chuẩn JSR 168 44 2. Một số khái niệm chính 45 2.1 Portal 45 2.2 Portlet 45 2.3 Portlet Container 46 3. So sánh Portlet và Servlet 46 3.1 Điểm giống nhau giữa Portlet và Servlet 46 3.2 Điểm khác nhau giữa Portlet và Servlet 46 3.3 Đặc trưng của Portlet mà không có ở servlet 47 4. Giao diện portlet 47 5. Portlet URL 48 6. Portlet Mode 48 7. Window State 49 8. Portlet Request 50 9. Portlet Response 50 10. Portlet Preferences 51 11. Caching 51 12. Ứng dụng Portlet 53 12.1 Các thành phần của ứng dụng Portlet 53 12.2 Cấu trúc cây thư mục 53 12.3 Tập tin lưu trữ của ứng dụng Portlet 54 13. Các đặc tả đóng gói và triển khai 54 13.1 Đặc tả triển khai của ứng dụng Web và ứng dụng Portlet 54 13.2 Triển khai ứng dụng Portlet và ứng dụng Web 55 13.3 Các thành phần của đặc tả triển khai Portlet 55 13.4 Tính duy nhất của các giá trị trong đặc tả triển khai Portlet 59 14. Thư viện các thẻ Portlet 59 14.1 Thẻ actionURL 60 14.2 Thẻ renderURL 60 Chương 6 Chuẩn JSR 170 61 1. Giới thiệu về chuẩn JSR 170 62 2. Mô hình repository 63 Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 3. Một số API cơ bản 64 3.1 Thao tác trên repository 66 4. Sự liên hệ giữa Node, Property và Item 67 5. Sự sắp xếp các Item con 67 6. Namespace 68 7. Property 69 7.1 Property đa trị 69 7.2 Các kiểu dữ liệu của Property 69 7.2.1 Kiểu Date 70 7.2.2 Kiểu Reference, Path và Name 70 8. Node 71 8.1 Quan hệ giữa các node cùng tên và cùng cha ( Same-Name Siblings ) 71 8.2 Các kiểu của Node 71 8.2.1 Kiểu node chính và kiểu node phụ 73 8.2.2 Property definitions 73 8.2.3 Child Node Definitions 74 8.2.4 Các kiểu node được định nghĩa sẵn 75 8.3 Node tham chiếu (Referenceable Nodes) 78 9. Workspace 79 9.1 Repository có một workspace 79 9.2 Repository có nhiều Workspace và sự tương ứng các node 80 10. Tạo phiên bản ( Versioning ) 82 10.1 Version History 83 10.2 Mối quan hệ giữa các versionable node và version history 84 10.3 Đồ Thị Biểu Diễn Các Phiên Bản Trên Repository 84 10.4 Phiên Bản Cơ Bản (Base Version) 85 10.5 Khởi Tạo Một Version History 85 10.6 Tạo Phiên Bản Mới Của Một Node 86 10.7 Phục Hồi Lại Trạng Thái Trước Đó Của Node 87 10.8 Checkout 88 10.9 Update 88 10.10 Các Node Có Thể Tạo Phiên Bản Trên Repository 89 10.11 Thuộc Tính OnParentVersion 91 10.11.1 COPY 92 10.11.2 VERSION 93 10.11.3 INITIALIZE 93 10.11.4 COMPUTE 94 10.11.5 IGNORE 94 10.11.6 ABORT 94 10.12 Ví dụ về một Repository có hỗ trợ tạo phiên bản 95 Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 11. Lắng Nghe Sự Kiện Trên Repository (Observation) 96 11.1 Phát sinh sự kiện 96 11.2 Các loại sự kiện 97 11.3 Đối tượng lắng nghe và xử lý sự kiện 98 11.4 Lựa chọn sự kiện để lắng nghe 99 11.5 Các sự kiện xảy ra đối với một hành động trên Repository 99 11.5.1 Hành động thêm một Item 99 11.5.2 Hành động thay đổi giá trị của Property 100 11.5.3 Hành động thêm vào một Node đã tồn tại trong Repository 100 11.5.4 Khôi phục lại trạng thái của một Node 101 11.5.5 Sao chép một Node 101 11.5.6 Xóa một Item 102 11.5.7 Di chuyển vị trí của một Node 102 11.5.8 Tạo Phiên Bản Của Item 102 11.5.9 Khoá một Item 103 11.5.10 Mở khóa một Item 103 12. Vấn đề bảo mật trên Repository 104 13. Cơ chế khóa trên Repository 104 13.1 Mức độ khóa 104 13.2 Phạm vi khóa 104 13.3 Loại khóa 105 14. Tìm kiếm nội dung trên Repository 105 14.1 Ngôn ngữ truy vấn JCRQL 106 14.1.1 Mệnh đề SELECT 106 14.1.2 Mệnh đề FROM 106 14.1.3 Mệnh đề LOCATION 106 14.1.4 Mệnh đề WHERE 109 14.1.5 Mệnh đề SEARCH 110 14.1.6 Mệnh đề ORDER BY 111 15. Một số ví dụ về việc cài đặt JCR 112 15.1 JCR cài đặt bên trên File System 112 15.2 JCR cài đặt bên trên một Database 113 Chương 7 So sánh một số giải pháp CMS mã nguồn mở phổ biến 115 1. Giới thiệu các giải pháp hiện tại 116 1.1 Xu hướng phát triển của các hệ CMS 116 1.1.1 Xu hướng về mặt thương mại 116 1.1.2 Xu hướng về công nghệ, kỹ thuật 117 1.2 So sánh các giải pháp CMS thông dụng 118 1.2.1 Tiêu chí lựa chọn các giải pháp CMS để so sánh 118 Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 1.2.2 Các tiêu chí so sánh 118 2. Mô tả các giải pháp đã so sánh 123 2.1 Giải pháp Cofax 2.0 123 2.2 Giải pháp Daisy 1.1 125 2.2.1 Repository chứa nội dung 126 2.2.2 Giao diện web 126 2.3 Giải pháp Magnolia 2.1 127 2.4 Giải pháp OpenCMS 5.0 129 3. Kết luận 130 ỨNG DỤNG 132 Chương 8 Các chức năng của TMA CMS 133 1. Mô hình Use case 134 2. Mô tả các chức năng 135 2.1 Quản lý vai trò 135 2.2 Quản lý người sử dụng 135 2.3 Phân quyền sử dụng cho vai trò 136 2.4 Phân phối vai trò đến người sử dụng 137 2.5 Tối ưu hoá các thông tin cấu hình hệ thống 138 2.6 Biên soạn nội dung trang web 138 2.7 Áp dụng template vào trang web 139 2.8 Phân loại nội dung 139 2.9 Truy nhập vào hệ CMS 139 2.10 Tìm kiếm nội dung 140 2.11 Lựa chọn ngôn ngữ 140 Chương 9 Tích hợp hệ thống CMS vào TMA portal 141 1. System Architecture của Magnolia CMS 142 1.1 Mô hình một số package quan trọng của Magnolia CMS 142 1.2 Mô tả các package 142 1.2.1 Package info.magnolia.cms 142 1.2.2 Package info.magnolia.cms. security 143 1.2.3 Package info.magnolia.cms.servlets 143 1.2.4 Package info.magnolia.cms.core 143 1.2.5 Package info.magnolia.module.adminInterface 143 1.2.6 Package info.magnolia.module.templating 144 1.2.7 Package info.magnolia.repository 144 1.2.8 Package info.magnolia.exchange 144 2. Hướng tiếp cận để tích hợp 144 2.1 Hướng tiếp cận thứ 1 144 Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 2.2 Hướng tiếp cận thứ 2 145 3. Cách thức thực hiện 146 3.1 Tạo dự án J2EE dựa trên mã nguồn của Magnolia 147 3.2 Chuẩn hoá dự án J2EE theo chuẩn JSR 168 147 3.3 Tích hợp hệ thống bảo mật 151 KẾT LUẬN 152 HƯỚNG PHÁT TRIỂN 155 TÀI LIỆU THAM KHẢO 157 Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Bùi Vĩnh Phú 1 Đặng Đình Vương DANH SÁCH CÁC HÌNH VẼ Hình 1: Hệ CMS quản lý tự động nội dung trang web 8 Hình 2: Giao diện hệ thống intranet của công ty TMA 9 Hình 3: Hệ thống thông tin hiện tại của công ty TMA 10 Hình 4: Quy trình cập nhật thông tin trong doanh nghiệp 19 Hình 5: Quy trình cập nhật thông tin trong doanh nghiệp khi sử dụng CMS 19 Hình 6: Quy trình cập nhật thông tin trong một tờ báo địên tử 20 Hình 7: Quy trình cập nhật thông tin trong toà soạn báo điện tử có sử dụng hệ CMS 21 Hình 8: Quy trình cập nhật thông tin trong một hệ thống thông tin 22 Hình 9: Quy trình cập nhật thông tin trong một hệ thống thông tin có CMS 23 Hình 10: Kiến trúc SOA của intranet của công ty TMA 26 Hình 11: Các thành phần trong portal của công ty TMA 33 Hình 12: Kiến trúc hệ thống của các portal phổ biến 34 Hình 13: Kiến trúc hệ thống của portal TMA 35 Hình 14: Chia sẻ thông tin giữa các dự án và vị trí công việc trong công ty TMA 40 Hình 15: Mô hình chuẩn JSR 168 44 Hình 16: Cấu trúc một đặc tả triển khai Portlet 57 Hình 17: Cấu trúc một đặc tả triển khai Portlet (tt) 58 Hình 18: Chuẩn JSR 170 giao tiếp với cơ sở dữ liệu 62 Hình 19: Mô hình một workspace của một repository 63 Hình 20: Mối liên hệ giữa Node, Property và Item 67 Hình 21: Repository có một workspace 79 Hình 22: Repository có nhiều workspace 81 Hình 23: Đồ thị mô tả một Version History 83 Hình 24: Repository có nhiều workspace và hỗ trợ tạo phiên bản 95 Hình 25: Giao diện Cofax 123 [...]... Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA TỔNG QUAN Bùi Vĩnh Phú 12 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Chương 2 Tổng quan về sự phát triển của các hệ CMS Bùi Vĩnh Phú 13 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Xây dựng hệ thống CMS là một lãnh vực chỉ mới xuất hiện trong 6 năm gần đây Công ty Microsoft chỉ... đáng cho các vấn đề chúng tôi đã gặp phải Bùi Vĩnh Phú 15 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA NGHIÊN CỨU Bùi Vĩnh Phú 16 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Chương 3 Nhu cầu sử dụng hệ CMS trong các tổ chức Bùi Vĩnh Phú 17 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 1 Nhu cầu hiện tại 1. 1 Tình... thống Intranet cuả Công ty TMA Chương 4 Hệ thống intranet hiện tại của công ty Bùi Vĩnh Phú 25 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 1 Yêu cầu khi phát triển hệ thống intranet của công ty TMA 1. 1 Tình hình hiện tại Khi đề tài này được bắt đầu thì nhóm TIS (TMA Information System) đang phát triển một hệ thống intranet mới cho công ty dựa trên kiến trúc SOA (Service Oriented... triển CMS module cho hệ thống Intranet cuả Công ty TMA Hình 26: Giao diện Daisy 12 5 Hình 27: Giao diện Magnolia .12 7 Hình 28: Giao diện OpenCMS 12 9 Hình 29: Các gói chính của Magnolia CMS 14 2 Hình 30: Cấu trúc dự án J2EE của hệ CMS .14 8 Bùi Vĩnh Phú 2 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA DANH SÁCH CÁC BẢNG Bảng 1: Một... Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Hình 2: Giao diện hệ thống intranet của công ty TMA Hệ thống Intranet của công ty TMA hỗ trợ các công cụ, các chức năng như sau: • Quản lý nhân sự • Quản lý năng lực của nhân viên • Quản lý tuyển dụng • Quản lý thông tin các dự án • Hệ quản lý tài liệu • Tìm kiếm thông tin • Hệ thống bảo mật • Các sự kiện nội bộ của công ty • … Bùi Vĩnh Phú... dụng hệ CMS 1. 2.3 Nhu cầu trong các hệ thống thông tin của các công ty Trong các hệ thống thông tin của các công ty, người ta phân thành các phòng ban và các dự án Các phòng ban và các dự án này có nhiệm vụ phải cung cấp thông tin cho nhóm làm web của công ty Sau đó, thông tin này mới được cập nhật lên hệ thống Intranet Bùi Vĩnh Phú 21 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công. .. hiệu suất hoạt động của một số CMS .12 0 Bảng 8: So sánh tính khả chuyển của một số CMS .12 1 Bảng 9: So sánh khả năng quản lý của một số CMS 12 1 Bảng 10 : So sánh các khả năng hỗ trợ khác của một số CMS 12 2 Bùi Vĩnh Phú 3 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA MỘT SỐ KÝ HIỆU VÀ TỪ VIẾT TẮT API Application Programming Interface CMS Content Management... CMS, DotNetNuke, Dozing Dogs ASP.NET CMS, Dynamicweb… Bùi Vĩnh Phú 14 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA • VB.NET: AxCMS.net, contentXXL - ASP.NET CMS, Dozing Dogs ASP.NET CMS • C#: AxCMS.net, contentXXL - ASP.NET CMS, Dozing Dogs ASP.NET CMS, Rainbow… • Python: Easy Publisher… Một số hệ CMS được xây dựng như là một thành phần của portal Số còn lại được phát triển... NetPotential CMS, Open CMS • PHP: Acuity CMS, AGPCMS, Aiyoota! -CMS, Back-End CMS, BxCMS, Caravel, CathDesign CMS, Complete Site Manager, dotWidget CMS, e107, eazyCMS, EGOCMS, fly CMS, Jaws, Mambo, Komodo CMS, OpenPHPNuke, PostNuke… • C++: Lighthouse, Manila… • ASP: Acuity CMS, Baseline CMS • Cold Fusion: AssetNow, EasyConsole CMS • ASP.NET: AxCMS.net, Composite CMS, contentXXL - ASP.NET CMS, DotNetNuke,... tả cho quy trình tự động này Hình 1: Hệ CMS quản lý tự động nội dung trang web Luận văn này được thực hiện trong quá trình thực tập của chúng tôi tại công ty phần mềm Tường Minh (TMA) Khi luận văn bắt đầu thì hệ thống thống tin (intranet) của công ty đang được xây dựng lại Việc xây dựng này dựa trên các chuẩn mở và các công nghệ, giải pháp mã nguồn mở Bùi Vĩnh Phú 8 Đặng Đình Vương Phát triển CMS module . phổ biến 11 5 1. Giới thiệu các giải pháp hiện tại 11 6 1. 1 Xu hướng phát triển của các hệ CMS 11 6 1. 1 .1 Xu hướng về mặt thương mại 11 6 1. 1.2 Xu hướng về công nghệ, kỹ thuật 11 7 1. 2 So. Repository 10 5 14 .1 Ngôn ngữ truy vấn JCRQL 10 6 14 .1. 1 Mệnh đề SELECT 10 6 14 .1. 2 Mệnh đề FROM 10 6 14 .1. 3 Mệnh đề LOCATION 10 6 14 .1. 4 Mệnh đề WHERE 10 9 14 .1. 5 Mệnh đề SEARCH 11 0 14 .1. 6. một Node 10 1 11 .5.5 Sao chép một Node 10 1 11 .5.6 Xóa một Item 10 2 11 .5.7 Di chuyển vị trí của một Node 10 2 11 .5.8 Tạo Phiên Bản Của Item 10 2 11 .5.9 Khoá một Item 10 3 11 .5 .10 Mở khóa