Đây là hệ thống hỗ trợ các thành viên của website có thể lưu trữ tài liệu, sách điện tử trực tuyến; cũng như khả năng tải về máy các tri thức trực tuyến mọi lúc, mọi nơi
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
Tel (84-511) 3736 949, Fax (84-511) 842 771
Website: itf.ud.edu.vn, E-mail: cntt@ud.edu.vn
LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH: 05115
ĐỀ TÀI:
XÂY DỰNG WEBSITE THƯ VIỆN ĐIỆN TỬ
Mã số: 04T4-001 Ngày bảo vệ: 16,17/06/2009
SINH VIÊN : NGUYỄN NHƯ BẢO
ĐÀ NẴNG, 06/2009
Trang 2LỜI CẢM ƠN
Luận văn tốt nghiệp đánh dấu bước ngoặt lớn trong mỗi cuộc đời sinh viên; để hoàn thành tốt đề tài luận văn tốt nghiệp này, em đã nhận được sự chỉ bảo, hướng dẫn tận tình từ phía các Thầy Cô giảng viên khoa Công Nghệ Thông Tin trường Đại học Bách Khoa, Đại học Đà Nẵng; sự giúp đỡ
to lớn từ phía bạn bè đồng nghiệp và gia đình.
Đầu tiên, em xin cảm ơn tất cả các Thầy, Cô giảng viên của trường Đại học Bách Khoa, Đại học Đà Nẵng - những người đã dạy dỗ, truyền đạt kiến thức cho em trong suốt quãng thời gian em ngồi học trên ghế giảng đường; những người đã làm tăng thêm trong em niềm yêu thích tin học Đặc biệt, em xin chân thành cảm ơn Thầy giáo Tiến sĩ Nguyễn Thanh Bình
đã định hướng, tận tình hướng dẫn góp ý để em có thể hoàn thành đúng thời gian, đúng nội dung và đúng yêu cầu đặt ra của luận văn tốt nghiệp.
Thứ hai, em xin cảm ơn công ty Cổ phần giải pháp Tin học IFI-480 Trưng Nữ Vương-Đà Nẵng đã tạo mọi điều kiện để em hoàn thành tốt đợt thực tập, để rồi sau đó em tiếp tục phát triển làm luận văn tốt nghiệp.
Tiếp theo, em xin cảm ơn những người bạn, người anh, những người đã giúp đỡ em nhiệt tình xuyên suốt trong quá trình hoàn thành luận văn này.
Và cuối cùng, không thể thiếu trong lời cảm ơn này là bố mẹ và gia đình Cảm ơn mọi người đã ở bên cạnh con, động viên, tạo mọi điều kiện tốt nhất để bản thân con có thể hoàn thành tốt luận văn này.
Mặc dù đã cố gắng hết sức, nhưng vì khả năng và thời gian có hạn, đề tài nghiên cứu chắc chắn còn có nhiều khiếm khuyết Rất mong các Thầy,
Cô giáo chỉ bảo giúp đỡ Rất mong sự góp ý từ phía bạn bè và đồng nghiệp.
Trang 3Tôi xin cam đoan:
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy Ts Nguyễn Thanh Bình.
2 Mọi tham khảo dùng trong luận văn này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm.
Sinh viên, Nguyễn Như Bảo
Trang 4NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
Trang 5
Trang 6
MỤC LỤC
MỞ ĐẦU 9
.I Giới thiệu bối cảnh đề tài 9
.II Ý nghĩa và mục đích của đề tài 9
.III Nhiệm vụ phải thực hiện 10
.IV Nhiệm vụ phải thực hiện 11
.V Tóm tắt phương pháp triển khai 12
.VI Bố cục trình bày 12
CƠ SỞ LÝ THUYẾT 13
.I Tổng quan về XML 13
.II Siêu dữ liệu - Metadata 17
.III Tổng quan về thư viện số 19
.IV Tổng quan về Flex 20
.V Tổng quan về kiến trúc Cairngorm 21
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 28
.I Mô tả hệ thống 28
.II Đối tượng của hệ thống 28
.III Thiết kế 29
PHÁT TRIỂN ỨNG DỤNG 35
.I Công cụ và môi trường phát triển 35
.II Demo ứng dụng 35
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 47
[1] Trang web: http://www.thuvientre.com/tin-tuc-thu-vien/tin-thu-vien-the-gioi/64-t-th-vin-truyn-thng-n-th-vin-s-lien-tc-va-t-pha 49
[2] Trang web: http://svnhanvan.org/forum/index.php?topic=144.0 49
[3] Trang web Thư viện quốc gia Việt Nam http://www.nlv.gov.vn/nlv/index.php/2008060697/DUBLIN-CORE/XML-Metadata-va-Dublin-Core-Metadata.html 49
[4] Trần Đình Tú “Xây dựng công cụ chuyển đổi XML sang CSDL quan hệ“ Báo cáo tốt nghiệp Kỹ sư ngành CNTT, Đại học Bách Khoa, Đại học Đà Nẵng, Khóa 2005-200749 [5] Trần Hữu Hoàng, Công nghệ servlet .49
[6] Phan Phước Long, slide Giới thiệu về Flex Framework 49
[7] Yakov Fain Dr Victor Rasputnis & Anatole Tartakovsk Flex & Java, 735tr 49
[8] Jack Herrington and Emily Kim Getting Started with Flex 3 OREILLY , 148 tr 49
[9] Adobe Systems Incorporated Flex 2 Programming Action Script 3.0 Adobe 2006, 524 tr 49
[10] Trang web : http://www.adobe.com/products/flex 49
[11] Trang web: http://en.wikipedia.org/wiki/Adobe_Flex 49
Trang 7W3C Tổ chức độc lập định ra tiêu chuẩn cho trình duyệt Web, máy chủ và ngôn ngữ
(World Wide Web Consortium)
FDS Flex Data Service
Trang 8CHƯƠNG 1
MỞ ĐẦU
.I Giới thiệu bối cảnh đề tài
Thư viện xuất hiện từ khi loài người có nhu cầu cần lưu giữ thông tin Ngày trước,
xử lý thư viện chỉ đơn giản chỉ là nơi tàng trữ và phổ biến tài liệu (in trên giấy) đápứng nhu cầu đọc có tính chất tập thể và xã hội Vốn tài liệu đó đòi hỏi phải bảo quản,
xử lý theo nguyên tắc phù hợp với tính chất vật lý của giấy Ngày nay, việc tin họchóa hoạt động thông tin thư viện đã làm thay đổi phương thức hoạt động của thưviện, từ thu nhâp, xử lý, lưu giữ thông tin phục vụ bạn đọc, đáp ứng nhu cầu ngàycàng tăng của người dùng tin
Đối với các thư viện truyền thống, sự bùng nổ Internet rõ ràng là đã đánh dấu mộtbước đột phá lớn về công nghệ Sự đột phá này đã làm cho các thư viện tăng cường
sử dụng kỹ thuật số, tạo điều kiện đổi mới nhưng đông thời cũng làm tăng thêm nỗibăn khoăn về việc tiếp tục các dịch vụ truyền thống
Khái niệm thư viện số cho thấy “ một hệ thống thông tin trong đó tất cả các nguồnthông tin đều có sẵn dưới dạng có thể xử lý được bằng máy tính và trong đó tất cả cácchức năng bổ sung, lưu trữ, bảo quản, tìm kiếm, truy nhập và hiện hình đều sử dụng
kỹ thuật số” Sự xuất hiện khái niệm này có liên quan trực tiếp tới sự bùng nổInternet và với khả năng công nghệ xử lý và truy cập thông tin do website mang lại.Môi trường kỹ thuật Internet hiện nay thậm chí còn cho phép coi toàn thể các nguồnmạng một lúc nào đó như là một thư viện số ảo toàn cầu mà độc giả là toàn thể nhữngngười sử dụng Internet trên hành tinh này
Theo quyết định phê duyệt Quy hoạch phát triển ngành Thư viện Việt Nam tớinăm 2010 và định hướng phát triển tới năm 2020 của Bộ Văn hóa – Thông tin có
đoạn: “Ứng dụng khoa học công nghệ cao nhằm tự động hóa, hiện đại hóa trong khâu
hoạt động của thư viện Phát triển thư viện điện tử và thư viện kỹ thuật số”; đồng thời
cùng với nhu cầu học tập mọi lúc mọi nơi của mọi người đã thúc đẩy em xây dựng
website Thư viện điện tử”
.II Ý nghĩa và mục đích của đề tài
o Tên đề tài: “Xây dựng website Thư viện điện tử”
o Đây là hệ thống hỗ trợ các thành viên của website có thể lưu trữ tài liệu, sách điện tử trực tuyến; cũng như khả năng tải về máy các tri thức trực tuyến mọi lúc, mọi nơi
Trang 9.III Nhiệm vụ phải thực hiện
.III.1 Mục tiêu nghiên cứu
Xây dựng cây mục tiêu như sau
Hình 1: Cây mục tiêu đề tài
Xây dựng website Thư viện điện tử
Tìm hiểu kiến
trúc Cairngorm Tìm hiểu nghiệpvụ thư viện thức tổ chức, vậnTìm hiểu cách
hành website
Xây dựng ứngdụng
XâydựngCSDLquanhệ
Cáchthức tổchứcphâncấptheoXML
Hoànthiện1demo
Phântíchthiết kếhướngđốitượng
Xâydựngtàiliệuđặctả
Coding
Cáchthứchoạtđộngcủathưviện
Ô này nghĩa là
gì ?
Trang 10Website Thư viện điện tử
.IV Nhiệm vụ phải thực hiện
.IV.1 Mục tiêu nghiên cứu
Xây dựng cây mục tiêu như sau
Hình 1: Cây mục tiêu đề tài
10
Xây dựng website Thư viện điện tử
Tìm hiểu kiến
trúc Cairngorm Tìm hiểu nghiệpvụ thư viện thức tổ chức, vậnTìm hiểu cách
hành website
Xây dựng ứngdụng
XâydựngCSDLquanhệ
Cáchthức tổchứcphâncấptheoXML
Hoànthiện1demo
Phântíchthiết kếhướngđốitượng
Xâydựngtàiliệuđặctả
Coding
Cáchthứchoạtđộngcủathưviện
Trang 11.IV.2 Kết quả dự kiến
Nắm vững các đặc trưng của tài liệu XML và ngôn ngữ Flex
Nắm vững mô hình kiến trúc cairngorm
Cơ bản hiểu rõ về nghiệp vụ thư viện
Xây dựng ứng dụng website dựa trên tài liệu đặc tả
.V Tóm tắt phương pháp triển khai
o Tìm hiểu cơ bản về nghiệp vụ thư viện
o Tìm hiểu ngôn ngữ Flex, mô hình kiến trúc cairngorm chủ yếu là trên internet
o Tìm hiểu phương pháp kỹ thuật để kết nối giữa client và server
o Xây dựng tài liệu đặc tả website
o Xây dựng hoàn thiện website dựa trên tài liệu đặc tả
.VI Bố cục trình bày
o Chương 1 (Giới thiệu): giới thiệu bối cảnh đề tài Chọn tên đề tài, mục đích
và ý nghĩa của đề tài Nhiệm vụ phải thực hiện (các mục tiêu nghiên cứu cụ thể và kết quả dự kiến) Tóm tắt phương pháp triển khai, tóm tắt nội dung, bố cục sẽ trình bày
o Chương 2 (Cơ sở lý thuyết):
o Chương 3 (Phân tích và thiết kế hệ thống):
o Chương 4 (Phát triển ứng dụng):
o Chương 5 (Kết luận và hướng phát triển):
Trang 12XML là một hệ thống có luật dùng cho việc thiết kế các khổ mẫu (format) cho vănbản giúp tạo cấu trúc cho dữ liệu Trong thực tế XML không phải là một ngôn ngữlập trình, XML giúp máy tính dễ dàng tạo dữ liệu, đọc dữ liệu, trao đổi dữ liệu và làmcho cấu trúc dữ liệu trở nên rõ ràng và dễ hiểu hơn, ngoài ra XML còn có thể mởrộng, có nền tảng hoàn toàn độc lập và hỗ trợ tính quốc tế hóa, nội địa hóa XML hỗtrợ hoàn toàn unicode.
.I.2 Đặc điểm của XML
XML cung cấp một phương tiện dùng văn bản (text) để mô tả thông tin và áp dụngmột cấu trúc kiểu cây cho thông tin đó Cơ bản mọi thông tin đều thể hiện dưới dạngvăn bản, chen giữa là các thẻ đánh dấu (markup) với nhiệm vụ ký hiệu sự phân chiathông tin thành một cấu trúc có thứ bậc của các dữ liệu ký tự, các phần tử dùng đểchứa dữ liệu, và các thuộc tính của các phần tử đó Về mặt nào đó, XML tương tự vớicác biểu thức S (S-expression) của ngôn ngữ lập trình LISP ở chỗ chúng đều mô tảcác cấu trúc cây mà trong đó mỗi nút có thể có một danh sách tính chất của riêngmình
Đơn vị cơ sở của XML là các ký tự theo định nghĩa của bộ ký tự toàn cầu(Universal Character Set) Các ký tự được kết hợp theo các tổ hợp chuỗi hợp lệ đểtạo thành một tài liệu XML Tài liệu này gồm một hoặc nhiều thực thể, mỗi thực thểmỗi thực thể thường là một phần nào đó của các ký tự thuộc tài liệu, được mã hóadưới dạng một chuỗi các bit và lưu trữ trong một tệp văn bản (text file)
Trang 13Các tệp XML có thể dùng cho nhiều loại dữ liệu đa phương tiện RFC3023 địnhnghĩa các loại "application/xml" và "text/xml", với ý rằng dữ liệu được biểu diễnbằng XML mà không nói gì đến ngữ nghĩa của dữ liệu.
Sự phổ biến của các phần mềm soạn thảo văn bản (word processor) đã hỗ trợ việcsoạn thảo và bảo trì tài liệu XML một cách nhanh chóng Trước XML, có rất ít ngônngữ mô tả dữ liệu với các đặc điểm đa năng, thân thiện với giao thức Internet, dễ học
và dễ tạo Thực tế, đa số các định dạng trao đổi dữ liệu thời đó đều chuyên dụng, cótính độc quyền, và có định dạng nhị phân (chuỗi bit thay vì chuỗi ký tự) khó dùngchung giữa các ứng dụng phần mềm hay giữa các nền (platform) khác nhau Việc tạo
và bảo trì trên các trình soạn thảo thông dụng lại càng khó khăn
Bằng cách cho phép các tên dữ liệu, cấu trúc thứ bậc Ý nghĩa của các phần tử vàthuộc tính có tính chất mở, có thể được định nghĩa bởi một giản đồ tùy biến được.XML cung cấp một cơ sở cú pháp cho việc tạo lập các ngôn ngữ đánh dấu dựa theoyêu cầu XML Cú pháp chung của các ngôn ngữ đó là cố định, các tài liệu phải tuântheo các quy tắc chung của XML, bảo đảm rằng tất cả các phần mềm hiểu XML ít racũng phải có khả năng đọc (phân tích cú pháp – parse) và hiểu bố cục tương đối củathông tin trong các tài liệu đó Giản đồ chỉ bổ sung một tập các ràng buộc cho cácquy tắc cú pháp Các giản đồ thường hạn chế tên của phần tử, thuộc tính và các cấu
trúc thứ bậc được phép Ví dụ, chỉ cho phép một phần tử tên “ngày sinh” chứa một phần tử tên “ngày” và một phần tử có tên “tháng”, mỗi phần tử phải chứa đúng một
ký tự Đây là điểm khác biệt giữa XML và HTML HTML có một bộ các phần tử vàthuộc tính không mềm dẻo, chỉ có một tác dụng và nói chung là không thể dùng chomục đích khác
XML không hạn chế về việc nó được sử dụng như thế nào Mặc dù XML về cơ bản
là dạng văn bản, các phần mềm với chức năng trừu tượng hóa nó thành các định dạngkhác, giàu thông tin hơn đã nhanh chóng xuất hiện, quá trình trừu tượng hóa nàyđược thực hiện chủ yếu qua việc sử dụng các giản đồ định hướng kiểu dữ liệu(datatype-oriented schema) và khuôn mẫu lập trình hướng đối tượng (mà trong đó,mỗi tài liệu XML được thao tác như là một đối tượng) Những phần mềm như vậy cóthể coi XML như là dạng văn bản đã được tuần tự hóa chỉ khi nó cần truyền dữ liệuqua mạng
.I.3 Lược đồ XML
Để định nghĩa kiểu tài liệu cho XML, ngoài DTD ta còn dùng lược đồ (schema).Một nhóm những nhà cung cấp kể cả Microsoft đã có kế hoạch đưa ra một sự (tiếpcận thay thế DTD được gọi là lược đồ mà họ đã đệ trình lên W3C dưới dạng XML-Data giống như một DTD, một lược đồ cung cấp những qui tắc của một tài liệu và chỉ
ra những nhãn nào được sử dụng, các thuộc tính của chúng là gì mối quan hệ giữa cácnhãn với nhau
Tuy nhiên, khác với DTD một lược đồ có thể định nghĩa nên những kiểu dữ liệu
Ví dụ: một DTD có thể có một nhãn được chỉ định dạng <PRLCE> nhưng nội dung
được chứa trong nhãn có thể là một số hoặc một chuỗi ký tự Một lược đồ có thể bắt
Trang 14Website Thư viện điện tử
buộc chúng ta phải nhập vào một số Cách tiếp cận này rõ ràng có lợi đặc biệt đối vớiviệc trao đổi dữ liệu giữa các ứng dụng, các đối tượng hoặc những CSDL Vấn đề đặt
ra duy nhất là liệu nó sẽ bị ảnh hưởng theo đặc điểm kỹ thuật của DTD hay kết quả làmột sự mở rộng riêng biệt đến XML
− Mô hình cài đặt lược đồ XML theo Microsoft: là một tài liệu XML bắt đầu bằng
một phần tử <schema> Lược đồ cho phép định nghĩa và khai báo kiểu dữ liệu thực sự
mà tài liệu sử dụng Các kiểu dữ liệu dùng với không gian tên đối tượng đã được định nghĩa sẵn Để định nghĩa phần tử XML trong lược đồ ta dùng phần tử khai báo
<ElementType>, còn để khai báo các phần tử con ta dùng <element> Thuộc tính eltOnly cho biết chỉ chứa phần tử thẻ Các thuộc tính minOccurs và maxOccurs
cho biết số lần xuất hiện của thẻ trong tài liệu
− Mô hình cài đặt lược đồ XML theo W3C: tập tin lược đồ có dạng filename.xsd Khai
báo không gian tên cho tài liệu tham chiếu đến tập tin lược đồ theo địa chỉ URL như sau:
<transaction borrowData = “2001-10-15” xmlns=
“http://www.microsoft.com/ms-schema”>
Trong tài liệu XML, phần tử chứa các phần tử con có thêm thuộc tính gọi là kiểuphức (complex types), chỉ chứa dữ liệu đơn giản như chuỗi, ngày tháng, số gọi là kiểuđơn (simple types) Bản thân thuộc tính được xem là kiểu đơn Tập tin lược đồ phảiđược thiết kế hợp khuôn dạng tuân theo cấu trúc XML Trước hết ta định nghĩakhông gian tên xsd cho lược đồ vào định danh duy nhất theo địa chỉ URL:
http://www.w3c.org/1999/XMLSchema
Không gian tên này sẽ được dùng cho khai báo thẻ và thuộc tính, ví dụ:
<xsd:element>, hay <xsd:attribute> Để tạo ra kiểu dữ liệu, có thể dùng thẻ
<xsd:complexType> cho kiểu phức, <xsd:simpleType> cho kiểu đơn hay
<xsd:annotation> cho kiểu chú giải trong lược đồ.
Khai báo các phần tử và kiểu dữ liệu: các kiểu dữ liệu đơn đã được định nghĩa sẵn.
Để tạo một kiểu phức, ta dùng thẻ <complexType> Sau đó khai báo các phần tử sử
dụng kiểu vừa tạo Để chỉ định số lần xuất hiện các phần tử, ta dùng các thuộc tính
minOccurs và maxOccurs Để chỉ định giá trị mặc định cho phần tử, có thể sử dụng thuộc tính fixed và default của khai báo <xsd:element>.
Chỉ định ràng buộc và trị mặc định cho thuộc tính: có thể chỉ định kiểu cho thuộc
tính (không có kiểu phức hợp) Một số tùy chọn cho thuộc tính và giá trị gán cũngđược sử dụng
Tạo các kiểu đơn giản: có thể tự định nghĩa các kiểu đơn, nhưng nó phải dựa trên
kiểu nội tại của đặc tả XML Ta có thể tạo kiểu đơn thông qua giới hạn kiểu Các
thành phần giới hạn là minInclusive, maxInclusive, pattern và giới hạn kiểu liệt
kê enumeration Cũng có thể sử dụng các định nghĩa kiểu vô danh (anonymous type
definition) bằng cách kèm theo phần tử <xsd:simpleType> hoặc
<xsd:complexType> bên trong khai báo <xsd:element>, khi đó ta không cần gán giá trị tường minh cho thuộc tính type trong <xsd:element>.
14
Trang 15.I.4 XML và HTML
Trong thực tế bản thân ngôn ngữ XML có nguồn gốc giống như ngôn ngữ địnhdạng siêu văn bản HTML (HyperText Markup Language) từ chuẩn ngôn ngữ địnhdạng văn bản tổng quát có cấu trúc SGML Mỗi văn bản XML cũng sử các thẻ (tags),các từ được đặt trong ngoặc với ‘<’ và ‘>’ (mở và đóng) và dùng thuộc tính tên gọicủa các phần tử (element) với mẫu name= “value”
Trong khi HTML đặc biệt chú ý tới từng thẻ (tag) và thuộc tính (attribute) có ýnghĩa gì và phần văn bản giữa các thẻ đó hiển thị như thế nào trên trình duyệt thìXML sử dụng các thẻ chỉ để phân định ranh giới giữa các đoạn dữ liệu và coi việcđọc và xử lý dữ liệu hoàn toàn là nhiệm vụ của các ứng dụng Nhưng khác với ngônngữ HTML, số lượng và tên gọi các phần tử trong XML là không hạn chế
XML là một văn bản nhưng không giống với những loại văn bản thông thường mà
ta có thể đọc được Các chương trình dùng để tạo các dữ liệu được cấu trúc hóa thôngthường được lưu dữ liệu trên đĩa cứng, sử dụng khuôn dạng text hay nhị phân Mộtthuận lợi của khuôn dạng văn bản là cho phép người đọc có thể đọc nó với bất kỳ bộsoạn thảo văn bản nào tùy thích Các khuôn dạng văn bản cũng cho phép tìm lỗi dễdàng hơn trong các ứng dụng Giống như HTML các file XML là những file văn bảnđược tạo ra không phải với mục đích đề đọc, nhưng vẫn có thể đọc nếu thấy cần thiết.Tuy nhiên XML có điểm không bằng HTML, các luật dùng trong XML rất hạn chế,chỉ cần quên một thẻ, hay một thuộc tính không đi kèm với nội dung sẽ làm cho toàn
bộ file XML đó ngừng hoạt động, trong khi đó lỗi này ở file HTML có thể được bỏqua
XML được xem như là ngôn ngữ mạnh hơn HTML do nó mang lại thông tin đầy
đủ về dữ liệu XML cung cấp “siêu dữ liệu” metadata hay còn được gọi là “dữ liệu về
dữ liệu” (data about data) XML cho phép các nhà phát triển và quản trị công nghệthông tin mô tả thông tin có liên quan tới các nguồn thông tin khác Đây là phươngpháp khai thác thông tin lý tưởng trong môi trường trao đổi thông tin từ các máy chủứng dụng cũng như từ các ứng dụng với nhau Cấu trúc chặt chẽ của XML (nội dungđược đặt giữa các thẻ metadata) cho phép các ứng dụng dễ dàng tìm kiếm và sử dụngnội dung đã tạo Môi trường tài liệu XML trở thành một kho dữ liệu hỏi-đáp (querydata repository) tương tự như cơ sở dữ liệu Ngôn ngữ XML là giải pháp tích hợp chovấn đề trao đổi dữ liệu tự động giữa các kho thông tin trên mạng Internet
Một biểu ghi XML đơn giản có dạng như sau:
<?xml version= "1.0"?> encoding="utf-8" standalone="yes"?>
<!DOCTYPE book SYSTEM="book.dtd">
<book>
<tensach>Kinh tế học vi mô</tensach>
Trang 16Website Thư viện điện tử
.II Siêu dữ liệu - Metadata
.II.1 Siêu dữ liệu là gì?
Siêu dữ liệu dùng để mô tả tài nguyên thông tin Thuật ngữ “meta” xuất xứ là một
từ Hy Lạp đùng để chỉ một cái gì đó có bản chất cơ bản hơn hoặc cao hơn Vì vậymetadata là dữ liệu về dữ liệu
Theo tiến sĩ Warwick Cathro (Thư viện Quốc gia Úc) thì “siêu dữ liệu là nhữngthành phần mô tả tài nguyên thông tin hoặc hỗ trợ thông tin truy cập đến tài nguyênthông tin” Cụ thể trong tài liệu thì siêu dữ liệu được xác định là “dữ liệu mô tả cácthuộc tính của đối tượng thông tin và trao cho các thuộc tính này ý nghĩa, khung cảnh
và tổ chức Siêu dữ liệu còn có thể được định nghĩa là dữ liệu có cấu trúc về dữ liệu”.Theo Gail Hodge siêu dữ liệu là “thông tin có cấu trúc mà nó mô tả, giải thích,định vị, hoặc làm cho nguồn tin trở nên dễ tìm kiếm, sử dụng và quản lý hơn Siêu dữliệu được hiểu là dữ liệu về dữ liệu hoặc thông tin về thông tin”
Nói tóm lại thì siêu dữ liệu là thông tin mô tả tài nguyên thông tin
Mục đích đầu tiên và yêu cầu cốt lõi nhất của siêu dữ liệu (metadata) là góp phần
mô tả và tìm lại các tài liệu điện tử trên mạng Internet Sự phát triển mạnh mẽ củaInternet đã tạo ra sự bùng nổ của các loại dữ liệu đa dạng ở dạng số, văn bản, âmthanh, hình ảnh, tài liệu đa phương tiện Những tài liệu này có thể truy cập được trênmạng Internet song việc tìm kiếm chúng một cách hiệu quả và khoa học như với các
hệ thống thông tin trực tuyến là hết sức khó khăn Để góp phần tăng cường chấtlượng tìm kiếm các tài liệu số trên mạng Internet, người ta đã đưa ra giải pháp sửdụng siêu dữ liệu
Thực ra trong hoạt động thông tin – thư viện truyền thống, từ lâu đã có những kháiniệm liên quan đến siêu dữ liệu Các bản thư mục chứa các dữ liệu mô tả đối tượngnhư cho sách , cho tạp chí thì chúng cũng được coi như là một dạng siêu dữ liệu Vớiviệc tự động hóa công tác biên mục, phiếu thư mục được thay thế bằng biểu ghi thưmục Như vậy thành phần siêu dữ liệu còn có thể được trình bày trong biểu ghi, vì
16
Trang 17vậy biểu ghi này được coi là biểu ghi siêu dữ liệu (metadata record) của đối tượngđược cơ sở dữ liệu quản lý Với tài nguyên truyền thống trên giấy, thông tin mô tảđược bố trí nằm ngoài đối tượng mà nó mô tả (Ví dụ, trên phiếu thư mục của mục lụcthư viện, trong biểu ghi của CSDL) Nhờ những yếu tố mô tả như vậy, người ta có thểxác định và tìm kiếm lại được tài liệu một cách chính xác theo một vài yếu tố.
Ngày nay, nguồn tài liệu điện tử phát triển nhanh chóng và sự phân tán trên mạngnhiều đến mức không thể xử lý được một cách thủ công như đã và đang áp dụng đốivới tài liệu xuất bản trên giấy Để xử lý được hết tài liệu điện tử phân tán, người taphải áp dụng các phương pháp tự động – sử dụng các chương trình đặc biệt (được gọitheo nhiều cách khác nhau như: robots, crawlers, spiders, ) Do tài liệu điện tử đượctạo ra, thông thường không tuân thủ những quy định xuất bản truyền thống, không cónhững quy tắc nhất định giúp cho phép nhận dạng tự động được các yếu tố mô tảthông thường như tác giả, địa chỉ về xuất bản, thông tin về khối lượng nên cần thiếtphải có những quy định thống nhất để các chương trình tự động nhận dạng và xử lýchúng theo các yêu cầu nghiệp vụ Những quy định như vậy được gọi là những quyđịnh về siêu dữ liệu Có thể thấy hiện nay, do nhiều chương trình máy tính chỉ địnhchỉ số dựa vào một số thành phần hạn chế như nhan đề hoặc toàn văn nên không hỗtrợ những tìm kiếm đặc thù (ví dụ theo tác giả, theo chủ đề, theo lĩnh vực ) Vì thế
để tạo điều kiện cho các chương trình có thể đinh chỉ số tự động theo một số yếu tốxác định, người ta phải đưa thêm vào tài liệu điện tử những thuộc tính bổ sung đểtăng cường mô tả tài nguyên thông tin Các công cụ định chỉ số tự động sẽ được lậptrình để nhận dạng các thuộc tính này và định chỉ số chúng, từ đó hỗ trợ tìm kiếmnhững thuộc tính đặc thù
Như vậy một bản ghi metadata bao gồm một tập hợp những thuộc tính hoặc tậphợp những phần tử cần thiết để mô tả các tài nguuyên thông tin theo yêu cầu nghiệp
vụ Thông thường trong hoạt động nghiệp vụ thông tin – thư viện bao gồm các yếu tốnhư: Nhan đề tài liệu, tác giả, thông tin về xuất bản, nơi/vị trí lưu giữ, kiểu/dạng tàiliệu
.II.2 Siêu dữ liệu được gắn ở đâu
Mối liên hệ giữa siêu dữ liệu và tài nguyên thông tin mà nó mô tả có thể được thểhiện ở một trong hai cách sau:
+ Các phần tử metadata được chứa trong một biểu ghi tách biệt bên ngoài đốitượng mô tả
+ Các phần tử metadata có thể được nhúng (gắn) vào bên trong tài nguyên mà nó
mô tả
Trước đây với tài liệu truyền thống, các mô tả dữ liệu nằm ngoài đối tượng mô tả(được đưa vào phiếu thư viện hoặc biểu ghi CSDL), như vậy siêu dữ liệu được lưu trữmột cách tách biệt bên ngoài đối tương mô tả
Với tài liệu điện tử, siêu dữ liệu của chúng được nhúng (gắn) trong bản thân tàinguyên hoặc liên kết với tài nguyên mà nó mô tả như trong trường hợp các thẻ meta
Trang 18Website Thư viện điện tử
của tài liệu HTML hoặc các tiêu đề TEI (Text Encoding Initiative – TEI header:
tham khảo: http://xml.coverpages.org/tei.html) trong tài liệu điện tử
Trong thực tế có nhiều chuẩn mô tả biên mục mang tính chất metadata khá thôngdụng đang được áp dụng như: MARC21/UNIMARC, ISO-2709, Dublin CoreMetadata các dữ liệu metadata này thường được gắn vào phần đầu cho mỗi tài liệuđiện tử được đưa vào máy chủ hoặc trên mạng internet nhằm hỗ trợ các công cụ tìmkiếm lọc ra các thông tin metadata để tổ chức thành các kho dữ liệu mà không cầndùng đến hệ quản trị cơ sở dữ liệu truyền thống Thực tế thì ngay bản thân ngôn ngữXML tự nó đã hỗ trợ việc hình thành một cơ sở dữ liệu toàn văn, phi cấu trúc và rấtthuận lợi cho việc tìm kiếm và trao đổi thông tin
.III Tổng quan về thư viện số
.III.1 Thư viện số là gì?
Peter Noerr (1998) định nghĩa thư viện số là một thư viện mà “có tài nguyên được
lưu trữ trong hệ thống máy tính dưới một định dạng cho phép nó có thể được điềuchỉnh (ví dụ để cải thiện khả năng khai thác) và cấp phát (ví dụ như một tệp âm thanh
để nghe trên máy tính) theo những cách thức mà những phiên bản thông thường củatài nguyên này không thể thực hiện được.”
Theo định nghĩa của Witten và BainBridge (2003) thì, thư viện số không thực sự
nghĩa là “một thư viện được số hóa Thư viện số đề cập tới những cách thức mới đểlàm việc với tri thức : bảo quản, sưu tập, tổ chức, nhân bản và truy cập – chứ khôngphải là việc phá bỏ những tổ chức thư viện hiện có và đặt chúng lại với nhau trongchiếc hộp điện tử.”
“Thư viện số là những tổ chức cung cấp những tài nguyên, và kèm theo đó lànhững nhân viên chuyên biệt, để lựa chọn, định cấu trúc, cung cấp khả năng truy cậpmang tính trí tuệ, diễn dịch phân phối, bảo quản tính toàn vẹn, và đảm bảo tính bềnvững theo thời gian của những bộ sưu tập các tác phẩm số sao cho chúng luôn sẵnsàng để một cộng đồng hoặc một nhóm cộng đồng được xác định trước có thể sử
dụng.”-Theo Liên hiệp thư viện số.
.III.2 Vai trò của thư viện số
Các thư viện số cung cấp
− Truy cập được cải tiến – máy tìm kiếm và các kết hợp thuật ngữ tự do ; các liên kết siêu văn bản (hypertext linking)
− Mở rộng cộng đồng khai thác – vươn tới toàn cầu
− Cải thiện khả năng khai thác và phân phát thông tin một cách kịp thời
− Nâng cao sự bảo quản và lưu trữ
− Tạo cảm hứng cho việc tạo ra những tri thức mới
18
Trang 19− Là sự hội tụ của công nghệ, thông tin, và các tiến trình hoạt động.
− Có tính trực quan cao
.III.3 Mục đích của thư viện số
Mục đích của thư viện số là không thay đổi, đó là, cung cấp những thông tin đúngcho đúng người và vào đúng lúc
.IV Tổng quan về Flex
Trong thời gian gần đây, sự xuất hiện và phát triển mạnh mẽ của công nghệ AJAX
đã làm cho nhu cầu RIA (Rich Internet Application) gia tăng mạnh mẽ Flash cũng là
1 công nghệ có thể xây dựng RIA bằng các ứng dụng Flash form nhưng tính tiệndụng của Flash là chưa cao Adobe nhận thấy yếu điểm này của Flash nên đã nghiêncứu và cho ra đời công nghệ Flex Phiên bản Flex 1.0 và 1.5 trước đây mặc dù cònnhiều yếu điểm song vẫn thu hút nhiều nhà thiết kế bởi cấu trúc mã lệnh và xử lý dữliệu đơn giản, tầng trình diễn mạnh và quan trọng nhất là nó liên kết chặt chẽ vớiFlash, 1 công nghệ hiện đang rất phổ biến và tiện dụng
.IV.1 Thành phần của Flex
Flex 2.0 là sự kết hợp 2 công nghệ chính Multimedia eXtensible MarkupLanguage (MXML) và Action Script dựa trên nền tảng phát triển Eclipse Ngoài ra,còn một thành phần rất quan trọng khác của nền tảng Flex 2.0 là Dịch vụ dữ liệu Flex(Flex Data Services – FDS), được đưa ra để thay thế máy chủ trình diễn Flex (FlexPresentation Server) ở các phiên bản Flex trước đây
.IV.2 Action Script
Action script 3.0 hỗ trợ mô hình lập trình hướng đối tượng (OOP) hoàn chỉnh, giớithiệu các kiểu dữ liệu cơ bản và đặc biệt là từ khóa sealed class giúp tăng hiệu năngcủa ứng dụng Hơn hẳn các ngôn ngữ script khác, action script có hẳn một thư viện
đồ họa giúp vẽ các ảnh vector và tạo effect lúc runtime Action script + MXMLl kếthợp với thư viện component đồ sộ của flex giúp tạo ra các ứng dụng web cực kì mạnh
mẽ về tính năng và mỹ thuật.ngôn ngữ dựa trên XML giúp tạo ra các ứng dụng Flex
.IV.3 FDS
FDS có thể chạy tốt trên nhiều nền tảng khác nhau như Windows, Linux, Unix vàlàm việc tốt với hầu hết các máy chủ ứng dụng Java FDS cung cấp một số công cụquản trị và giám sát cơ bản có thể truy nhập thông qua trình duyệt Tuy nhiên, FDSđược đưa ra chủ yếu để triển khai và chạy các ứng dụng Flex, tăng khả năng tích hợp
và liên kết dữ liệu cấp doanh nghiệp ngôn ngữ dựa trên XML giúp tạo ra các ứngdụng Flex
Trang 20Website Thư viện điện tử
.IV.4 Sức mạnh của Flex
Các công cụ trong Flex Builder và Flex Data Services đã đơn giản hoá việc pháttriển ứng dụng và làm cho bản thân các ứng dụng này hoạt động tốt hơn Các nhàphát triển cũng không phải bỏ tiền ra để sử dụng thành phần phát triển ứng dụng này.Flex SDK miễn phí bao gồm tất cả công cụ chương trình biên dịch, chương trình gỡrối, và các mã cần thiết để tạo các ứng dụng Flex Hơn nữa, giờ đây Flex SDK cũng
có thể dùng để tạo các ứng dụng hoạt động độc lập mà không cần có sự hỗ trợ củamáy chủ
.IV.4.1 Điểm mạnh
Khác với các phiên bản Flex trước đây, Flex 2.0 đã được cải tiến rất nhiều cả vềtính năng và giao diện làm việc Với Flex 2.0, người dùng khả năng chuyển đổi giữathiết kế theo phương pháp kéo-thả và môi trường viết mã lệnh cho phép xây dựngtừng phần của ứng dụng trong môi trường thích hợp nhất Chẳng hạn, với khung nhìnthiết kế, người ta có thể kéo và thả các thành phần để bố cục ứng dụng rồi nhanhchóng xây dựng các phần trình diễn cơ bản cho ứng dụng Trong khung nhìn mã lệnh,tất cả các trợ giúp viết mã cần thiết đều có sẵn để giúp hiệu chỉnh trực tiếp mã ứngdụng, thông tin định dạng (stylesheet) và các mã định nghĩa riêng của Flex nhưActionScripts hay MXML
.IV.4.2 Điểm yếu
Điểm yếu Flex Builder lại chỉ tương thích duy nhất với môi trường Windows, điều
mà người ta ít thấy ở các sản phẩm của hãng Adobe Mặc dù Flex builder được pháttriển trên nền tảng Eclipse – nền tảng được thiết kế để thực thi trên nhiều môi trườngkhác nhau và có FDS rất mạnh mẽ Mặc dù việc tạo ra các ứng dụng Flex là khá dễdàng đối với các nhà phát triển đã quen với lập trình ứng dụng Web và dịch vụ Web,Flex vẫn có một số thành phần khá phức tạp đối với các lập trình viên chưa thànhthạo Tuy vậy, bộ công cụ hỗ trợ cho lập trình viên của Flex khá mạnh với các ví dụmẫu, hướng dẫn giải quyết tình huống trong từng hoàn cảnh cùng các trợ giúp khácgiúp người dùng dễ dàng vượt qua các khó khăn trong quá trình phát triển ứng dụngFlex
.V Tổng quan về kiến trúc Cairngorm
Cairngorm là một phương pháp luận căn bản cho việc chia nhỏ các đoạn mã lệnhtrong ứng dụng thành các hàm (function), dữ liệu (data), giao diện người dùng (userview ) Kiến trúc này giống như cách tổ chức của mô hình MVC (Model-View-Control)
20
Trang 21.V.1 Các thành phần của Cairngorm
.V.1.1 ModelLocator
Lưu trữ tất cả dữ liệu của ứng dụng (Value Object) và khai báo toàn bộ biến, hằng
sử dụng trong chương trình Giống như một đối tượng HTTP Session được lưu trữ ởphía client trong các giao diện (interface) Flex thay vì được lưu trữ ở phía servertrong lớp middle tier application
.V.1.2 View
• Một hoặc nhiều Flex component (button, panel, combo box, title…) được lồng vào nhau như là một nhóm, có tác dụng ràng buộc dữ liệu trong ModelLocator; khi người dùng tương tác (click, drop & drag…) thì phát sinh sự kiện Cairngorm Event
• Chứa các file mxml thể hiện giao diện dưới client.
public function AppController(){
public static const INSERT_LOCATION_EVENT : String =
• Gọi Cairngorm Delegate và có thể gọi các file Command khác
• Update đối tượng Value Object và biến được lưu trữ trong Model Locator
• Các file có nhiệm vụ excute các hành động phía client cần gọi đến dịch vụ Service
.V.1.5 Delegate
• Thường được tạo ra và liên quan đến file Command
• Có tác dụng triệu gọi các thủ tục từ xa (remote procedure) như HTTP, WebService… và trả ngược kết quả về cho Command
Trang 22Website Thư viện điện tử
.V.1.6 Service
• Định nghĩa các thủ tục triệu gọi từ xa (HTTP, WebService…)
để kết nối đến dữ liệu lưu trữ phía server
• Chứa các service, thông tin của một Service được khai báo các thông số để móc nối với server trong file Service.mxml
Trang 23Hình 2: Sơ đồ Cairngorm tổng quát