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ỉ mới tham gia lãnh vực này vào năm 2002. Ở Việt Nam, số lượng các công ty xây dựng và sử dụng các hệ CMS vẫn rất giới hạn do đây vẫn còn là lãnh vực quá mới mẻ ở nước ta.
167 trang |
Chia sẻ: tue_kc | Lượt xem: 2274 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu XÂY DỰNG CMS MODULE CHO HỆ THỐNG INTRANET CỦA CÔNG TY TMA, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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.................................