kt_kute_kt

New Member

Download miễn phí Khóa luận Xây dựng CMS module cho hệ thống intranet của 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
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
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 NodeDefinitions .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 phiên bản History .83
10.2 Mối quan hệgiữa các versionable node và phiên bản 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 phiên bản 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
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
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
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



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

các thẻ Portlet
Thư việc các thẻ Portlet dùng để hỗ trợ cho các trang JSP khi được gọi từ Portlet
có thể truy nhập vào các thành phần của Portlet như là : RenderRequest,
RenderResponse…Các thư viện này cũng giúp cho các trang JSP có thể truy cập vào
các chức năng của Portlet như việc tạo ra các Portlet URL.
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
Bùi Vĩnh Phú 60 Đặng Đình Vương
Các trang JSP khi sử dụng các thư viện này cần khai báo chúng trong thẻ
thư viện theo như mẫu sau:
14.1 Thẻ actionURL
Thẻ actionURL tạo ra một URL tham chiếu đến Portlet hiện tại và thực thi một
số yêu cầu với các tham số khởi tạo.
Các tham số này có thể được thêm vào URL bằng cách nhập thẻ param giữa thẻ
đóng và thẻ mở actionURL như trong ví dụ sau :
14.2 Thẻ renderURL
Thẻ renderURL tạo ra một URL tham chiếu đến Portlet hiện tại và thực thi một
số yêu cầu render với các tham số khởi tạo.
Các tham số này có thể được thêm vào URL bằng cách nhập thẻ param giữa thẻ
đóng và thẻ mở renderURL.
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
Bùi Vĩnh Phú 61 Đặng Đình Vương
Chương 6
Chuẩn JSR 170
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
Bùi Vĩnh Phú 62 Đặng Đình Vương
1. Giới thiệu về chuẩn JSR 170
Chuẩn JSR 170 dùng để định nghĩa cách thức lưu trữ và truy xuất dữ liệu. Có
nhiều loại dữ liệu được hỗ trợ như: hệ quản trị cơ sở dữ liệu, hệ thống tập tin của hệ
điều hành, tập tin XML…Ngoài ra, chuẩn này còn cung cấp các API và các cơ chế để
chuyển đổi giữa các cơ sở dữ liệu cũng như hỗ trợ cho việc truy xuất cơ sở dữ liệu,
như: lưu trữ dữ liệu theo cấu trúc cây, quản lý phiên bản dữ liệu, lắng nghe sự kiện xảy
ra trên cấu trúc lưu trữ dữ liệu, không cho truy cập vào dữ liệu…
Phiên bản hiện tại của chuẩn JSR 170 là 0.16.2 được đưa ra bởi Day Management AG
vào ngày 25/01/2005. ( Hình vẽ sau mô tả cách
thức giao tiếp của JSR 170 với các hệ cơ sở dữ liệu.
Hình 18: Chuẩn JSR 170 giao tiếp với cơ sở dữ liệu
Repository
DBMS
Repository
File System
Repository
XML
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
Bùi Vĩnh Phú 63 Đặng Đình Vương
2. Mô hình repository
Một JCR (Java Content Repository) bao gồm một hay nhiều workspace, mỗi
workspace là một cấu trúc cây gồm nhiều item, một item có thể là một node hay một
property, mỗi node có thể không có con hay có nhiều con và không có property hay có
nhiều property. Có duy nhất một node không có cha gọi là root. Tất cả các node ngoại
trừ root có ít nhất một cha. Property có một cha và không có con, được gọi là lá của
cây. Property là một đơn vị nội dung nhỏ nhất bao gồm tên và giá trị tương ứng . Dữ
liệu thực sự được chứa đựng trong giá trị của property.
Hình 19: Mô hình một workspace của một repository
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
Bùi Vĩnh Phú 64 Đặng Đình Vương
Trong biểu đồ trên, root có 3 node con là a,b và c. Mỗi node con có nhiều node
con hay nhiều Property, chẳng hạn node a có 2 con là d và e, node e có 2 property là j
và k, Property j chứa một hình ảnh và Property k chứa một số thực.
Bất kỳ item nào trong cấu trúc trên đều có thể được xác định bằng một đường
dẫn tuyệt đối. Ví dụ đường dẫn / chỉ đến root, đường dẫn /a/d/i chỉ đến 1 Property có
giá trị là true. Đường dẫn tuyệt đối luôn bắt đầu với / .
Đường dẫn tương đối chỉ ra một node hay một property từ một node đã được
xác định trước. Ví dụ : với node /a trong biểu đồ trên thì đường dẫn tương đối đến
property với giá trị true là d/i, đến property có giá trị -25 là ../c/h.
3. Một số API cơ bản
Toàn bộ Repository được thay mặt bởi một đối tượng Repository. Một Client kết
nối tới một Repository bằng cách cung cấp một đối tượng Credentials và xác định một
Workspace cụ thể bên trong một Repository. Nếu Credentials được thông qua thì
Client có thể truy cập đến một Workspace đã xác định, sau đó Client sẽ nhận một
Ticket.
Ví dụ :
// Lấy đối tượng Repository
Repository repository = (Repository)java.rmi.Naming.lookup("MyRepo");
// Lấy đối tượng Credentials
Credentials credentials = new SimpleCredentials("MyName",
"MyPassword".toCharArray());
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
Bùi Vĩnh Phú 65 Đặng Đình Vương
// Lấy một Ticket
Ticket myTicket = repository.login(credentials, "MyWorkspace");
Với đối tượng Ticket, Client có thể truy cập đến bất kỳ một Node hay Property
nào trong cây của Workspace đang truy cập :
// Lấy Node Root
Node root = myTicket.getRootNode();
// Lấy một Node bất kỳ với đường dẫn tuyệt đối
Node myNode = root.getNode("a/e");
// Lấy một Property của myNode
Property myProperty = myNode.getProperty("k");
// Lấy ra giá trị của một Property
Value myValue = mỷPoperty.getValue();
// Chuyển đổi một Value về một kiểu nào đó
double myDouble = myValue.getDouble();
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
Bùi Vĩnh Phú 66 Đặng Đình Vương
3.1 Thao tác trên repository
Sau khi có một Ticket, Client có thể thao tác vào Repository bằng cách thêm
hay xoá các node, property và thay đổi các giá trị của các Property
Ví dụ :
Sau khi có một node, Client có thể thêm vào một node con và thêm một
Property vào node con đó.
//Thêm một Node con
Node newNode = myNode.addNode(“n”);
//Thêm một Property
newNode.setProperty(“x”,”Hello”);
Sự thay đổi bởi các cách của Node và Property không tác động ngay
vào Workspace của Repository. Các sự thay đổi đó được lưu giữ tạm thời cùng với đối
tượng Ticket cho đến khi cách Ticket.save hay Node.save được gọi
Ticket.save sẽ cập nhật tất cả sự thay đổi từ lần save trước đó.
cách Node.save(boolean shallow) lưu toàn bộ cây con của đối tượng
node (khi shallow = false) hay chỉ lưu các property của node đó (khi shallow = true)
Về mặt tổng quát, Ticket là một kho lưu trữ tạm thời, tất cả những sự thay đổi
được thực hiện thông qua những cách của Ticket hay gián tiếp thông qua các
cách của Node và Property.
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
Bùi Vĩnh Phú 67 Đặng Đình Vương
4. Sự liên hệ giữa Node, Property và Item
Do các Node và các Property có một số chức năng chung nên các cách
chung được định nghĩa trong Interface Item.
Hình 20: Mối liên hệ giữa Node, Property và Item
Biểu đồ UML trên chỉ ra Property và Node là các SubInterface của Item. Một
Property có một và chỉ một Node cha, một Node có thể có một hay nhiều Node cha và
có nhiều Item con.
5. Sự sắp xếp các Item con
Một node được hỗ trợ sắp thứ tự nghĩa là sẽ tồn tại 2 danh sách, một cho các
node con và một cho các property. các node con và các property sẽ không chung thứ tự
với nhau.
Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA
Bùi Vĩnh Phú 68 Đặng Đình Vương
Khi một item con có thỉ mục là n bị xoá khỏi một node có hỗ trợ sắp thứ tự thì
tất cả các item có chỉ mục lớn hơn n sẽ bị giảm đi 1 đơn vị. Khi một item được thêm
vào mà không chỉ rõ chỉ mục, nó sẽ tự động được thêm vào cuối danh sách.
6. Namespace
Giống như XML, JCR cũng đưa ra khái niệm Namespaces định nghĩa các tiền t
 

Các chủ đề có liên quan khác

Top