XÂY DỰNG ỨNG DỤNG GADGET
[ ĐẠ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 i LỜ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 v BẢ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 1 MỞ ĐẦ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. 2 Chươ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ý. . 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. 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ả