Tải bản đầy đủ (.docx) (185 trang)

Xây dựng CMS MODULE cho hệ thống INTRANET của công ty TMa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.28 MB, 185 trang )

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.



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ẹ






bạn



đã

luôn


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Ố



HIỆU



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



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
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

Bùi Vĩnh Phú 1 Đặng Đình
Vương
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
Hình 26: Giao diện Daisy
125
Hình 27: Giao diện Magnolia
127
Hình 28: Giao diện OpenCMS
129
Hình 29: Các gói chính của Magnolia CMS
142
Hình 30: Cấu trúc dự án J2EE của hệ CMS
148
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 số thành phần đã được xây dựng trong hệ thống portal của Công ty
32
Bảng 2: Các hằng số trong giao diện javax.jcr.version.OnParentVersionAction
92
Bảng 3: Các hằng số định nghĩa trong giao diện

javax.jcr.observation.EvenType 97

Bảng 4: So sánh yêu cầu hệ thống của một số CMS
119
Bảng 5: So sánh tính bảo mật của một số CMS
119
Bảng 6: So sánh tính tiện dụng của một số CMS
120
Bảng 7: So sánh hiệu suất hoạt động của một số CMS
120
Bảng 8: So sánh tính khả chuyển của một số CMS
121
Bảng 9: So sánh khả năng quản lý của một số CMS
121
Bảng 10: So sánh các khả năng hỗ trợ khác của một số CMS
122
Bùi Vĩnh Phú 3 Đặng Đình
Vương
API
Application Programming Interface
CMS
Content Management System
Drag’n’drop
Thuật ngữ Drag and Drop
Eclipse
Phần mềm miễn phí dùng phát triển các ứng dụng trên Java
/>HTML
Hyper Text Markup Language
HTTP
Hypertext Transfer Protocol
HTTPS
Secure Hypertext Transfer Protocol

JBoss
Web application server miễn phí
/>JCR
Java Content Repository
JDK
Java Development Kit
JSR
Java Specification Request
Lomboz
plug-in giúp Eclipse giao tiếp với JBoss và tạo các dự án J2EE
/>MIME
Multipurpose Internet Mail Extensions
MVC
Mô hình thiết kế Model-View-Controller
ORB
Object Request Broker
RMI-IIOP
Remote Method Invocation over internet Inter-ORB Protocol
SOA
Service Oriented Architecture
SOAP
Simple Object Access Protocol
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
Bùi Vĩnh Phú 4 Đặng Đình
Vương
SPI
Service Provider Interface
MỘT

SỐ




HIỆU



TỪ

VIẾT

TẮT
URI
Uniform Resource Identifiers
URL
Uniform Resource Locator
XHTML
eXtensible Hyper Text Markup Language
XML
eXtensible Markup Language
WSRP
web Services for Remote portlets
WYSIWYG
What You See Is What You Get
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
Bùi Vĩnh Phú 5 Đặng Đình
Vương
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
MỞ


ĐẦU

×