1. Trang chủ
  2. » Giáo Dục - Đào Tạo

NGHIÊN cứu lập TRÌNH CHO các THIẾT bị DI ĐỘNG áp DỤNG CHO bài TOÁN HƯỚNG dẫn DU LỊCH

46 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Xn Chính NGHIÊN CỨU LẬP TRÌNH CHO CÁC THIẾT BỊ DI ĐỘNG ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU LỊCH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Mạng truyền thơng máy tính HÀ NỘI - 2010 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ Lê Xn Chính NGHIÊN CỨU LẬP TRÌNH CHO CÁC THIẾT BỊ DI ĐỘNG ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU LỊCH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Mạng truyền thơng máy tính Cán hướng dẫn: ThS Nguyễn Việt Anh HÀ NỘI - 2010 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tóm Tắt Việc hướng dẫn du lịch ngày đa dạng, hướng dẫn thông qua internet, hướng dẫn viên, sách báo…Nhưng tất cách có hạn chế tính độc lập, internet ln phải cần máy tính kết nối mạng, cịn hướng dẫn viên ta ln phải theo sát họ…Vì việc hướng dẫn du lịch qua mobile giải pháp tốt Ứng dụng “Hướng dẫn du lịch qua mobile theo ngữ cảnh” viết lên nhằm mục đích hướng dẫn khách tham quan thu thông tin cách xác địa điểm mà họ quan tâm Ứng dụng tổ chức liệu dạng cây, tùy vào ngữ cảnh mà người dùng đưa vào định độ chi tiết thông tin trả Sau tháng nghiên cứu hướng dẫn thầy ThS Nguyễn Việt Anh giúp đỡ bạn nhóm khóa luận Bước đầu khóa luận thu kết định - Áp dụng xử lý liệu theo ngữ cảnh vào tốn du lịch Tìm hiểu J2ME, Webservice Xây dựng thành cơng chương trình “Hướng dẫn du lịch qua mobile theo ngữ cảnh” Ứng dụng đáp ứng chức cần thiết việc hướng dẫn du lịch qua mobile theo ngữ cảnh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC Lời nói đầu .1 Mục tiêu đề tài Chương Xử lý liệu theo ngữ cảnh mobile 1.1 Giới thiệu 1.2 Hạn chế hướng dẫn du lịch thông thường 1.3 Hướng dẫn du lịch theo ngữ cảnh 1.4 Các chương trình liên quan .4 1.5 Cấu trúc DTG 1.6 Xác định ngữ cảnh 1.7 Kết luận .8 Chương Ứng dụng “hướng dẫn du lịch qua mobile theo ngữ cảnh” .9 2.1 Ngữ cảnh chương trình 2.2 Mơ hình kết nối 10 2.3 Thiết kế sở liệu 11 2.3.1 Các bảng liệu chương trình 11 2.3.2 Chi tiết bảng 11 2.4 Mơ hình liệu 13 2.5 Cài đặt thuật toán 14 2.5.1 Các khái niệm 14 2.5.2 Cài đặt 16 2.6 Luồng xử lý liệu chương trình 20 2.6.1 LoginScreen 20 2.6.2 Welcome 21 2.6.3 List 22 2.6.4 Form .24 2.7 Cài đặt thử nghiệm .25 Chương J2ME 26 3.1 Giới Thiệu .26 3.2 Những phiên Java 26 3.3 Tại dùng J2ME? 27 3.3.1 Configurations (Cấu hình) .27 3.3.2 Profile 28 3.4 Cấu hình CONFIGURATION PROFILE phát triển nào? 29 3.4.1 Máy ảo Java (JVM – Java Virtual Machines) 29 3.4.2 KVM CLDC liên quan nào? 29 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.5 Tính tương thích phiên Java .30 3.5.1 Ứng dụng J2SE tiếp tục chạy môi trường J2ME? .31 3.5.2 Những ứng dụng J2ME chạy J2SE? 31 3.6 Kết chương 31 Chương Web service .32 4.1 Định nghĩa .32 4.2 Thành phần Web service 32 4.3 Hoạt động Web service 32 4.3.1 SOAP 33 4.3.2 WSDL (Web Service Definition Language) 33 4.3.3 UDDI(Universal Description, Discovery, and Integration) 33 4.5 Các thành phần Web Service 35 4.5.1 SOAP (Simple Object Access Protocol) 35 4.6 WSDL (Web Service Definition Language) 35 4.6.1 Cấu trúc file WSDL 37 Chương Kết luận 38 5.1 Kết luận 38 5.1.1 Các kết đạt 38 5.1.2 Các vấn đề chưa giải .38 5.2 Hướng phát triển tương lai 38 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Lời cảm ơn! Sau năm tháng tìm hiểu thực hiện, luận văn “Nghiên cứu lập trình cho thiết bị di động áp dụng cho toán hướng dẫn du lịch” hoàn thành Để đạt kết này, em nỗ lực đồng thời nhận nhiều quan tâm, giúp đỡ, ủng hộ thầy cơ, bạn bè gia đình Điều đầu tiên, em xin gửi lời cảm ơn chân thành đến mơn Mạng Truyền thơng máy tính, Khoa Công nghệ thông tin, Trường Đại học Công Nghệ, Đại học Quốc Gia Hà Nội thầy cô đặc biệt ThS Nguyễn Việt Anh tận tình giúp đỡ, hướng dẫn em hồn thành luận văn Mình cảm ơn bạn bè khoa, đặc biệt nhóm làm khóa luận cộng đồng Java Việt Nam ln bên cạnh, giúp đỡ đóng góp ý kiến suốt q trình làm luận văn Và xin chân thành cảm ơn đến gia đình động viên tạo điều kiện thuận lợi để học tập hoàn thành luận văn Luận văn hồn thành có kết định, nhiện tránh khỏi sai sót Rất mong cảm thơng đóng góp ý kiến nhiệt tình từ thầy bạn Hà Nội, tháng năm 2010 Lê Xuân Chính LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Lời nói đầu Mạng điện thoại di động xuất Việt Nam từ đầu năm 1990, theo thời gian số lượng nhà cung cấp dịch vụ số lượng thuê bao tăng lên hàng ngày Giờ điện thoại di động không đơn gọi, nhắn tin nghe mà cịn thiết bị giải trí đa phương tiện, tra cứu thơng tin tiện lợi Việc xây dựng ứng dụng điện thoại động lĩnh vực mới, hứa hẹn nhiều thú vị xu tất yếu Các dịch vụ giá trị gia tăng điện thoại di động nói mảnh đất màu mỡ cho doanh nghiệp cung cấp dịch vụ di động Ngày có hai hướng phát triển ứng dụng thiết bị di động sử dụng ngôn ngữ C++ hệ điều hành Symbian J2ME Các ứng dụng viết Symbian có ưu truy cập trực tiếp tài nguyên điện thoại di động hỗ trợ hệ thống tập tin, thư mục…Nhưng việc phát triển Symbian tương đối phức tạp dung lượng ứng dụng lớn Có thể nói J2ME đối thủ Symbian API, J2ME có ưu điểm nhỏ gọn, tiện dụng, hỗ trợ hầu hết dòng điện thoại nay, kể điện thoại sử dụng hệ điều hành Symbian J2ME không ngôn ngữ dùng để viết cho ứng dụng di động, mà cịn lập trình cho thiết bị gia dụng, thẻ tín dụng điện tử, ứng dụng thơng minh khác Rất khó để so sánh dịng ngơn ngữ lập trình Vì ngơn ngữ mạnh riêng Dựa tiêu trí tính phổ biến thích hợp với điều kiện thời, tơi chọn J2ME ngôn ngữ để xây dựng ứng dụng Với phát triển mạnh mạng di động ngày vấn đề phần cứng cải thiện cách đáng kể tốc độ xử lý dung lượng nhớ Sự kiện đáng ý gần Việt Nam có số đơn vị cung cấp dịch vụ 3G 3G, hay 3-G, (viết tắt third-generation technology) công nghệ truyền thông hệ thứ ba, cho phép truyền liệu thoại liệu thoại (tải liệu, gửi email, tin nhắn nhanh, hình ảnh ) Với mạnh vượt trội đó, 3G hứa hẹn mảnh đất cho lập trình viên thỏa mãn đam mê lập trình thiết bị di động Và tiến tới tất ứng dụng desktop có mặt mobile Dựa tảng ngơn ngữ J2ME, xây dựng ứng dụng “hướng dẫn du lịch qua mobile theo ngữ cảnh” Với máy tính việc tra cứu thơng tin du lịch việc đơn giản, cú click để truy cập http://google.com sau vài giây bạn nhận hàng triệu kết để tham khảo Ngày điện thoại di động với tính mạnh mẽ cùng, chức dần tiến tới desktop LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com vấn đề thời gian, ứng dụng “hướng dẫn du lịch qua mobile theo ngữ cảnh” viết nên nhằm trợ giúp khách du lịch việc tìm kiếm tra cứu thông tin địa lý, điểm đặc biệt chương trình tính mềm dẻo liệu trả về, khơng có buồn chán ta đọc đọc lại lượng thông tin cố định, mà khơng có thay đổi theo thời gian Ứng dụng giải vấn đề này, tùy vào thông tin truy vấn người dùng mà liệu trả khác nhau, nói thơng minh chương trình Với phát triển tốc độ mạng di động, dung lượng liệu khơng cịn vấn đề quan trọng nữa, nội dung ứng dụng thêm phong phú đa dạng Chương trình bước đầu hoàn thành, liệu lúc đơn giản chữ hình ảnh, đủ để truyền tải hết thông tin tới người dùng Nhận thấy 3G có mặt Việt Nam, hướng phát triển tương lai chương trình tích hợp thêm video, cụ thể ứng dụng sử dụng cơng nghệ Video Streaming, cịn mới, hướng hứa hẹn nhiều thành công Tuy đầu tư nhiều thời gian công sức vào luận văn, khơng thể tránh khỏi sai sót, tơi mong nhận đóng góp phản hồi từ thầy cô bạn! Xin chân thành cảm ơn! Lê Xuân Chính LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Mục tiêu đề tài - Tìm hiểu ngơn ngữ lập trình J2ME Tìm hiểu Web service Tìm hiểu vể “xử lý liệu theo ngữ cảnh” Xây dựng ứng dụng demo “Hướng dẫn du lịch qua mobile theo ngữ cảnh” Chương Xử lý liệu theo ngữ cảnh mobile 1.1 Giới thiệu Những khách du lịch bụi thường phải dựa vào đồ dựa vào biển hiệu đường để tự khám phá thành phố lạ lẫm Họ cần có người hướng dẫn viên giúp họ tới nơi mà họ muốn, cho họ thông tin mà họ tìm thấy chí đảm bảo đưa họ trở Đây mục tiêu Dynamic Tour Guide - Hướng dẫn viên du lịch di động(DTG) DTG thiết bị di động cho phép cá nhân hóa thơng tin tour du lịch Nó chọn địa điểm thu hút khách du lịch, lên lịch cho tour thăm quan cá nhân, cung cấp thông tin đường suốt q trình du lịch thơng tin môi trường Những thông tin phản hồi thông minh dựa tất phân tích bối cảnh để hỗ trợ cho khách du lịch lúc 1.2 Hạn chế hướng dẫn du lịch thông thường Khách du lịch cần có thơng tin chi tiết địa điểm tham quan ví dụ như: bảo tàng có mở cửa khác có mở cửa thêm Ví dụ vào dịp cuối tuần, mùa hè cửa hàng ln kín chỗ, cịn vào khoảng tháng 11 ln đóng cửa Nếu khơng nắm bắt thông tin này, khách du lịch khơng có chuẩn bị cần thiết, cách theo biển hiệu, dẫn đồ hay đường Những hướng dẫn viên du lịch thường hướng dẫn cho đoàn khách, họ theo tour định sẵn tham quan điểm chính, có địa điểm thú vị lại không tham quan, cách điểm gần Lý tưởng có thiết bị giống hướng dẫn viên du lịch, thường trực, am hiểu địa danh hiểu sở thích cá nhân khách du lịch, quản lý thời gian, biết tình hình tại, đưa tour du lịch cá nhân, cất gọn túi áo Đây mục tiêu DTG Mục đích lập tour LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com du lịch, giống chuyên viên hướng dẫn viên du lịch làm sau biết thông tin khách du lịch Điều hồn tồn thực việc áp dụng công nghệ kết hợp nhận thức ngữ nghĩa ngữ cảnh máy tính 1.3 Hướng dẫn du lịch theo ngữ cảnh Một khách du lịch muốn khám phá địa điểm họ tới Họ có hồ sơ sở thích, điểm xuất phát kết thúc khoảng thời gian cho tour du lịch Những thông tin cần nạp vào hệ thống Ngữ cảnh tất thông tin thời địa điểm định, khoảng thời gian định Thách thức đặt phải đưa tour tối ưu dựa thông tin cá nhân ngữ cảnh Trong suốt trình tham quan, khách du lịch hướng dẫn để tới tổ hợp tòa nhà, địa điểm cần đến(Tour Building Block – TBB) Khi khách du lịch bắt đầu chuyến du lịch, DTG đo tốc độ di chuyển cập nhật thơng tin để tính tốn, xếp lại tour du lịch Ngay khách du lịch tới TBB, DTG đưa thơng tin giới thiệu phù hợp với hồn cảnh Một số khách du lịch định khám phá TBB cách nhiều cách, ví dụ bộ, xem lướt qua… Trong trường hợp này, t hông tin thêm phù hợp cung cấp Ngay khách du lịch rời khỏi TBB, DTG ngừng cung cấp thông tin TBB nạp lại q trình điều hướng, sang TBB Trong trường hợp du khách dừng chân lại lâu dự kiến ban đầu thời gian cịn lại phải tính tốn lại Trên đường tới TBB tiếp theo, du khách bị phân tán điểm tham quan khác đơn giản cửa hàng Lúc DTG tạm dừng gợi ý điều hướng cung cấp thơng tin bối cảnh Trong trường hợp này, DTG phải chờ du khách rời khỏi điểm tính tốn lại thời gian 1.4 Các chương trình liên quan Tour Guides từ lâu trở thành chủ đề quan trọng hoạt động nghiên cứu Cũng có nhiều chương trình viết lên nhằm mục đích hướng dẫn theo ngữ cảnh, chương trình có đặc điểm riêng có hạn chế định, phục vụ cho yêu cầu đặc biệt Những dự án quan trọng sau xử lý vấn đề tương tự DTG LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương J2ME 3.1 Giới Thiệu Tất phiên chuẩn Java (J2SE) với câu châm ngôn tiếng “Write once, run anywhere” Ý tưởng Java phát triển ngôn ngữ cho phép bạn viết mã lần, sau chạy tảng hỗ trợ máy ảo Java (JVM) mà không cần phải viết lại mã Hai năm sau giới thiệu Java, phiên Java đời với tên gọi Java Enterprise Edition cung cấp hỗ trợ cho quy mô hệ thống ứng dụng lớn, ứng dụng phục vụ cho xí nghiệp Và thêm vào gần gia đình họ Java phiên nhỏ gọn (micro), hướng đến lập trình thiết bị thông tin gia dụng từ Internet – máy TV, máy chụp ảnh, điện thoại di động, PocketPC… 3.2 Những phiên Java Chúng ta bắt đầu với tóm lượt lướt nhanh qua tảng Java có sẵn thời:  Phiên chuẩn (J2SE): Thiết kế chạy desktop máy tính kiểu trạm làm việc  Phiên xí nghiệp (Enterprise Edition) (J2EE): Đưa thêm vào hỗ trợ dành cho Servlets, JSP XML Phiên nhắm vào ứng dụng Web server  Phiên nhỏ gọn (Micro Edition hay J2ME): Thiết kế cho thiết bị có nhớ có hạn, sức mạnh hình tốc độ xử lý Ghi chú: Tháng mười hai 1998, Sun giới thiệu tên “Java 2” thay cho phiên Java 1.2 Tên dùng để quy ước cho tất phiên Java: Phiên chuẩn (J2SE) phiên nhỏ gọn (J2ME) Hinh 1.1 cho thấy phiên Java 26 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 3.1 3.3 Tại dùng J2ME? J2ME nhắm vào thiết bị khách hàng (consumer device) với sức mạnh xử lý tài nguyên có hạn Có nhiều thiết bị dạng điện thoại di động, máy quay phim , chụp hình Những thiết bị khơng có tùy chọn để tải xuống cài đặt từ xa PC Phần mềm điều khiển cài sẵn trình sản xuất bị áp đặt nhà sản xuất Với đời J2ME, thiết bị khơng cịn tĩnh xưa nữa, chúng hồn tồn người dùng tự lập trình để thêm vào tính Khơng giống duyệt browser PC cần tải xuống Java applets, để thực thi ứng dụng Java, J2ME cài thiết bị sẵn có tùy chọn để duyệt, tải xuống cài đặt thực thi ứng dụng Java Một tảng Java dùng chung cho loại thiết bị khơng thích hợp Để hiểu rõ J2ME phù hợp áp dụng cho phạm vi rộng thiết bị nhúng ngày nay, cần hiểu qua hai khái niệm mới, khái niệm cấu hình (config) thơng tin mơ tả (profile) 3.3.1 Configurations (Cấu hình) Để hỗ trợ phạm vi rộng lớn sản phẩm phù hợp với J2ME, Sun đưa khái niệm cấu hình (Configuration) Một cấu hình định nghĩa tảng Java dùng chung cho số lớn thiết bị loại Cấu hình gần tương đương với hệ máy ảo Java (JVM) Cấu hình định 27 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com nghĩa đặc tính ngơn ngữ Java thư viện Java lõi JVM dành cho cấu hình đặc biệt Những đặc tính dành cho cấu hình áp dụng chủ yếu cho nhớ, độ phân giải hình, giao thức kết nối mạng,và sức mạnh xử lý sẵn có thiết bị Các trả lời Sun J2ME (FAQ) sau: “Công nghệ J2ME thiết kế dựa hai tâm điểm – dựa thiết bị mà bạn giữ tay thiết bị mà bạn cắm vào sử dụng chung với nguồn điện hay thiết bị khác” Nhữ ng đặc trưng tiêu biểu sau thiết bị rơi vào định nghĩa cấu hình Configuration gồm có: 3.3.1.1 Cấu hình dành cho thiết bị kết nối (CDC – Connected Device Configuration) 512 kilobytes (tối thiểu) nhớ để chạy Java 256 kilobytes (tối thiểu) dành cho phân bổ nhớ thực thi chương trình Kết nối mạng, băng thơng (bandwidth) rộng thường trực 3.3.1.2 Cấu hình thiết bị nối có giới hạn (CLDC – Connected, Limited Device Configuration) 128 kilobytes (tối thiểu) nhớ để chạy Java 32 kilobytes (tối thiểu) dành cho phân bổ nhớ thực thi chương trình Hạn chế giao diện người dùng Nguồn lượng thấp, chẳng hạn nguồn pin Kết nối mạng thường không dây (wireless) với băng thông khả truy cập internet thấp 3.3.2 Profile Định nghĩa Configuration cho thiết bị tương đối phù hợp cho hầu hết thiết bị Ví dụ thiết bị di động, PDA xếp vào phân loại CLDC Tuy nhiên, điện thoại di động PDA vã có thiết bị với nhiều khả xử lý Chẳng hạn, kích thước hình động thường nhỏ PDA Nhằm mô tả khả khác biêt để cung cấp nhiều tính linh hoạt cơng nghệ thay đổi, Sun giới thiệu khái niệm Profile dành cho J2ME Một Profile định nghĩa mở rộng thêm cho phân loại cấu hình Configuration Profile cung cấp thư viện cho phép người phát triển dùng để viết ứng dụng chạy kiểu thiết bị đặc biệt 28 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Ví dụ, Profile dành cho thiết bị thơng tin di động MIDP (Mobile Information Device Profile) định nghĩa tập hàm API cho phép xử lý thành phần giao diện người dùng nhập liệu thiết bị điện thoại di động, cách xử lý kiện, nơi chứa liệu, giao thức kết nối mạng, đối tượng định giờ, quản lý hạn chế kíc h thước ảnh nhớ đặc thù thiết bị di động 3.4 Cấu hình CONFIG URATION PROFILE phát triển nào? Sun định nghĩa: cấu hình Configuration Profile định nghĩa theo chuẩn cơng nghiệp mở nhóm cơng ty cộng đồng phát triển ứng dụng Java Bằng cách ngành công nghiệp định thành phần cần thiết để cung cấp giải pháp hiệu hướng đến lĩnh vực công nghiệp họ 3.4.1 Máy ảo Java (JVM – Java Virtual Machines) Như bạn biết, chế thực thi đằng sau ứng dụng Java (applet, servlet…) JVM Khi bạn biên dịch mã nguồn Java thành lớp (file class) đặt chúng file lưu trữ JAR Java, máy ảo JVM biên dịch file class thành mã thực thi điều khiển JVM Các mã file class gọi mã byte code JVM chịu trách nhiệm cung cấp chế an toàn, cấp phát giải phóng nhớ quản lý tiến trình, tiểu trình (thread) thực bên Nó yếu tố làm lên chương trình Java Đối với cấu hình dạng CLDC, Sun cài đặt phiên thu nhỏ dành cho JVM gọi K Virtual Machine gọi tắt KVM Máy ảo KVM thiết kế để điều khiển chạy thiết bị có nguồn tài nguyên hạn chế Rõ ràng KVM không hoàn toàn giống với JVM “truyền thống” Java, máy ảo KVM: Thực thể yêu cầu 40 đến 80 kilobyte cho nhớ thực thi Chỉ cấp phát 20 đến 40 kilobyte nhớ động Chỉ chạy sử lys16 bít tốc độ 25 MHz Cài đặt KVM tuân theo nguyên tắc đặc tả CLDC 3.4.2 KVM CLDC liên quan nào? Theo tài liệu Sun: “CLDC đặc tả cho lớp máy ảo chạy thiết bị dùng CLDC hỗ trợ profile” Thực tế, CLDC mang yêu cầu thỏa mãn tính chất máy ảo KVM cài đặt thỏa mãn yêu cầu CLDC Tổng quan toàn cảnh kiến trúc: 29 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Kiến trúc chung: Bắt đầu với hệ điều hành chủ (OS) làm sở máy ảo (VM) VM thuộc dạng: Đối với hệ thống tuân theo đặc tả CDC máy ảo Java “truyền thống” có nghĩa Java phiên chuẩn (Java Standard Edition) Đối với hệ thống tuân theo chuẩn mô tả CLDC, loại máy ảo KVM theo yêu cầu CLDC Các thư viện lõi CLDC CDC phần lớp ứng dụng Profile nằm lớp cao thiết kế để cung cấp công cụ đặc thù cho chủng loại thiết bị Hình 3.2 3.5 Tính tương thích phiên Java Trong phần đầu nghe nói đến châm ngơn java “Write once, run anywhere” Và biết qua khái niệm Configuration Profile, KVM Liệu châm ngơn cịn cho tất máy ảo Java? Câu trả lời tùy thuộc vào số điều kiệm 30 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.5.1 Ứng dụng J2SE tiếp tục chạy môi trường J2ME? J2ME phiên thu nhỏ từ phiên J2SE Rất nhiều thành phần loại bỏ để giữ cho tảng J2ME nhỏ hiệu Một ví dụ điển hình thư viện AWT (Abstract Window ToolKit) thay đổi để có khả hoạt động nhiều thiết bị - nhiều thiết bị di động khơng có khả để cung cấp thành phần giao diện người dùng tiên tiến cửa sổ gối chồng lên hay thực đơn dạng thả xuống Nếu bạn viết ứng dụng J2SE sử dụng lớp có sẵn J2ME Configuration ứng dụng bạn chạy hai tảng Nên nhớ, ứng dụng bị ràng buộc với khả sử dụng giao diện người dùng thấp, theo môi trường J2ME J2SE sử dụng tập API khác hồn tồn J2ME để điều khiển giao diện hình 3.5.2 Những ứng dụng J2ME chạy J2SE? Cùng quy tắc trên, bạn hạn chế mã bạn sử dụng lớp thư viện chung hai tảng, câu trả lời chạy Tuy nhiên, phần lớn phần mềm bạn viết cho thiết bị chạy J2ME yêu cầu giao diện cách điều khiển kiện đặc thù Như vậy, bạn gặp nhiều hạn chế muốn viết kiểu chương trình thích hợp cho hai tảng 3.6 Kết chương Sun tạo Java phiên Micro cho phép phát triển ứng dụng Java cho thiết bị có sức mạnh xử lý thấp dung lượng nhớ nhỏ so với ứng dụng tảng desktop truyền thống Những sản phầm sử dụng J2ME bao gồm thiết bị mobile, PDAs, pager, máy chơi games, hệ thống định vị, dẫn đường… J2ME chia thành hai phạm trù rộng mà biết gọi Configuration CDC tập hợp API dùng cho thiết bị hạn chế sức mạnh xử lý, hình nhớ mobile, PDAs, Pocket PC… Cấu hình Configuration gần gũi với máy ảo Java Với loại CDC, máy ảo Java hồn tồn tương thích với Java phiên chuẩn Configuration KVM máy ảo dùng phát triển cho CLDC thay JVM Trên lớp Configuration Profile thiết bị Ở bạn tìm thấy tập API dùng cho thiết kế giao diện người dùng, hỗ trợ nối mạng lưu trữ 31 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương Web service 4.1 Định nghĩa Một Web service định nghĩa tập phương thức định vị thông qua địa URL, phương thức công bố hệ thống mạng dùng khối để xây dựng ứng dụng phân tán Nói cách đơn giản hơn, web service tập hợp phương thức ứng dụng khác triệu gọi từ xa (RPC- Remote Procedure Call) để hình thành nên hệ ứng dụng phân tán 4.2 Thành phần Web service Các thành phần web service bao gồm HTTP, XML SOAP (Simple Object Access Protocol) Việc phát triển kỹ thuật điều hành tổ chức W3C (World Wide Web Consortium) Chúng ta đề cập đến kỹ thuật phần sau 4.3 Hoạt động Web service Hình 4.1: Hoạt động Web Service Một ứng dụng web service thường gồm phần: client server Client server giao tiếp với theo giao thức HTTP: Ứng dụng clie nt gửi lời gọi hàm đến server thơng qua gói tin HTTP request kế t thực thi hàm server hồi đáp thơng qua gói tin HTTP response 32 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.3.1 SOAP Các thông điệp định dạng theo chuẩn giao thức SOAP (Simple Object Access Protocol) Đây thực chất ngôn ngữ định nghĩa bên ngôn ngữ XML có sẵn 4.3.2 WSDL (Web Service Definition Language) Đây file XML chứa định nghĩa hàm Web service tương ứng Các nhà phát triển ứng dụng phải dựa vào nội dung file để biết Web service hỗ trợ hàm nhận tham số tương ứng, kết trả Nếu phát triển Web service mơi trường J2ME khơng thiết phải hiểu rõ cấu trúc file WSDL, cơng cụ Wireless Toolkit Sun cung cấp sẵn công cụ Stub Generator Chức công cụ đọ c file WSDL phát sinh thành lớp java tương ứng cho nhà phát triển ứng dụng 4.3.3 UDDI(Universal Description, Discovery, and Integration) Đây công cụ giúp cho nhà phát triển Web Service công bố thơng tin web service cho cộng đồng nhà phát triển ứng dụng Người dùng dựa vào thông tin để sử dụng web service ứng dụ ng riêng tạo thành hệ ứng dụng phân tán Mối quan hệ thành phần SOAP,WSDL,UDDI mơ tả sau: Một ứng dụng web service client cần sử dụng web service đ ược đặt nơi hệ thống mạng Trước tiên, client truy vấn đến mẫu tin UDDI, theo tên, loại hay thơng tin riêng biệt Khi xác đị nh web service cần tìm, client lấy thơng tin địa tài liệu WSDL web service dựa mẫu tin UDDI Tài liệu WSDL mô tả cách thức liên lạc với web service, định dạng gói tin truy vấn phản hồi theo đ ược mô tả XML schema Dựa vào thông tin client tạo gói tin SOAP tương ứng để liên lạc với server Ứng dụng web service cài đặt mức độ cao mơ hình sau: 33 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 4.2: Mơ hình client truy suất đến nhiều we b services lúc Hình 4.3: Một web service triệu tập đến web services khác 34 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.5 Các thành phần Web Service Web service dựa vào nhiều công nghệ bên HTTP, XML, SOAP… Mỗi công nghệ nêu có phạm vi ứng dụng sâu rộng địi hỏi nhiều thời gian tìm hiểu trình bày Luận văn khơng có tham vọng trình bày cặn kẽ tất công nghệ mà xin giới thiệu nét sơ lược cơng nghệ Việc trình bày nhằm mục đích cung cấp cho người đọc nhìn khái quát web service, nhiên trình phát triển ứng dụng web service thơng thường khơng địi hỏi kiến thức sâu lãnh vực có nhiều cơng cụ hỗ trợ lập trình viên “che” công việc phức tạp bên 4.5.1 SOAP (Simple Object Access Protocol) SOAP giao thức đơn giản nhằm mục đích trao đổi thơng tin môi trường ứng dụng phân tán SOAP dựa công nghệ XML bao gồm thành phần: Một “bì thư” (envelope) để quản lý thơng tin mở rộng mang tính điều khiển Một chuẩn mã hóa quy định cách thể thơng tin envelope SOAP sử dụng kết hợp với giao thức chuẩn khác SMTP, HTTP/HTTPS, FTP… Tuy nhiên có HTTP/HTTPS xem giao thức chuẩn để trao đổi gói tin SOAP Việc sử dụng SOAP giao thức trao đổi liệu chuẩn khiến web service có khả hoạt động nhiều mơi trường lập trình khác Java, NET,… 4.6 WSDL (Web Service Definition Language) Khi xây dựng hoàn thành web service cần phải cung cấp tài liệu mô tả để nhà phát triển client sử dụng web service Tài liệu mô tả web service cần mô tả vị trí web service, hàm cung cấp, tham số kèm theo… Tài liệu WSDL tài liệu thỏa mãn nhu cầu WSDL (Web Service Definition Language) ngôn ngữ dựa cú pháp XML dùng để định nghĩa web service Nói cách khác, file WSDL người trung gian đứng web service ứng dụng web service client Trong tài liệu WSDL, định nghĩa phương thức web service hỗ trợ, kiểu liệu xử dụng phương thức thông điệp 35 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com trao đổi client server ứng với phương thức Chúng ta phải định nghĩa kiểu liệu phức tạp mảng, lớp khai báo thêm chương trình, mảng lớp … cịn kiểu liệu int, string, float …đã hỗ trợ sẵn Sau đó, gộp chung định nghĩa kết hợp với giao thức mạng bên để hình thành end-point (tạm dịch đầu cuối) Hình 4.4 Web Service Endpoint Một endpoint interface (gọi tắt enpoint) gồm có nhiều ports, port quy định cách liên lạc với web service khác ứng với giao thức bên khác Sự kết hợp web service với giao thức mạng gọi binding, hình 2.4 thấy có binding khác Port sử dụng SOAP/HTTP binding, Port sử dụng SOAP/HTTPS binding, Port sử dụng dạng binding khác Như ứng với web service trên, ta có đến phương tiện khác để triệu gọi hàm Các hình thức binding thơng dụng SOAP/HTTP POST SOAP/HTTPS (hỗ trợ bảo mật thông qua SSL) Việc phát sinh file WSDL tự động thực công cụ (như Netbeans 6.8) khơng thiết phải hiểu rõ cấu trúc file WSDL Tuy nhiên, hiểu cấu trúc file WSDL cung cấp cho thêm nhiều tùy biến khả sửa lỗi (debug) tốt 36 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.6.1 Cấu trúc file WSDL Một tài liệu WSDL thực chất danh sách định nghĩa Trong file WSDL, phần tử gốc đặt tên "definitions" Phần tử chứa năm phần tử để định nghĩa web service Thứ tự xuất phần tử này: Phần tử "types": định nghĩa kiểu liệu dùng để trao đổi client server (chỉ định nghĩa kiể u liệu phức tạp structure, class…) Phần tử "message": định nghĩa thông điệp trao đổi Phần tử "portType": định nghĩa tập chức web service hỗ trợ thông điệp tương ứng chức Phần tử "binding": Sau định nghĩa port, ta cần rõ ràng buộc ports giao thức tầng Phần tử binding đảm nhiệm chức (sẽ đề cập kỹ phần sau) Phần tử "service": Có tác dụng gom ports định nghĩa thành nhóm 37 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương Kết luận 5.1 Kết luận Sau tháng nghiên cứu hướng dẫn ThS Nguyễn Việt Anh giúp đỡ nhiệt tình bạn nhóm khóa luận Bước đầu khóa luận thu số kết định 5.1.1 Các kết đạt Tìm hiểu J2ME, Webservice Xây dựng thành cơng chương trình “Hướng dẫn du lịch qua mobile theo ngữ cảnh” Ứng dụng demo gồm địa danh “Văn miếu Quốc Tử Giám” “Lăng tẩm Huế”, bước đầu chương trình xử lý chi tiết nội dung theo độ sâu mức Ngữ cảnh ứng dụng thời gian ghé thăm, font, profile Người dùng hồn tồn cài đặt ứng dụng điện thoại họ hỗ trợ kết nối GPRS 5.1.2 Các vấn đề chưa giải Chức người dùng tự bổ sung liệu cho chương trình chưa hồn thành Chưa giải việc tự động thay đổi lộ trình tác động ngoại cảnh trình du lịch Giải cố kết nối với Webservice chưa hoàn thành 5.2 Hướng phát triển tương lai Chương trình thực chức bản, ngữ cảnh đưa vào chương trình chưa nhiều giao diện chưa đẹp Trong thời gian tới hướng phát triển em là: Hoàn thiện giao diện để giúp người sử dụng thao tác dễ dàng hơ n Đưa thêm nhiều ngữ cảnh vào để chương trình thêm mềm dẻo người dùng Mở rộng sở liệu Với phát triển 3G, việc đưa video vào ứng dụng hướng phát triển tốt VideoStreaming cách giải tốt 38 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tài liệu tham khảo Tiếng việt: [1] Đặng Nguyễn Kim Anh, Đào Anh Tuấn Nghiên cức Java Mobile xây dựng ứng dụng minh họa Đại học Khoa Học Tự Nhiên, 2005 [2] Phạm Tấn Liêm Phát triển game di độg với J2ME, Nxb Giao Thông Vận Tải, 2005 [3] Phương Lan, Trần Tiến Dũng Java tập Nền tảng J2ME, tr15-22 English: [1] Bruce Eckel, Thinking in Java 3rd, Prentice Hall, New Jersey, 1998 Telecooperation Johannes Kepler University Linz, Austria, 2007 [2] Context-Aware Adaptation in a Mobile Tour Guide Ronny Kramer, Marko Modsching, Joerg Schulze, Klaus ten Hagen Department of Computer Science, University of Applied Sciences Zittau / Görlitz, Germany K.tenHagen@HS-ZiGr.de [3] David Chappell - Tyler Jewell, Java Web Services, O'Reilley, 2002 [4] Jason Lam J2ME Game De velopment with MIDP2 [5] Kim Topey,Java Web Service in A Nutshell, O'Reilley, 2003 [6] Michael Juntao Yuan, Enterprise J2ME™: Developing Mobile Java Application, Prentice Hall PTR, 2003 [7] Roger Riggs, Programming Wireless Devices with the Java™ Platform Micro Edition, Addision Wesley, 2003 39 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... Lê Xn Chính NGHIÊN CỨU LẬP TRÌNH CHO CÁC THIẾT BỊ DI ĐỘNG ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU LỊCH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Mạng truyền thơng máy tính Cán hướng dẫn: ThS Nguyễn... luanvanchat@agmail.com Lời cảm ơn! Sau năm tháng tìm hiểu thực hiện, luận văn ? ?Nghiên cứu lập trình cho thiết bị di động áp dụng cho toán hướng dẫn du lịch? ?? hoàn thành Để đạt kết này, em nỗ lực đồng thời nhận nhiều... Dynamic Tour Guide - Hướng dẫn viên du lịch di động( DTG) DTG thiết bị di động cho phép cá nhân hóa thơng tin tour du lịch Nó chọn địa điểm thu hút khách du lịch, lên lịch cho tour thăm quan cá

Ngày đăng: 01/11/2022, 19:19

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w