Nhưng với quy mô và khả năng phục vụ độc giả của các thư viện hiện tại là chưa thực sự được rộng rãi.Với sự phát triển của Internet, việc truy cập và lấy thông tin từ các website là rấtp
Trang 1MỤC LỤC
DANH SÁCH CÁC HÌNH VẼ 2
DANH SÁCH CÁC TỪ VIẾT TẮT 3
LỜI NÓI ĐẦU 4
CHƯƠNG 1 GIỚI THIỆU VỀ ĐỀ TÀI, TRÌNH BÀY CÁC ỨNG DỤNG .5 1.1 Giới thiệu về đề tài: 5
1.2 Các ứng dụng: 5
CHƯƠNG 2 XÂY DỰNG ĐỀ TÀI, CÁC MÔ HÌNH THIẾT KẾ BAN ĐẦU, XÂY DỰNG CÁC CHỨC NĂNG 5
2.1 Các mô hình thiết kế trong đề tài 6
2.2 Chi tiết cách hoạt động của các đối tượng trong hệ thống 20
2.3 Giới thiệu về PHP-DOM 26
CHƯƠNG 3 KẾT LUẬN 37
3.1 XML + Schema có cấu trúc giống CSDL 37
3.2 Sử dụng XML làm giảm nhẹ quá trình xử lý và tải trang Website 38
3.3 Một số ứng dụng của XML 41
TÀI LIỆU THAM KHẢO 42
Trang 2DANH SÁCH CÁC HÌNH VẼ
Hình 1.1 Biểu đồ use-case của người sử dụng 6
Hình 1.2 Use-case của quản trị viên 7
Hình 1.3 Truy vấn thông tin 8
Hình 1.4 Khôi phục mật khẩu 8
Hình 1.5 Đăng ký tài khoản 9
Hình 1.6 Đăng nhập 9
Hình 1.7 Kiểm tra thông tin tài khoản 10
Hình 1.8 Thay đổi mật khẩu 10
Hình 1.9 Kết thúc phiên truy cập (Thoát) 11
Hình 1.10 Đăng nhập 11
Hình 1.11 Thêm thông tin sách mới 12
Hình 1.12 Xóa thông tin sách 12
Hình 1.13 Sửa thông tin sách 13
Hình 1.14 Tìm kiếm thông tin sách 13
Hình 1.15 Thống kê 14
Hình 1.16 Cập nhật thông tin sách 14
Hình 1.17 Kế thúc phiên làm việc(Thoát) 15
Hình 1.18 Sơ đồ quan hệ tổng quát của các lớp trong hệ thống 15
Hình 1.19 Chi tiết mỗi lớp 16
Hình 1.20 Mô hình ER(Entities Relative) của cơ sớ dữ liệu 16
Hình 1.21 Cấu trúc tệp tin library.xml 17
Hình 1.22 Cấu trúc tệp book.xml 18
Hình 1.23 Cấu trúc tệp tin category.xml 18
Hình 1.24 Cấu trúc tệp tin author.xml 19
Hình 1.25 publisher.xml 19
Hình 1.26 Cấu trúc tệp tin reader.xml 20
Hình 1.27 Cấu trúc image.xml 20
Hình 2.1 Sơ đồ thao tác truy cập của người dùng 21
Hình 2.2 Sơ đồ thêm mới thông tin sách 21
Hình 2.3 Sơ đồ sửa thông tin sách 22
Hình 2.4 Sơ đồ xóa thông tin sách vào thùng rác 23
Hình 2.5 Sơ đồ xóa thông tin sách từ thùng rác 24
Hình 2.6 Sơ đồ phục hồi thông tin sách từ thùng rác 25
Hình 2.7 Sơ đồ cập nhật dữ liệu vào các tệp tin xml và CSDL 25
Hình 2.8 Mô hình lớp DOM trong PHP 26
Hình 2.9 Cây XML DOM dùng cho XML các sách 28
Hình 3.1 Sơ đồ tương quan giữa XML và CSDL 37
Hình 3.2 Sơ đồ truy cập Website sử dụng CSDL trường hợp 1 người dùng 38
Hình 3.3 Sơ đồ truy cập Website sử dụng CSDL trường hợp nhiều người dùng 39
Hình 3.4 Sơ đồ ứng dụng XML để giảm nhẹ quá trình tải trang web lần thứ nhất 40 Hình 3.5 Sơ đồ ứng dụng XML để giảm nhẹ quá trình tải trang web lần hai 41
Trang 4DANH SÁCH CÁC TỪ VIẾT TẮT
Trang 5LỜI NÓI ĐẦU
Internet ra đời là một bước ngoặt lớn trên con đường phát triển của ngànhcông nghệ thông tin Internet giúp các máy tính có thể kết nối với nhau từ những nơirất xa,thậm chí là nửa vòng trái đất Nhưng việc kết nối và truyền dữ liệu chỉ có thểđược sử dụng bởi các nhân viên, hoặc những người sử dụng nắm rõ được kỹ thuậtnày Như vậy Internet đơn thuần là không được sử dụng phổ biến Nhằm mục đíchchia sẻ thông tin giữa mọi người ở trên khăp mọi nơi trên thế giới các website đãđươc giới thiệu vào 6/6/1991 Không chỉ đơn thuần là chia sẻ thông tin, ngày naycác website nhanh chóng phát triển cả về nội dung và kỹ thuật để đáp ứng nhu cầucủa người sử dụng ngày một đa dạng và phức tạp Một trong những cải tiến đángchú nhất ý là ứng dụng công nghệ XML vào quá trình tạo và vận hành các website.Công nghệ này có những ứng dụng hữu ích như: Web services, cập nhật tin nhanhRSS, dùng để cấu hình tự động cho các phần mềm và các website v.v… Sở dĩ gọiXML là Công nghệ (Điển hình là XML) chứ không phải ngôn ngữ là vì Công nghệXML dùng để tạo ra và biến đổi thành các ngôn ngữ khác như HTML, XHTML,Tài liệu vô tuyến v.v… Vậy Công nghệ XML là gì? Đó là một công nghệ do các kỹ
sư công nghệ thông tin của tổ chức W3C phát triển và cung cấp cho mọi người.Trong đó bao gồm các phần mở rộng như XSL, XSLT, Schema… và XML Để thấyđược một phần tác dụng quan trọng của công nghệ này cũng như ứng dụng nó trongthực tế nhóm em xin trình bày tập lớn với đề tài “Ứng dụng công nghệ XML tạotrang web giới thiệu sản phẩm” (Có ứng dụng một phần của Công Nghệ XML).Trong quá trình thực hiện đề tài xây dựng website quản lý thư viện trực tuyếnvới ứng dụng của xml, do thời gian và kiến thức có hạn nên nhóm chúng em khôngthể tránh khỏi có những sai sót trong quá trình thực hiện Chúng em xin chân thànhcảm ơn sự hướng dẫn và giúp đỡ tận tình của cô giáo Đỗ Thị Tâm đã giúp chúng
em hoàn thành được bài báo cáo thực tập này
Trang 6CHƯƠNG 1 GIỚI THIỆU VỀ ĐỀ TÀI, TRÌNH BÀY CÁC
ỨNG DỤNG 1.1 Giới thiệu về đề tài:
Ngày nay với sự ra đời ngày càng nhiều các thư viện trong các trường học, các
tổ chức… với mục đích đem tri thức đến cho tất cả mọi người Nhưng với quy mô
và khả năng phục vụ độc giả của các thư viện hiện tại là chưa thực sự được rộng rãi.Với sự phát triển của Internet, việc truy cập và lấy thông tin từ các website là rấtphổ biến hiện nay Do đó việc xây dựng một hệ thống quản lý thư viện trực tuyến(xây dựng website quản lý thư viện) là việc rất cần thiết và khả dụng hiện nay
1.2 Các ứng dụng:
Các website được xây dựng trên nền tảng PHP và sử dụng CSDL MySQL rất phổ biến hiện nay Mỗi khi có một người dùng truy cập vào trang web để lấy thông tin thì trình duyệt sẽ phải lấy thông tin từ máy chủ truy vấn từ CSDL lấy thông tin rồi biên dịch và hiển thị nên màn hình Quá trình như vậy sẽ được lặp lại cho nhữnglần truy cập tiếp theo
Khi số lượt truy cập vào website nhỏ thì trang web sẽ vẫn hành tốt Nhưng nhược điểm của phương pháp này khi số lượt truy cập tăng lên gấp nhiều lần và cùng một thời điểm thì số lượt truy vấn tới CSDL trên máy chủ sẽ rất lớn dẫn đến trang web sẽ tải chậm và nhiều ảnh hưởng khác
Do đó vấn đề cần giải quyết ở đây là có rất nhiều lượt truy vấn vào website( cóthể cùng một thời điểm) thì website vẫn vận hành tốt
Giải pháp:
Sử dụng công nghệ XML để hỗ trợ CSDL làm giảm nhẹ quá trình truy vấn tới máy chủ, giúp trang web hoạt động tốt hơn
CHƯƠNG 2 XÂY DỰNG ĐỀ TÀI, CÁC MÔ HÌNH THIẾT
KẾ BAN ĐẦU, XÂY DỰNG CÁC CHỨC NĂNG
Những nội dung trong đề tài:
2.1 Mô hình thiết kế đề tài
2.2 Mô hình và chi tiết cách hoạt động của các đối tượng trong hệ thống.2.3 Giới thiệu về PHP-DOM
2.4 Kết luận
2.4.1 XML + Schema là một cơ sở dữ liệu nhỏ, đôc lập
2.4.2 Sử dụng XML làm giảm nhẹ quá trình xử lý và tải trang Website
Trang 7Người sử dụng truy cập vào website và có thể:
1 Truy vấn thông tin (xem các thông tin về các cuốn sách…)
2 Đăng ký làm độc giả của thư viện (Thành viên của website)
3 Phục hồi mật khẩu nếu lỡ quên
Nếu đăng nhập thành công độc giả tiếp tục có thể thực hiện các tương tác khácnhư:
4 Xem thông tin tài khoản
5 Thay đổi mật khẩu
6 Mượn sách
7 Trả sách
8 Thoát (kết thúc phiên truy cập)
Trang 8Hình 1.2 Use-case của quản trị viên.
Mô tả:
Bắt đầu một phiên làm việc quản trị viên sẽ đăng nhập vào khu vực quản trị và
có thể thực hiện:
1 Thêm mới các thông tin sách như: Thông tin về tác giả, thể loại…
2 Chỉnh sửa các thông tin của các cuốn sách
3 Xóa thông tin các cuốn sách
4 Phục hồi thông tin sách đã xóa trong thùng rác
5 Tìm kiếm
6 Thống kê
7 Thoát
Nếu là quản trị viên quyền cao nhất thì có thể:
8 Xóa thông tin các cuốn sách sách trong thùng rác (Xóa Thông tin các cuốn sách trong CSDL)
9 Cập nhât dữ liệu của website từ các tệp tin XML vào CSDL
10 Thoát (Khi quản trị viên kết thúc phiên làm việc)
Sơ đồ tuần tự:
Sơ đồ tuần tự cho Use Case độc giả:
Trang 9Hình 1.3 Truy vấn thông tin
Hình 1.4 Khôi phục mật khẩu
Trang 10Hình 1.5 Đăng ký tài khoản
Hình 1.6 Đăng nhập
Trang 11Hình 1.7 Kiểm tra thông tin tài khoản
Hình 1.8 Thay đổi mật khẩu
Trang 12Hình 1.9 Kết thúc phiên truy cập (Thoát).
Sơ đồ tuần tự cho Use Case nhân viên:
Hình 1.10 Đăng nhập
Trang 13Hình 1.11 Thêm thông tin sách mới
Hình 1.12 Xóa thông tin sách
Trang 14Hình 1.13 Sửa thông tin sách
Hình 1.14 Tìm kiếm thông tin sách
Trang 15Hình 1.15 Thống kê
Hình 1.16 Cập nhật thông tin sách
Trang 16Hình 1.17 Kế thúc phiên làm việc(Thoát)
Sơ đồ quan hệ tổng quát của các lớp trong hệ thống:
Hình 1.18 Sơ đồ quan hệ tổng quát của các lớp trong hệ thống.
Bảng đặc tả các đối tượng trong hệ thống:
hiện các hành động của độc giả với hệ thống
hiện các hành động của nhân viên với hệthống
CSDL và các tệp tin xml
Trang 17xmlAction Quản lý các hành động thực hiện trên
các tệp tin xml
xml
Chi tiết mỗi lớp:
Hình 1.19 Chi tiết mỗi lớp
Mô hình ER (Entities Relative) của cơ sớ dữ liệu:
Trang 18Hình 1.20 Mô hình ER(Entities Relative) của cơ sớ dữ liệu.
Cấu trúc các tệp tin XML đươc chuyển từ CSDL tương ứng:
Tệp tin xml chung dùng để lấy dữ liệu hiển thị lên trang chủ
Trang 19Hình 1.21 Cấu trúc tệp tin library.xml
Tệp tin xml để quản lý thông tin các cuốn sách trong thư viện
Trang 20Hình 1.22 Cấu trúc tệp book.xml
Tệp tin xml dùng để quản lý thông tin các thể loại trong thư viện
Hình 1.23 Cấu trúc tệp tin category.xml
Tệp tin xml dùng để quản lý thông tin các tác giả trong thư viện
Trang 21Hình 1.24 Cấu trúc tệp tin author.xml
Tệp tin dùng để quản lý thông tin các nhà xuất bản có trong thư viện
Hình 1.25 publisher.xml
Tệp tin xml dùng để quản lý thông tin về các độc giả trong thư viện
Trang 22Hình 1.26 Cấu trúc tệp tin reader.xml
Tệp tin xml dùng để quản lý thông tin về các hình ảnh trên website
Hình 1.27 Cấu trúc image.xml
2.2 Chi tiết cách hoạt động của các đối tượng trong hệ thống.
Trang 23Hình 2.1 Sơ đồ thao tác truy cập của người dùng
Phân tích sơ đồ:
1 Người dùng truy cập vào website
2 Máy chủ kiểm tra tệp tin xml có tồn tại hay không
a Nếu đã tồn tại tệp tin xml thì sẽ được qua bộ xử lý DOM-PHP lấy
dữ liệu từ tệp tin xml và hiển thì lên trình duyệt cho người dùng
b Nếu không tồn tại thì máy chủ sẽ truy vấn từ CSDL và qua bộ xử
lý DOM-PHP lấy dữ liệu tạo ra tệp tin xml và lấy dữ liệu từ tệp tinxml đó hiển thị lên trình duyệt
Hình 2.2 Sơ đồ thêm mới thông tin sách.
Phân tích sơ đồ:
1 Quản trị viên yêu cầu nhập và truyền các dữ liệu và form nhập
Trang 24a1 Nếu trùng khóa chính thoát
a2 Nếu khóa chính không trùng sẽ kiểm tra sự tồn tại của tệp tin xml
a2.1 Nếu tồn tại tệp tin xml thì sẽ cập nhật lại tệp tin xml
a2.2 Nếu không tồn tại thì sẽ lưu mới tệp tin xml
b Nếu dữ liệu không thỏa mãn thoát
Hình 2.3 Sơ đồ sửa thông tin sách.
Phân tích sơ đồ:
1 Quản trị viên yêu cầu sửa và truyền các dữ liệu và form sửa
2 Kiểm tra dữ liệu được nhập vào có thỏa mãn hay không?
a Nếu thỏa mãn thì kiểm tra xem khóa chính có trùng hay không
a1 Nếu không trùng khóa chính thì cập nhật lại tệp tin xml
a2 Nếu trùng khóa chính thoát
b Nếu không thỏa mãn thoát
Trang 25Hình 2.4 Sơ đồ xóa thông tin sách vào thùng rác
Phân tích sơ đồ:
1 Người quản trị gửi yêu cầu xóa và truyền vào khóa chính của nút cần xóa
2 Yêu cầu được truyền cho bộ xử lý DOM-PHP, sau đó bộ xử lý DOM-PHP
sẽ xác định được nút cần xóa và kiểm tra xem có tệp tin xml nào rằng buộc với tệp tin xml hiện tại không?
a Nếu có tệp tin xml rằng buộc với tệp xml hiện tại thì bộ xử lý DOM-PHP
sẽ cập nhật lại trạng thái của nút cần xóa và cập nhật lại các tệp tin xml (trạng thái deletestate=0 : chưa xóa, deletestate=1 : đã xóa)
b Nếu không có tệp tin nào rằng buộc với tệp xml hiện tại thì bộ xử lý DOM-PHP sẽ cập nhật lại trạng thái của nút cần xóa và cập nhật lại vào tệp tin xml hiện tại
Trang 26Hình 2.5 Sơ đồ xóa thông tin sách từ thùng rácPhân tích sơ đồ:
1 Người quản trị sẽ gửi yêu cầu xóa và truyền vào khóa chính của nútcần xóa(cũng là khóa chính của bảng tương ứng trong CSDL)
2 Yêu cầu được truyền cho bộ xử lý DOM-PHP , bộ xử lý này sẽkiểm tra xem có tồn tại bảng rằng buộc với bảng hiện tại không?
a Nếu tồn tại bảng có rằng buộc với bảng hiện tại thì sẽ xóa bảnghi có khóa chính tương ứng trong CSDL và sau đó bộ xử lý DOM-PHP sẽkiểm tra có tệp tin xml nào rằng buộc với tệp hiện tại không?
a1 Nếu có sẽ xóa nút có khóa chính vừa nhận được và tiếptục xóa nút có khóa chính vừa nhận được trong các tệp tin xml rằng buộc vàcập lại vào các tệp tin xml
a2 Nếu không sẽ xóa nút có khóa chính vừa nhận được vàcập nhật lại vào tệp tin xml hiện hành
b Nếu không tồn tại bảng nào có rằng buộc với bảng hiện tại thì
bộ xử lý DOM-PHP sẽ tiếp tục kiểm tra có tệp tin xml nào rằng buộc với tệphiện tại không?
b1 Nếu có sẽ xóa nút có khóa chính vừa nhận được và tiếptục xóa nút có khóa chính vừa nhận được trong các tệp tin xml rằng buộc vàcập lại vào các tệp tin xml
b2 Nếu không sẽ xóa nút có khóa chính vừa nhận được vàcập nhật lại vào tệp tin xml hiện hành
Trang 27Hình 2.6 Sơ đồ phục hồi thông tin sách từ thùng rác.
Phân tích sơ đồ:
1 Người quản trị gửi yêu cầu phục hồi thông tin sách cần phục hồi và truyền vào khóa chính của nút cần phục hồi
2 Bộ xử lý DOM-PHP sẽ xác định được nút cần phục hồi và bộ xử lý sẽ này
sẽ tiếp tục kiểm tra các thông tin rằng buộc còn hay đã bị xóa
a Nếu các thông tin rằng buộc đã bị xóa thì thực hiện thoát
b Nếu các thông tin rằng buộc chưa bị xóa thì bộ xử lý DOM-PHP sẽ thực hiện cập nhật lại trạng thái của nút cần xóa và cập lại vào các tệp tin xml
Hình 2.7 Sơ đồ cập nhật dữ liệu vào các tệp tin xml và CSDLPhân tích sơ đồ:
1 Người có quyền quản trị cao nhất sẽ thực hiện gửi yêu cầu cập nhật
Trang 28a Nếu đúng là thêm dữ liệu mới thì bộ xử lý sẽ thực hiện lệnh INSERT dữ liệu vào trong CSDL.
b Nếu không phải là thêm dữ liệu mới thì bộ xử lý sẽ thực hiện lệnh UPDATE lại CSDL
3 Sau khi đã thực hiện INSERT hoặc UPDATE lại CSDL thì bộ xử lý DOM-PHP sẽ thực hiện lấy dữ liệu từ trong CSDL và cập nhật lại các tệp tin xml
2.3 Giới thiệu về PHP-DOM
Hình 2.8 Mô hình lớp DOM trong PHP
DOM là chữ viết tắt từ tiếng Anh Document Object Model ("Mô hình Đốitượng Tài liệu"), là một giao diện lập trình ứng dụng (API) Thường thường DOM,
có dạng một cây cấu trúc dữ liệu, được dùng để truy xuất các tài liệu dạng HTML
và XML Mô hình DOM độc lập với hệ điều hành và dựa theo kỹ thuật lập trìnhhướng đối tượng để mô tả tài liệu
Ban đầu, chưa có chuẩn thống nhất nên các thành phần trong một tài liệuHTML mô tả bằng các phiên bản khác nhau của DOM được hiển thị bởi các chươngtrình duyệt web thông qua JavaScript Điều này buộc World Wide Web Consortium(W3C) phải đưa ra một loạt các mô tả kĩ thuật về tiêu chuẩn cho DOM để thốngnhất mô hình này
Mặc dù một tài liệu hay văn bản có cấu trúc chặt chẽ (well-structureddocument) luôn luôn có thể được mô hình hóa bằng một cấu trúc dạng cây, DOMkhông có giới hạn về cấu trúc dữ liệu của một tài liệu
Hầu hết các bộ phân tích XML (XML parsers) (ví dụ: Xerces) và bộ xử lí XSL(ví dụ: Xalan) đã được phát triển để sử dụng cấu trúc cây này Những hiện thực như
Trang 29vậy đòi hỏi toàn bộ nội dụng của một văn bản phải được phân tích và lưu trong bộnhớ Vì thế, DOM được sử dụng tốt nhất trong các ứng dụng mà trong đó các thànhphần của tài liệu có thể được truy xuất và thao tác một cách ngẫu nhiên Với cácứng dụng dựa trên XML, bao gồm yêu cầu đọc/ghi có chọn lọc cho mỗi lần phântích (one-time selective read/write per parse), DOM cho thấy được sự tối ưu về mặt
bộ nhớ Trong các trường hợp đó thì giao diện lập trình ứng dụng SAX trở nên rấttiện lợi về cả mặt tốc độ và bộ nhớ
Cấp độ 1
Cách duyệt qua tài liệu (cấu trúc cây) của DOM (HTML và XML) và thao tácnội dung (bao gồm việc thêm thành phần) Các thành phần riêng cho HTML cũngđược đưa vào