Gadget lần đầu được Microsoft giới thiệu trên Windows Vista, được xây
dựng nhằm hỗ trợ người sử dụng quản lý tài nguyên hệ thống, bộ nhớ, đĩa cứng,
lịch, đồng hồ, xem thông tin về thời tiết, tỷ giá, tin tức Các tiện ích này được
đặt trên thanh Windown Sidebar properties chiếm một phần trên desktop và có
thể dễ dàng tùy chỉnh. Không chỉ với vẻ hào nhoáng bề ngoài, những thuận tiện
mà Gadget đem đến đã làm say mê rất nhiều người.
Trong khóa luận tốt nghiệp này, tác giả đề cập đến việc xây dựng một ứng
dụng Gadget trên các hệ điều phổ biến như Windowns XP, Vista. Kết nối đến
các dich vụ web để truy xuất dữ liệu hiện thị cho người sử dụng những thông
tin như thời tiết, tỷ giá ngoại tệ, tin tức cập nhật Hiện nay có rất nhiều trang
web cung cấp dich vụ này, ứng dụng trong KTTN cho phép người dùng tùy
chọn lấy thông tin được cung cấp bởi những trang web uy tín.
Ngoài phương pháp lấy tin phổ biến thường được sử dụng từ những trang
web cung cấp dữ liệu với đinh dạng chuẩn chia sẻ dữ liệu như XML, RSS feed.
Khóa luận tốt nghiệp cũng đề cập và nghiên cứu đến phương pháp để lấy thông
tin từ một trang web bất kỳ và cố gắng giải quyết bằng cách sử dụng các kĩ
thuật của Web Spider đọc và trích xuất thông tin dựa vào các từ khóa và biểu
thức chính quy (regular expression) để bóc tách một trang HTML
47 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2193 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Khóa luận Xây dựng ứng dụng gadget, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
[
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trần Minh Hưng
XÂY DỰNG ỨNG DỤNG GADGET
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trần Minh Hưng
XÂY DỰNG ỨNG DỤNG GADGET
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
Cán bộ hướng dẫn:Nguyễn Thị Hậu
HÀ NỘI - 2010
iLỜI CẢM ƠN
Trước tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc đến cô giáo
Nguyễn Thị Hậu người đã tận tình chỉ bảo hướng dẫn tôi trong suốt quá trình
thực hiện khoá luận tốt nghiệp.
Tôi xin bày tỏ lời cảm ơn sâu sắc đến các thầy cô giáo đã giảng dạy tôi
trong suốt bốn năm học qua, đã cho tôi nhiều kiến thức quý báu để tôi vững
bước trên con đường học tập của mình.
Tôi xin gửi lời cảm ơn tới các bạn trong lớp K51CD, và K51CHTTT đã
ủng hộ khuyến khích tôi trong suốt quá trình học tập tại trường.
Với lòng biết ơn chân thành, tôi xin gởi lời chúc sức khoẻ và những gì tốt
đẹp nhất đến các thầy cô trong khoa, trong nhà trường, những bậc cha mẹ, anh
chị đáng kính và toàn thể các bạn bè hiện đang còn học hoặc không còn học tại
trường Đại Học Công Nghê-Đại Học Quốc Gia Hà Nội.
Hà Nội, ngày 10 tháng 05 năm 20010
Trần Minh Hưng
ii
TÓM TẮT NỘI DUNG
Gadget lần đầu được Microsoft giới thiệu trên Windows Vista, được xây
dựng nhằm hỗ trợ người sử dụng quản lý tài nguyên hệ thống, bộ nhớ, đĩa cứng,
lịch, đồng hồ, xem thông tin về thời tiết, tỷ giá, tin tức…Các tiện ích này được
đặt trên thanh Windown Sidebar properties chiếm một phần trên desktop và có
thể dễ dàng tùy chỉnh. Không chỉ với vẻ hào nhoáng bề ngoài, những thuận tiện
mà Gadget đem đến đã làm say mê rất nhiều người.
Trong khóa luận tốt nghiệp này, tác giả đề cập đến việc xây dựng một ứng
dụng Gadget trên các hệ điều phổ biến như Windowns XP, Vista. Kết nối đến
các dich vụ web để truy xuất dữ liệu hiện thị cho người sử dụng những thông
tin như thời tiết, tỷ giá ngoại tệ, tin tức cập nhật…Hiện nay có rất nhiều trang
web cung cấp dich vụ này, ứng dụng trong KTTN cho phép người dùng tùy
chọn lấy thông tin được cung cấp bởi những trang web uy tín.
Ngoài phương pháp lấy tin phổ biến thường được sử dụng từ những trang
web cung cấp dữ liệu với đinh dạng chuẩn chia sẻ dữ liệu như XML, RSS feed.
Khóa luận tốt nghiệp cũng đề cập và nghiên cứu đến phương pháp để lấy thông
tin từ một trang web bất kỳ và cố gắng giải quyết bằng cách sử dụng các kĩ
thuật của Web Spider đọc và trích xuất thông tin dựa vào các từ khóa và biểu
thức chính quy (regular expression) để bóc tách một trang HTML …
iii
MỤC LỤC
LỜI CẢM ƠN .................................................................................................... i
TÓM TẮT NỘI DUNG .................................................................................... ii
MỤC LỤC........................................................................................................ iii
BẢNG CÁC KÍ HIỆU VIẾT TẮT....................................................................v
DANH MỤC HÌNH VẼ....................................................................................vi
MỞ ĐẦU ............................................................................................................1
Chương 1: Giới thiệu Gadget............................................................................2
1.1. Gadget ..........................................................................................................2
1.2. Cấu trúc một Gadget.....................................................................................3
1.3. Phân loại.......................................................................................................5
1.4. Dữ liệu mà Gadget sử dụng ..........................................................................6
Chương 2: Các kiến thức nền tảng và công nghệ liên quan ............................7
2.1. Giới thiệu về XML .......................................................................................7
2.1.2. Tại sao lại sử dụng XML....................................................................8
2.1.3. Những thành phần của một tài liệu XML ...........................................8
2.1.4. Một tài liệu XML hợp lệ ....................................................................9
2.2. Tìm hiểu RSS .............................................................................................10
2.2.1. Tại sao nên sử dụng RSS..................................................................10
2.2.2. Những điểm mạnh của RSS .............................................................11
2.2.3. Ứng dụng RSS trong việc xây dựng Gadget .....................................12
2.3. Xpath..........................................................................................................13
2.3.1. Giới thiệu .........................................................................................13
2.3.2. Cú pháp của Xpath...........................................................................13
2.3. Tìm hiểu về AJAX......................................................................................15
2.3.1. Mô hình DOM .................................................................................16
2.3.2. Cơ chế hoạt động của AJAX ............................................................17
iv
2.5. Web Spider.................................................................................................20
2.5.1. Trích xuất thông tin sử dụng Web Spider .........................................21
2.5.2. HTML Tidy .....................................................................................22
2.5.3. CURL ..............................................................................................23
2.5.4. Regular Expression ..........................................................................24
Chương 3: Xây dựng ứng dụng Gadget .........................................................26
3.1. Mô tả chức năng .........................................................................................26
3.1.1. Chức năng xem thông tin thời tiết ....................................................26
3.1.2. Chức năng xem thông tin về ngoại tệ ...............................................26
3.1.3. Chức năng xem thông tin về giá vàng ..............................................26
3.1.4. Chức năng xem tin tức .....................................................................27
3.1.5. Chức năng tìm kiếm thông tin từ trang web bất kỳ ...........................27
3.2. Cấu trúc của chương trình...........................................................................27
3.3. Xây dựng luật để tìm kiếm thông tin từ trang web bất kỳ............................29
3.4. Một số giao diện của ứng dụng ...................................................................30
Chương 4: Cài đặt và thực nghiệm.................................................................35
4.1. Cài đặt ứng dụng ........................................................................................35
4.2. Kết quả thực nghiệm...................................................................................35
4.2.1 Thực nghiệm chức năng chương trình ...............................................35
4.2.2 Thực nghiệm trên hệ điều hành .........................................................36
Chương 5: Kết Luận và hướng phát triển......................................................37
5.1. Kết luận ......................................................................................................37
5.2.Các hạn chế của ứng dụng ...........................................................................37
5.3. Hướng phát triển tiếp theo ..........................................................................37
Tài liệu tham khảo...........................................................................................39
vBẢNG CÁC KÍ HIỆU VIẾT TẮT
Kí hiệu Diễn giải
AJAX Ansynchronous Javascript and XML
API Application Programming Interface
CSS Cascading Style Sheet
DOM Document Object Model
HTML Hyper Text Markup Language
HTTP Hyper Text Transfer Protocol
REGEXP Regular Expression
RSS Really Simple Syndication
XML Extensible Markup Language
XHTML Extensible HyperText Markup Language
W3C World Wide Web Consortium
vi
DANH MỤC HÌNH VẼ
Hình 1: Minh họa Gadget ....................................................................................3
Hình 2: Các file chính của một Gadget. ...............................................................5
Hình 3: Phân loại Gadget.....................................................................................5
Hình 4: Các nguồn dữ liệu mà Gadget sử dụng....................................................6
Hình 5: Mô hình một Data application Gadget.....................................................7
Hình 6: Minh họa cấu trúc dạng cây của file XML. ...........................................15
Hình 7: Minh họa cấu trúc DOM của một trang HTML. ....................................17
Hình 8: Mô hình tương tác trong một ứng dụng web truyền thống.....................18
Hình 9: Mô hình tương tác trong ứng dụng web dùng AJAX.............................19
Hình 10: So sánh hai mô hình ứng dụng web: truyền thống và sử dụng AJAX ..20
Hình 11 : Cấu trúc của ứng dụng Gadget. ..........................................................28
Hình 12 : Giao diện hiện thị thông tin thời tiết...................................................30
Hình 13 : Giao diện hiện thị thông tin tỷ giá ngoại tệ.........................................30
Hình 14 : Giao diện hiện thị thông tin giá vàng..................................................31
Hình 15 : Giao diện hiện thi tin tức và cửa sổ flyout. .........................................31
Hình 16 : Giao diện hiện thị thông tin thời tiết từ trang bất kỳ. ..........................32
Hình 17: Giao diện tùy chọn thông tin thời tiết. .................................................32
Hình 18: Giao diện tùy chọn thông tin về tỷ giá ngoại tệ. ..................................33
Hình 19: Giao diện tùy chọn thông tin về giá vàng. ..........................................33
Hình 20: Giao diện tùy chọn về tin tức. .............................................................34
Hình 21: Giao diện tùy chọn thông tin từ trang web bất kỳ. ...............................34
1MỞ ĐẦU
Với sự phát triển mạnh mẽ của Internet trong những năm gần đây, đặc biệt là
sự bùng nổ của World Wide Web, Internet đang làm thế giới thay đổi từng ngày,
từng giờ. Internet cùng với các dịch vụ hỗ trợ đã trở nên không thể thiếu cho hoạt
động của từng cá nhân cho đến từng doanh nghiệp.Tuy nhiên cùng với sự phát triển
và phổ cập của Internet thì thông tin ngày càng trở nên đa dạng và có sự trùng
lặp.Việc lựa chọn và cập nhật thông tin một cách chính xác, nhanh chóng và thuận
tiện là một vấn đề đặt ra.Gadget là một ứng dụng mà ngay từ khi ra mắt trên hệ điều
hành Windowns Vista đã không chỉ thể hiện được sự hữu ích và thuận tiện của nó
mà còn góp phần trang trí cho màn hình destop của bạn. Gadget đem lại rất nhiều
lợi ích và việc sử dụng nó hiện nay đã trở thành một nhu cầu rất phổ biến và thiết
thực. Vì vậy mục tiêu của khóa luận là “Xây dựng ứng dụng Gadget” kết nối đến
các dich vụ web để truy xuất dữ liệu và hiện thị ra cho người dùng cuối như: khai
thác dịch vụ RSS, tỉ giá trao đổi ngoại tệ, tỉ giá vàng, thông tin thời tiết các vùng,
miền…Ứng dụng cho phép người sử dụng chọn nguồn lấy thông tin từ các trang
web uy tín hay một trang web khác mà người sử dụng mong muốn. Khóa luận tập
chung nghiên cứu các phương pháp lấy thông tin từ các nguồn như RRS, XML
feed, các Webservices hay Web page, tìm hiểu cách mà Gadget kết nối đến các dịch
vụ để lấy thông tin cập nhật mới nhật và tương tác với người sử dụng.
Kết cấu của khoá luận bao gồm các chương sau:
- Chương 1: Giới thiệu về Gadget. Nêu các khái niệm cơ bản, phân loại, cấu
trúc, và nguồn dữ liệu mà Gadget sử dụng.
- Chương 2: Tìm hiểu, phân tích các kiến thức nền tảng và các công nghệ liên
quan. AJAX, XML, RSS, Xpath, và các kĩ thuật sử dụng của Web Spider lấy thông
tin từ một trang web bất kỳ.
- Chương 3: Xây dựng ứng dụng Gadget. Mô tả các chức năng, các module,
giao diện của chương trình.
- Chương 4: Cài đặt và thực nghiệm Gadget.
- Chương 5: Kết luận và hướng phát triển.
2Chương 1: Giới thiệu Gadget
Gadget có thể chạy trên nhiểu nền tảng khác nhau, Có 3 dạng nền tảng Gadget
của Microsoft đó là [8] :
Sidebar Gadget hay còn gọi là Windown Sidebar: sử dụng trên màn hình
desktop của máy tính để bàn hay xách tay.
Web Gadget: chạy trên bất cứ trình duyệt web nào và thường được lưu trữ
trong Live.com hoặc Live Spaces.
SideShow Gadget: là các thiết bị phần cứng sử dụng trên máy tính xách
tay hay các thiết bị thông minh di động…
Trong khóa luận chỉ đề cập đến các ứng dụng Sidebar Gadget và gọi tắt Gadget.
Trong chương này tác giả sẽ trình bày nhưng khái niệm cơ bản về Gadget, cấu trúc,
phân loại, nguồn dữ liệu mà Gadget sử dung.
1.1. Gadget
Gadget là một tiện ích nhỏ gắn trên thanh sidebar hay bất kỳ vị trí nào bạn
muốn trên màn hình desktop, cung cấp nhiều thông tin hữu ích như lịch, đồng hồ, nhật
kí, CPU… ngoài ra có thể kết nối với dịch vụ web để cung cấp những dữ liệu doanh
nghiệp, tỷ giá ngoại tệ,thông tin chứng khoán, thông tin thời tiết, tin tức cập nhật, bản
đồ giao thông hay các album ảnh trực tuyến....Gadget cũng có thể tích hợp với các
chương trình khác để cung cấp sự sắp xếp, tương tác hợp lý.
3Hình 1: Minh họa Gadget
Gadget cho phép bạn truy cập nhanh vào các ứng dụng web hay truy cập vào
chính chiếc máy tính của bạn. Nó làm giảm khoảng cách giữa thông tin hữu ích và
người sử dụng bằng cách cung cấp thông tin trong một định dạng sẵn sàng trên
Gadget, qua đó giúp người sử dụng tiết kiệm được thời gian và cũng như thao tác.
Đối với nhiều người Gadget là một tiện ích tuyệt vời với nhiều tính năng mới
trong hệ điều hành Windowns Vista. Gadget cung cấp các thông tin mà người dùng
cần truy cập thường xuyên hay các công cụ với đa dạng chức năng sẵn sàng để sử
dụng và dễ dàng truy nhập được thiết kế tiết kiệm tối đa bộ nhớ của CPU.
Thực chất nó không phải một dạng file thực thi kiểu mới mà nó bao gồm HTML,
CSS, XML, JavaScript,và các tập tin hình ảnh tất cả phối hợp để làm nên một Gadget.
Có thể lưu trữ một trang web mini, gọi một dich vụ web, tích hợp một ứng dụng kinh
doanh thương mại, hoặc thậm chí gọi các API hệ thống để tạo ra một ứng dụng tùy
chỉnh.
1.2. Cấu trúc một Gadget
Gadget là một tiện ích được phát triển bằng cách sử dụng công nghệ web như
là HTML, CSS, và JavaScript hoặc có thể sử dụng các công nghệ DHTML, AJAX
và ActiveX COM cho chức năng cao cấp. Một tiện ích có thể được dùng như một
ứng dụng HTML với các tính năng tiên tiến. Tất cả các giao diện sử dụng trong các
tiện ích, các tiện ích chính của cửa sổ, các trang cài đặt, cũng như cửa sổ flyout, tất
cả đều là trang HTML.
Các file chính của một Gadget :
-Gadget.xml : Đây là file rất quan trọng , nó lưu trữ các thông số cấu hình của
Gadget, tên tác giả, phiên bản sản phẩm, bản quyền, thông tin URL.. dưới dạng thức
XML.
full
4
-Dòng bôi đen đầu tiên cho biết file html được đưa lên Gadget là file
gadget.html ở cùng thư mục, dòng bôi đen thứ 2 xác định quyền hạn Gadget này là
toàn quyền truy xuất hệ thống, nếu không đặt là full thì các chức năng truy xuất hệ
thống của gadget có thể sẽ không dùng được do bị lỗi cấm truy nhập.
-File [Gadget_Name].html : hầu hết các Gadget đều có 3 tập tin HTML cho cửa
sổ chính (đây là file được xác định thông qua tag : src trong file XML chính, file
HTML này sẽ được hiện thị khi Gadget được cài đặt), trang cài đặt và cửa sổ flyout.
Mỗi trang HTML này include đến các file CSS và JavaScript tương ứng.
-Các file .CSS : viết tắt của chữ Cascades Style Sheet, các file này được dùng để
mô tả cách trình bày của các phân tử trong file HTML tương ứng, rất quen thuộc với
các ứng dụng web.
-Các file .JS : là thành phần cốt lõi của ứng dụng Gadget. Nếu như coi các thành
phần HTML và cách trình bày CSS là khung xương và cơ thể thì Javascript là thành
phần làm nên sức sống cho các ứng dụng Gadget. Nó chứa các đoạn mã thực thi các
chức năng của Gadget, xử lí thông tin và hiện thị cho người dùng cuối.
5Hình 2: Các file chính của một Gadget.
1.3. Phân loại
Nếu dựa trên tiêu chí là các công nghệ để cấu thành lên gadget thì có tất cả 3 loại
Gadget [8]:
-Mini web application: ứng dụng web nhỏ sử dụng HTML,CSS và các script (
Vbscript,Javascript...)
-Data application : ứng dụng có truy xuất dữ liệu sử dụng HTML ,DHTML,
DOM, AJAX. Gadget loại này có thể kết nối đến các dịch vụ web để truy xuất dữ liệu
và hiển thị ra cho người dùng cuối như: khai thác dịch vụ RSS, chỉ số chứng khoán,
thông tin thời tiết các vùng miền…Đây cũng là Gadget mà khóa luận sẽ xây dựng ở
các chương tiếp theo của khóa luận.
-Mini utilities : có tác dụng như một tiện ích dùng ActiveX object, Gadget API
và DHTML…ví dụ như các Gadget đo CPU, hiển thị đồng hồ số… hay thậm chí là
các tiện ích truy xuất tài nguyên hệ thống và rất nhiều công việc khác.
Hình 3: Phân loại Gadget
61.4. Dữ liệu mà Gadget sử dụng
Gadget cung cấp thông tin và tương tác với người sử dụng một cách độc đáo. Nó
có thể truy xuất thông tin từ nhiều nguồn khác nhau :
RSS/XML .
Các trang web.
Các dịch vụ web.
Tài nguyên hệ thống : file, folder.
Và đương nhiên truy xuất được vào các hệ quản trị dữ liệu nhờ ActiveX
object [8]…
Hình 4: Các nguồn dữ liệu mà Gadget sử dụng.
7Chương 2: Các kiến thức nền tảng và công nghệ
liên quan
Trong chương trước chúng ta đã biết ứng dụng mà khóa luận hướng đến là một
Data application Gadget truy xuất đến các nguồn dữ liệu là XML, RSS hay các trang
web sử dụng DOM, AJAX, Xpath…để phân tích lấy dữ liệu trả về sau đó hiện thị trên
Gadget.
Hình 5: Mô hình một Data application Gadget.
Trong chương này khóa luận sẽ trình bày những nét cơ bản về các công nghệ
này, những điểm nội bật nhất và vai trò của chúng trong việc xây dựng ứng dụng
Gadget.
2.1. Giới thiệu về XML
Như trình bày trong phần trước thì một trong những nguồn truy xuất dữ liệu
chính của Gadget là các file XML. Vậy thì XML là gì? Và vì sao nó lại được sử dụng
trong việc lấy thông tin từ các trang web?
XML (Extensible Markup Language) ra đời tháng 2/1998, là ngôn ngữ có kiến
trúc gần giống HTML nhưng XML nhanh chóng trở thành một chuẩn phổ biến trong
8việc chuyển đổi thông tin qua các trang web sử dụng giao thức HTTP. Trong khi
HTML là ngôn ngữ chủ yếu về hiện thị dữ liệu thì XML lại phát triển mạnh về việc
truyền tải ,trao đổi và thao tác dữ liệu bằng XML. XML đưa ra một định dạng chuẩn
cho cấu trúc của dữ liệu hoặc thông tin bằng việc tự định nghĩa định dạng của tài liệu.
Bằng cách này dữ liệu được lưu trữ bằng XML sẽ độc lập với việc xử lí.Vì vậy XML
ra đời đáp ứng được yêu cầu ngày càng cao của các nhà lập trình trong vấn đề trao đổi
và xử lí thông tin. Bản thân của XML tuy không có gì khó hiểu, nhưng các công cụ
chuẩn được định ra để làm việc với XML như Document Object Model - DOM,
XPath, XSL, v.v.. thì rất hữu hiệu, và chính các chuẩn nầy được phát triển không
ngừng .
2.1.2. Tại sao lại sử dụng XML
Trong qua trình xây dựng và phát triển, XML đã đối mặt và đối đầu với nhiều
thử thách trong việc thuyết phục người lập trình rằng XML là sự lựa chọn hàng đầu vì
nó dễ hiểu, dễ đọc và dễ dàng thực hiện. Sau đây là một số lợi ích mà việc sử dụng
XML đem lại:
-XML có thể tách rời dữ liệu . Sử dụng XML, dữ liệu được chứa trong các tập tin
XML riêng biệt.
-XML có thể mô tả thông tin của những đối tượng phức tạp mà cơ sở dữ liệu
quan hệ không thể giải quyết được.
-XML có thể dùng để chuyển đổi dữ liệu giữa các hệ thống không tương thích.
-XML được dùng để chia sẻ dữ liệu với những tập tin văn bản đơn giản dễ hiểu .
-XML cũng được dùng để lưu trữ dữ liệu, có thể