Báo Cáo Thực Tập Tốt Nghiệp : Ngiên cứu và xây dựng ứng dụng trên Google Web Toolkit

70 1K 0
Báo Cáo Thực Tập Tốt Nghiệp : Ngiên cứu và xây dựng ứng dụng trên Google Web Toolkit

Đ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

LỜI MỞ ĐẦU Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin, hầu hết các ứng dụng tin học đã được ứng dụng trong mọi lĩnh vực nghiên cứu khoa học cũng như đời sống con người. Nó đã trở thành công cụ hữu ích cho con người trong các hoạt động, lưu trữ, xử lý thông tin một cách nhanh chóng, đem lại hiệu quả cao nhất cho con người. Vì vậy chúng em đăng ký làm đồ án tốt nghiệp với mong muốn tiếp cận được nhiều kiến thức mới, áp dụng những gì đã học được vào thực tế, từ đó sẽ giúp chúng em hoàn thiện kiến thức hơn để làm việc một cách hiệu quả sau này. Như ta đã thấy, ứng dụng công nghệ thông tin đang đóng vai trò rất quan trọng trong cuộc sống con người. Nó giúp con người quản lý được những hệ thống lớn, phức tạp như nhà hàng, siêu thị… Nhằm khai thác thế mạnh của ứng dụng công nghệ thông tin trong quản lý, đặc biệt là ứng dụng trên nền tảng JAVA em đã chọn đề tài “Ngiên cứu và xây dựng ứng dụng trên Google Web Toolkit”. Hệ thống sẽ giúp việc bán hàng trờ nên nhanh chóng, giảm được nhiều chi phí do không phải thuê nhiều nhân viên phục vụ. Mặt khác, chúng em chọn đề tài này nhằm mục đích tìm hiểu sâu hơn về công nghệ JavaWeb và phát triển các ứng dụng trên nền tằng của Google. Trong quá trình làm đồ án, chúng em xin cảm ơn Thầy Nguyễn Trung Phú đã hướng dẫn và giúp đỡ chúng em trong quá trình thực hiện và hoàn thành đồ án này.

Hà Nội University of Industry Thực Tập Tốt Nghiệp Báo Cáo Thực Tập Tốt Nghiệp Đề tài : Ngiên cứu xây dựng ứng dụng Google Web Toolkit GVHD : Thầy Nguyễn Trung Phú Nhóm thực : STT Họ Tên Điện thoại Email Đỗ Kim Bảo 0973 868 796 dobao90@gmail.com Nguyễn Thị Lệ 0934 206 818 lent@itpro.vn Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang Hà Nội University of Industry Thực Tập Tốt Nghiệp LỜI MỞ ĐẦU Ngày nay, với phát triển mạnh mẽ công nghệ thông tin, hầu hết ứng dụng tin học ứng dụng lĩnh vực nghiên cứu khoa học đời sống người Nó trở thành công cụ hữu ích cho người hoạt động, lưu trữ, xử lý thông tin cách nhanh chóng, đem lại hiệu cao cho người Vì chúng em đăng ký làm đồ án tốt nghiệp với mong muốn tiếp cận nhiều kiến thức mới, áp dụng học vào thực tế, từ giúp chúng em hoàn thiện kiến thức để làm việc cách hiệu sau Như ta thấy, ứng dụng công nghệ thông tin đóng vai trò quan trọng sống người Nó giúp người quản lý hệ thống lớn, phức tạp nhà hàng, siêu thị… Nhằm khai thác mạnh ứng dụng công nghệ thông tin quản lý, đặc biệt ứng dụng tảng JAVA em chọn đề tài “Ngiên cứu xây dựng ứng dụng Google Web Toolkit” Hệ thống giúp việc bán hàng trờ nên nhanh chóng, giảm nhiều chi phí thuê nhiều nhân viên phục vụ Mặt khác, chúng em chọn đề tài nhằm mục đích tìm hiểu sâu công nghệ JavaWeb phát triển ứng dụng tằng Google Trong trình làm đồ án, chúng em xin cảm ơn Thầy Nguyễn Trung Phú hướng dẫn giúp đỡ chúng em trình thực hoàn thành đồ án Nhóm thực Đỗ Kim Bảo Nguyễn Thị Lệ Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang Hà Nội University of Industry Thực Tập Tốt Nghiệp TÓM TẮT ĐỒ ÁN Đề tài : “Ngiên cứu xây dựng ứng dụng Google Web Toolkit” : Ngày nay, với phát triển không ngừng hệ Web 2.0, việc xây dựng ứng dụng chạy web, gọi tắt RIA (Rich Internet Application) trở nên phổ biến Các ứng dụng sử dụng công nghệ AJAX (Asynchronous Javascript + XML) hoạt động hoàn toàn ứng dụng chạy desktop Hiện có khoảng 200-300 framework/toolkit nhiều nhà phát triển khác cung cấp cho việc xây dựng ứng dụng RIA, bật có Flash/Flex (Adobe), Silverlight (Microsoft), Google Web Toolkit (Google) … phát triển mạnh mẽ html5 hệ máy Apple Việc xây dựng ứng dụng web có nhiều lợi so với ứng dụng desktop thông thường Trong ứng dụng desktop thông thường phải tốn nhiều chi phí cho việc cài đặt, bảo trì, nâng cấp máy tính ứng dụng web chạy nơi đâu thông qua trình duyệt web mà cài đặt Tuy nhiên, ứng dụng web tồn hạn chế định, khả hỗ trợ ứng dụng, control không mạnh ứng dụng desktop, tốc độ chương trình phụ thuộc vào server, đường truyền  Vấn đề : Nghiên cứu : Tìm hiểu GWT : đặc điểm, cách sử dụng, plugin, công nghệ hỗ trợ cho GWT, nhận xét ưu khuyết điểm so với framework việc xây dựng ứng dụng web  Vấn đề : Xây dựng ứng dụng : Xây dựng phát triển thành công hệ thống sử dụng cho cho nhà hàng dựa công nghệ GWT nghiên cứu Đề tài sử dụng công nghệ Google web toolkit với thư viện mã nguồn mở SmartGWT xây dựng phát triển google để xây dựng hệ thống quản lí công việc đặt bàn ăn chỗ trực tiếp qua mạng internet cho nhà hàng khách sạn: - Ứng dụng chạy Web, khắc phục hạn chế ứng dụng desktop thông thường, chạy trình duyệt với tốc độ cao - Quản lý việc đặt bàn, phục vụ khách toán giao diện tương tác có độ tiện dụng cao - Hiển thị theo view người dùng đăng nhập, cho phép thao tác thiết bị theo view người dùng - Cho phép người dùng xem, tìm kiếm bàn ăn, ăn, vị trí thời gian, thực đề nghị gọi món, đặt bàn … thiết bị hay theo đơn - Xem chi tiết ăn, vị trí bàn ăn - Có chức quản lý bàn, quản lý nhân viên, quản lý user: quản lý tình trạng chi tiết trạng thái, báo cáo có thông tin sai sót - Đảm bảo tính xác liệu Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang Hà Nội University of Industry Thực Tập Tốt Nghiệp MỤC LỤC CHƯƠNG I : GIỚI THIỆU TỔNG QUAN .7 CHƯƠNG II : NGHIÊN CỨU VỀ GWT Hình 4.1.3 : SplitLayoutPanel 18 Hình 4.1.5 : TabLayoutPanel 19 Hình 4.2.2 : PushButton Widget 19 Hình 4.2.3 : RadioButton Widget .19 Hình 4.2.4 : Checkbox Widget 20 Hình 4.2.5 : DatePicker Widget .20 Hình 2.4.6 : ToggleButton widget 20 Hình 2.4.7 : TextBox Widget 20 Hình 4.2.8 : PasswordTextBox widget .20 Hình 4.2.8 : TextArea widget 21 Hình 4.2.9 : Hyperlink widget 21 Hình 4.2.10 : ListBox widget 21 Hình 4.2.11 : MenuBar widget 21 Hình 4.2.12 : Tree widget 21 Hình 4.2.13 : SuggestBox widget .22 Hình 4.2.14 : RichTextArea widget 22 Hình 4.2.15 : Table widget .22 Hình 4.2.16 : TabBar widget 23 Hình 4.2.18 : PopupPanel widget 23 Hình 4.2.23 : VerticalSplitPanel widget 24 Hình 4.2.24 : HorizontalSplitPanel 25 Hình 4.2.26 : DockPanel and DockLayoutPanel 25 Hình 4.2.27 : TabPanel and TabLayoutPanel 25 Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang Hà Nội University of Industry Thực Tập Tốt Nghiệp DANH SÁCH HÌNH VẼ CHƯƠNG I : GIỚI THIỆU TỔNG QUAN .7 CHƯƠNG II : NGHIÊN CỨU VỀ GWT Hình 4.1.3 : SplitLayoutPanel 18 Hình 4.1.5 : TabLayoutPanel 19 Hình 4.2.2 : PushButton Widget 19 Hình 4.2.3 : RadioButton Widget .19 Hình 4.2.4 : Checkbox Widget 20 Hình 4.2.5 : DatePicker Widget .20 Hình 2.4.6 : ToggleButton widget 20 Hình 2.4.7 : TextBox Widget 20 Hình 4.2.8 : PasswordTextBox widget .20 Hình 4.2.8 : TextArea widget 21 Hình 4.2.9 : Hyperlink widget 21 Hình 4.2.10 : ListBox widget 21 Hình 4.2.11 : MenuBar widget 21 Hình 4.2.12 : Tree widget 21 Hình 4.2.13 : SuggestBox widget .22 Hình 4.2.14 : RichTextArea widget 22 Hình 4.2.15 : Table widget .22 Hình 4.2.16 : TabBar widget 23 Hình 4.2.18 : PopupPanel widget 23 Hình 4.2.23 : VerticalSplitPanel widget 24 Hình 4.2.24 : HorizontalSplitPanel 25 Hình 4.2.26 : DockPanel and DockLayoutPanel 25 Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang Hà Nội University of Industry Thực Tập Tốt Nghiệp Hình 4.2.27 : TabPanel and TabLayoutPanel 25 Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang Hà Nội University of Industry Thực Tập Tốt Nghiệp CHƯƠNG I : GIỚI THIỆU TỔNG QUAN Lý chọn đề tài  Google Web Toolkit : - GWT Java framework mã nguồn mở cho phép bạn thoát khỏi ma trận công nghệ để viết ứng dụng AJAX khó khăn nhiều lỗi Với GWT, bạn phát triển kiểm tra lỗi ứng dụng AJAX ngôn ngữ Java, sử dụng công cụ phát triển Java tuỳ theo ý thích Khi bạn triển khai ứng dụng mình, biên dịch GWT dịch ứng dụng Java bạn sang Javascript HTML - GWT nhấn mạnh đến tính tái sử dụng, giải pháp hiệu để chống lại thách thức mà AJAX gặp phải  Ứng dụng : - Việc xây dựng ứng dụng web có nhiều lợi so với ứng dụng desktop thông thường Trong ứng dụng desktop thông thường phải tốn nhiều chi phí cho việc cài đặt, bảo trì, nâng cấp máy tính ứng dụng web chạy nơi đâu thông qua trình duyệt web mà cài đặt Tuy nhiên, ứng dụng web tồn hạn chế định, khả hỗ trợ ứng dụng, control không mạnh ứng dụng desktop, tốc độ chương trình phụ thuộc vào server, đường truyền Đối tượng nghiên cứu - Plugin for Eclips - GWT Designer - Tìm hiểu lập trình ứng dụng với công cụ Google Web Toolkit - Xây dựng phát trieent ứng dụng tảng Java với công cụng GoogleWebToolkit Phạm vi nghiên cứu - Tìm hiểu GWT : đặc điểm, cách sử dụng, plug-in, công nghệ hỗ trợ cho GWT, nhận xét ưu khuyết điểm so với framework việc xây dựng ứng dụng web - Xây dựng phát triển thành công hệ thống sử dụng cho cho nhà hàng dựa công nghệ GWT nghiên cứu Môi trường công cụ làm việc - Xây dựng ứng dụng môi trường Java với công cụ Eclips sử dụng kiểu Layout Widgets Google Web Toolkit - Sử dụng CSS HTML dung thiết kế giao diện Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang Hà Nội University of Industry Thực Tập Tốt Nghiệp CHƯƠNG II : NGHIÊN CỨU VỀ GWT Giới thiệu GWT - Google Web Toolkit (GWT) công cụ phát triển để xây dựng tối ưu hoá ứng dụng phức tạp trình duyệt web Mục tiêu phép phát triển sản xuất ứng dụng web hiệu suất cao mà không cần nhà phát triển có chuyên gia quirks trình duyệt, XMLHttpRequest, JavaScript GWT sử dụng nhiều sản phẩm Google, bao gồm Google Wave phiên AdWords Nó mã nguồn mở, hoàn toàn miễn phí, sử dụng hàng ngàn nhà phát triển giới  Hộp công cụ GWT - 1.1 - 1.2 - SDK: Các SDK GWT chứa thư viện Java API, trình biên dịch, máy chủ phát triển Nó cho phép bạn viết ứng dụng phía máy khách Java triển khai chúng JavaScript Speed Tracer: mở rộng Chrome cho phép bạn xác định vấn đề hiệu suất ứng dụng web bạn Plugin cho Eclipse IDE cung cấp hỗ trợ cho Google Web Toolkit dự án ứng dụng web Công cụ GWT Designer: GWT Designer cho phép bạn tạo giao diện người dùng vài phút với công cụ cho assist bố trí thông minh, kéo thả, hệ mã tự động SDK Viết ứng dụng web cho nhiều trình duyệt trình tẻ nhạt dễ bị lỗi Bạn dành 90% thời gian bạn vào làm việc xugn quanh quirks trình duyệt Ngoài ra, xây dựng, tái sử dụng, trì sở mã hóa lớn javaScript ajax thành phần cho khó khăn dễ vỡ Google web toolkit(GWT) giúp giảm bớt gánh nặng ngày cách cho phép cách nhà phát triển nhanh chóng xây dừng trì phức tạp hiệu javascript font-end ứng dụng ngôn ngữ lập trình java Bắt đầu với GWT SDK : Bạn cần có SDK phiên 1.5 phiên Nếu cần thiết bạn tải Java SE Development Kit (JDK) cài đặt cho tảng Cài đặt Apache Ant Tải Google Web Toolkit SDK giải nén ra, thư mục giải nén chứa thư viện, trình biên dịch và máy chủ mà người dùng cần để viết ứng dụng web Speed tracer Speed tracer công cụ để giúp bạn xác định sửa chữa vấn đề hiệu suất ứng dụng web bạn Nó hình dung số liệu lấy từ điểm thiết bị đo đạc mức đọ thấp bên trình duyệt phân tích chúng chạy ứng dụng bạn Speed Tracer có sãn phần mở rộng Chrome hoạt động tất tảng mở rộng hỗ trợ (Windows Linux) Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang Hà Nội University of Industry - 1.3 - 1.4 - - Thực Tập Tốt Nghiệp Sử dụng Speed Tracer bạn có hình ảnh tốt nơi mà thời gian chi tiêu ứng dụng bạn Điều bao gồm vấn đề gây phần tích cú pháp thực thi Java Script, bố trí, tính toán lại theo CSS phù hợp với chọn, xử lý kiện DOM, tải tài nguyên mạng… Plugin cho Eclipse Google Web Toolkit cung cấp công cụ mà đơn giản sử dụng với trình soạn thảo văn bản, dòng lệnh, trình duyệt Tuy nhiên, bạn sử dụng GWT với IDE yêu thích bạn Google cung cấp plugin cho Eclipse làm cho phát triển với GWT chí dễ dàng GWT designer GWT Designer bi- directional Java mạnh mẽ dễ sử dụng giao diện đồ họa thiết kế mà làm cho dễ dàng để tạo giao diện ứng dụng GWT mà không cần tốn nhiều thời gian để viết mã để hiển thị hình thức đơn giản Với GWT Designer bạn tạo cửa sổ phức tạp vài phút Sử dụng thiết kế trực quan mà Java tạo cho bạn Bạn dễ dàng thêm điều khiển cách sử dụng kéo thả, thêm xử lí kiện để điều khiển, thay đổi thuộc tính khác điều khiển cách sử dụng trình soạn thảo GWT Designer xây dựng plug-in cho Eclipse Eclipse IDE khác nhau(RAD, RSA, MyEclipse, JBuilder,vv) Trong xây dựng cú pháp trừu tượng (AST) để điều hướng mã nguồn sử dụng GEF để hiển thị quản lý trình bày trực quan SỬ dụng công cụ bố trí WYSIWYG, bạn không cần thiết phải viết dòng mã jav mã tạo cho bạn GWT Designer Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang Hà Nội University of Industry Thực Tập Tốt Nghiệp Cấu trúc GWT Hình 2.1 : Cấu trúc GWT Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 10 Hà Nội University of Industry Thực Tập Tốt Nghiệp 3.1.5 Class chi tiết sử dụng bàn ăn public class ChiTietSuDungBanAn implements Serializable{ @Id Long idChiTietSuDungBanAn; Key keyIdBanAn; Key keyIdHoaDon; String tinhTrangThanhToan,tinhTrangPhucVu,ngayTaoChiTietHoaDon; double tongTien; public double getTongTien() { return tongTien; } public void setTongTien(double tongTien) { this.tongTien = tongTien; } Integer gioBatDau,gioKetThuc; public Key getKeyIdBanAn() { return keyIdBanAn; } public void setKeyIdBanAn(Key keyIdBanAn) { this.keyIdBanAn = keyIdBanAn; } public Key getKeyIdHoaDon() { return keyIdHoaDon; } public void setKeyIdHoaDon(Key keyIdHoaDon) { this.keyIdHoaDon = keyIdHoaDon; } public Long getIdChiTietSuDungBanAn() { return idChiTietSuDungBanAn; } public void setIdChiTietSuDungBanAn(Long idChiTietSuDungBanAn) { this.idChiTietSuDungBanAn = idChiTietSuDungBanAn; } public String getTinhTrangThanhToan() { return tinhTrangThanhToan; } public void setTinhTrangThanhToan(String tinhTrangThanhToan) { this.tinhTrangThanhToan = tinhTrangThanhToan; } public String getTinhTrangPhucVu() { return tinhTrangPhucVu; } public void setTinhTrangPhucVu(String tinhTrangPhucVu) { this.tinhTrangPhucVu = tinhTrangPhucVu; } public String getNgayTaoChiTietHoaDon() { return ngayTaoChiTietHoaDon; } public void setNgayTaoChiTietHoaDon(String ngayTaoChiTietHoaDon) { this.ngayTaoChiTietHoaDon = ngayTaoChiTietHoaDon; } public Integer getGioBatDau() { return gioBatDau; } public void setGioBatDau(Integer gioBatDau) { Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 56 Hà Nội University of Industry Thực Tập Tốt Nghiệp this.gioBatDau = gioBatDau; } public Integer getGioKetThuc() { return gioKetThuc; } public void setGioKetThuc(Integer gioKetThuc) { this.gioKetThuc = gioKetThuc; } } 3.1.6 Class chi tiết buffet public class ChitTietBuffet implements Serializable { @Id Long IdBuffet; Key keyBanAn; Integer soNguoi; double tongTien, donGia; String tinhTrangThanhToan; String doiTuong; Key keyIDChiTietSuDungBanAn; public String getDoiTuong() { return doiTuong; } public void setDoiTuong(String doiTuong) { this.doiTuong = doiTuong; } public Key getKeyIDChiTietSuDungBanAn() { return keyIDChiTietSuDungBanAn; } public void setKeyIDChiTietSuDungBanAn( Key keyIDChiTietSuDungBanAn) { this.keyIDChiTietSuDungBanAn = keyIDChiTietSuDungBanAn; } public double getDonGia() { return donGia; } public void setDonGia(double donGia) { this.donGia = donGia; } public String getTinhTrangThanhToan() { return tinhTrangThanhToan; } public void setTinhTrangThanhToan(String tinhTrangThanhToan) { this.tinhTrangThanhToan = tinhTrangThanhToan; } public Long getIdBuffet() { return IdBuffet; } public void setIdBuffet(Long idBuffet) { IdBuffet = idBuffet; } public Key getKeyBanAn() { return keyBanAn; } public void setKeyBanAn(Key keyBanAn) { Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 57 Hà Nội University of Industry Thực Tập Tốt Nghiệp this.keyBanAn = keyBanAn; } public Integer getSoNguoi() { return soNguoi; } public void setSoNguoi(Integer soNguoi) { this.soNguoi = soNguoi; } public double getTongTien() { return tongTien; } public void setTongTien(double tongTien) { this.tongTien = tongTien; } } 3.1.7 Class chi tiết gọi ăn public class ChiTietGoiMonAn implements Serializable{ @Id Long idChiTietGoiMon; Key keyIdMonAn; Key keyIdChiTietSuDungBanAn; Key keyIdBanAn; Integer soLuong; String hoanThanh,ghiChu; double tongTien; String tinhTrangThanhToan; String ngayGoiMon; public String getNgayGoiMon() { return ngayGoiMon; } public void setNgayGoiMon(String ngayGoiMon) { this.ngayGoiMon = ngayGoiMon; } public Long getIdChiTietGoiMon() { return idChiTietGoiMon; } public void setIdChiTietGoiMon(Long idChiTietGoiMon) { this.idChiTietGoiMon = idChiTietGoiMon; } public Key getKeyIdMonAn() { return keyIdMonAn; } public void setKeyIdMonAn(Key keyIdMonAn) { this.keyIdMonAn = keyIdMonAn; } public Key getKeyIdChiTietSuDungBanAn() { return keyIdChiTietSuDungBanAn; } public void setKeyIdChiTietSuDungBanAn( Key keyIdChiTietSuDungBanAn) { this.keyIdChiTietSuDungBanAn = keyIdChiTietSuDungBanAn; } public Key getKeyIdBanAn() { return keyIdBanAn; Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 58 Hà Nội University of Industry Thực Tập Tốt Nghiệp } public void setKeyIdBanAn(Key keyIdBanAn) { this.keyIdBanAn = keyIdBanAn; } public Integer getSoLuong() { return soLuong; } public void setSoLuong(Integer soLuong) { this.soLuong = soLuong; } public String getHoanThanh() { return hoanThanh; } public void setHoanThanh(String hoanThanh) { this.hoanThanh = hoanThanh; } public String getGhiChu() { return ghiChu; } public void setGhiChu(String ghiChu) { this.ghiChu = ghiChu; } public double getTongTien() { return tongTien; } public void setTongTien(double tongTien) { this.tongTien = tongTien; } public String getTinhTrangThanhToan() { return tinhTrangThanhToan; } public void setTinhTrangThanhToan(String tinhTrangThanhToan) { this.tinhTrangThanhToan = tinhTrangThanhToan; } } 3.1.8 Class ăn public class MonAn implements Serializable { @Id String tenMon; String nguyenLieu,gioiThieu,donViTinh,donViTienTe,loaiMonAn; Integer donGia; boolean check; public String getLoaiMonAn() { return loaiMonAn; } public void setLoaiMonAn(String loaiMonAn) { this.loaiMonAn = loaiMonAn; } public boolean isCheck() { return check; } public void setCheck(boolean check) { this.check = check; } Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 59 Hà Nội University of Industry Thực Tập Tốt Nghiệp public Integer getDonGia() { return donGia; } public void setDonGia(Integer donGia) { this.donGia = donGia; } public String getDonViTinh() { return donViTinh; } public void setDonViTinh(String donViTinh) { this.donViTinh = donViTinh; } public String getDonViTienTe() { return donViTienTe; } public void setDonViTienTe(String donViTienTe) { this.donViTienTe = donViTienTe; } public String getTenMon() { return tenMon; } public void setTenMon(String tenMon) { this.tenMon = tenMon; } public String getNguyenLieu() { return nguyenLieu; } public void setNguyenLieu(String nguyenLieu) { this.nguyenLieu = nguyenLieu; } public String getGioiThieu() { return gioiThieu; } public void setGioiThieu(String gioiThieu) { this.gioiThieu = gioiThieu; } } 3.1.9 Class thông tin đặt bàn public class ThongTinDatBan implements Serializable{ @Id Long idDB; String hoTen,email,diaChi,ngayDat,loaiBan,ghiChu,ngaySuDung , soDT,tinhTrangPhucVu; public String getTinhTrangPhucVu() { return tinhTrangPhucVu; } public void setTinhTrangPhucVu(String tinhTrangPhucVu) { this.tinhTrangPhucVu = tinhTrangPhucVu; } Integer soLuong,gioDat; public String getSoDT() { return soDT; } public void setSoDT(String soDT) { Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 60 Hà Nội University of Industry Thực Tập Tốt Nghiệp this.soDT = soDT; } public String getNgaySuDung() { return ngaySuDung; } public void setNgaySuDung(String ngaySuDung) { this.ngaySuDung = ngaySuDung; } public String getNgayDat() { return ngayDat; } public void setNgayDat(String ngayDat) { this.ngayDat = ngayDat; } public String getLoaiBan() { return loaiBan; } public void setLoaiBan(String loaiBan) { this.loaiBan = loaiBan; } public String getGhiChu() { return ghiChu; } public void setGhiChu(String ghiChu) { this.ghiChu = ghiChu; } public Integer getSoLuong() { return soLuong; } public void setSoLuong(Integer soLuong) { this.soLuong = soLuong; } public Integer getGioDat() { return gioDat; } public void setGioDat(Integer gioDat) { this.gioDat = gioDat; } public Long getIdDB() { return idDB; } public void setIdDB(Long idDB) { this.idDB = idDB; } public String getHoTen() { return hoTen; } public void setHoTen(String hoTen) { this.hoTen = hoTen; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 61 Hà Nội University of Industry Thực Tập Tốt Nghiệp public String getDiaChi() { return diaChi; } public void setDiaChi(String diaChi) { this.diaChi = diaChi; } } 3.2 Class đăng kí sử dụng ObjectifyService.register(NhanVien.class); ObjectifyService.register(KhachHang.class); ObjectifyService.register(MonAn.class); ObjectifyService.register(BanAn.class); ObjectifyService.register(HoaDon.class); ObjectifyService.register(ThongTinDatBan.class); ObjectifyService.register(ChitTietBuffet.class); ObjectifyService.register(ChiTietSuDungBanAn.class); ObjectifyService.register(ChiTietGoiMonAn.class); 3.3 Một số lớp quan trọng việc truy xuất liệu Class @RemoteServiceRelativePath("greet") public interface GreetingService extends RemoteService {} - Định nghĩa interface (YourService) kế thừa từ interface RemoteService liệt kê tất phương thức RPC Class public class GreetingServiceImpl extends RemoteServiceServlet implements GreetingService {} - Tạo lớp thực thi (YourServiceImpl) kế thừa lớp RemoteServiceServlet thực thi interface tạo Class public interface GreetingServiceAsync {} - Định nghĩa interface bất đồng (YourServiceAsync), interface dùng để gọi phương thức phía Client Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 62 Hà Nội University of Industry Thực Tập Tốt Nghiệp Thiết kế giao diện Hình 4.1 : Trang chủ Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 63 Hà Nội University of Industry Thực Tập Tốt Nghiệp Hình 4.2 : Trang tin tức Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 64 Hà Nội University of Industry Thực Tập Tốt Nghiệp Hình 4.3 : Trang thực đơn Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 65 Hà Nội University of Industry Thực Tập Tốt Nghiệp Lập trình hệ thống - Ứng dụng cần phải làm việc với Server GWT cung cấp cho hai cách để giao tiếp với Server - Dùng RPC để gửi nhận đối tượng serialize - Sử dụng lớp HTTP client GWT gửi HTTP request  Remove Proceduce Call (RPC) - RPC cung cấp chế client server chúng trao đổi đối tượng với thông qua giao thức HTTP Các mã lệnh bên phía Server gọi Client gọi service Nó phương thức trao đổi liệu Server người dùng - Bên phía Client sử dụng lớp proxy lớp sinh tự động để thực gọi service Để thực gọi service đối tượng gửi từ client đến server thông qua tham số, server gửi lại giá trị  Cơ chế RPC - Mỗi service có tập interface lớp phụ trợ Ba thành phần liên quan thực gọi phương thức bên server - Service chạy bên phía server (phương thức muốn gọi) - Mã lệnh bên phía client để gọi service - Các đối tượng chứa liệu trao đổi client server - Cả client server có khả serialize deserialize liệu từ đối tượng truyền thông qua mạng  Theo sơ đồ phải thực sau: - Định nghĩa interface (YourService) kế thừa từ interface RemoteService liệt kê tất phương thức RPC - Tạo lớp thực thi (YourServiceImpl) kế thừa lớp RemoteServiceServlet thực thi interface tạo - Định nghĩa interface bất đồng (YourServiceAsync), interface dùng để gọi phương thức phía Client Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 66 Hà Nội University of Industry Thực Tập Tốt Nghiệp  Các gói project : Hình 5.1 : Các thành phần project Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 67 Hà Nội University of Industry Thực Tập Tốt Nghiệp  Com.itpro.myproject.Myproject.client : Gói chứa Uibinder làm việc với giao diện phương thức xử lý, dịnh dạng css Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 68 Hà Nội University of Industry Thực Tập Tốt Nghiệp Hình 5.2 : Các thành phần gói Com.itpro.myproject.Myproject.client  com.itpro.myproject.Myproject.client.entity : Gói chứa class tương ứng với sở liệu Hình 5.3 : Các class gói com.itpro.myproject.Myproject.client.entity  com.itpro.myproject.Myproject.client.Images, com.itpro.myproject.Myproject.client.Images.DoAn, com.itpro.myproject.Myproject.client.Images.DoUong gói chứa hình ảnh sử dụng project  com.itpro.myproject.Myproject.server : gói chứa class GreetingServiceImpl dùng để đăng kí bảng sở liệu với Objecttify, thao tác với sở liệu Sản phẩm http://3.itprolent.appspot.com/ Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 69 Hà Nội University of Industry Thực Tập Tốt Nghiệp CHƯƠNG IV : TỔNG KẾT Kết đạt  Vấn đề : Nghiên cứu : Tìm hiểu GWT : đặc điểm, cách sử dụng, plugin, công nghệ hỗ trợ cho GWT, nhận xét ưu khuyết điểm so với framework việc xây dựng ứng dụng web  Vấn đề : Xây dựng ứng dụng : Xây dựng phát triển thành công hệ thống sử dụng cho cho nhà hàng dựa công nghệ GWT nghiên cứu Đề tài sử dụng công nghệ Google web toolkit với thư viện mã nguồn mở SmartGWT xây dựng phát triển google để xây dựng hệ thống quản lí công việc đặt bàn ăn chỗ trực tiếp qua mạng internet cho nhà hàng khách sạn: - Ứng dụng chạy Web, khắc phục hạn chế ứng dụng desktop thông thường, chạy trình duyệt với tốc độ cao - Quản lý việc đặt bàn, phục vụ khách toán giao diện tương tác có độ tiện dụng cao - Hiển thị theo view người dùng đăng nhập, cho phép thao tác thiết bị theo view người dùng - Cho phép người dùng xem, tìm kiếm bàn ăn, ăn, vị trí thời gian, thực đề nghị gọi món, đặt bàn … thiết bị hay theo đơn - Xem chi tiết ăn, vị trí bàn ăn - Có chức quản lý bàn, quản lý nhân viên, quản lý user: quản lý tình trạng chi tiết trạng thái, báo cáo có thông tin sai sót - Đảm bảo tính xác liệu Hạn chế, hướng phát triển - Phần mềm chưa vào hoạt động thực tế - Trong thời gian tới chúng em cố gắng hoàn thiện để phát triển đề tài thực tập tốt nghiệp lên thành đồ án tốt nghiệp Tài liệu tham khảo [1] https://developers.google.com/web-toolkit/ [2] http://www.javapassion.com/ajax/GWT.pdf [3] http://examples.roughian.com/index.htm [4] Nguồn thông tin tìm kiếm google.com.vn Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 70 [...]... Industry Thực Tập Tốt Nghiệp Hình 4.2.8 : TextArea widget Hình 4.2.9 : Hyperlink widget Hình 4.2.10 : ListBox widget Hình 4.2.11 : MenuBar widget Hình 4.2.12 : Tree widget Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 21 Hà Nội University of Industry Thực Tập Tốt Nghiệp Hình 4.2.13 : SuggestBox widget Hình 4.2.14 : RichTextArea widget Hình 4.2.15 : Table widget Nghiên Cứu & Xây Dựng Ứng Dụng. .. 4.2.1 : Button Widget Hình 4.2.2 : PushButton Widget Hình 4.2.3 : RadioButton Widget Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 19 Hà Nội University of Industry Thực Tập Tốt Nghiệp Hình 4.2.4 : Checkbox Widget Hình 4.2.5 : DatePicker Widget Hình 2.4.6 : ToggleButton widget Hình 2.4.7 : TextBox Widget Hình 4.2.8 : PasswordTextBox widget Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit. .. : FlowPanel widget Hình 4.2.23 : VerticalSplitPanel widget Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 24 Hà Nội University of Industry Thực Tập Tốt Nghiệp Hình 4.2.24 : HorizontalSplitPanel Hình 4.2.25 : SplitLayoutPanel Hình 4.2.26 : DockPanel and DockLayoutPanel Hình 4.2.27 : TabPanel and TabLayoutPanel Hình 4.2.28 : DisclosurePanel Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit. .. Dụng Với Google Web Toolkit Trang 22 Hà Nội University of Industry Thực Tập Tốt Nghiệp Hình 4.2.16 : TabBar widget Hình 4.2.17 : DialogBox widget Hình 4.2.18 : PopupPanel widget Hình 4.2.19 : StackPanel and StackLayoutPanel* widget Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 23 Hà Nội University of Industry Thực Tập Tốt Nghiệp Hình 4.2.20 : HorizontalPanel widget Hình 4.2.21 : VerticalPanel... Industry Thực Tập Tốt Nghiệp 5 Xây dựng giao diện Web( Sử dụng XML)  Trung tâm của ứng dụng GWT là một trang web Và khi bạn lập trình web thì tốt nhất bạn nên sử dụng HTML và CSS là cách tự nhiên nhất UiBinder cho phép bạn làm điều đ : xây dựng các ứng dụng của bạn như các trang HTML với các widget GWT ngay trong trang html (XML)  Ngoài việc để xây dựng giao diện người dùng một cách tự nhiên và ngắn... ngoại trừ việc nó sử dụng hệ thống layout để đạt được điều này mà không sử dụng tables, và một cách dự đoán được Bạn sẽ thường xuyên sử dụng để xây dựng ở cấp ứng dụng cấu trúc, như trong ví dụ sau đây: Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 16 Hà Nội University of Industry Thực Tập Tốt Nghiệp Hình 4.1.2 : DockLayoutPanel - Lưu ý rằng DockLayoutPanel yêu cầu sử dụng các đơn vị thống... World Với thẻ , bạn có thể định nghĩa CSS cho giao diện của bạn khi cần thiết Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 29 Hà Nội University of Industry Thực Tập Tốt Nghiệp pretty { background-color: Skyblue; } Hello, Một... addStyleNames là số nhiều Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 30 Hà Nội University of Industry Thực Tập Tốt Nghiệp Tác động vào inline Styles Code của bạn sẽ cần truy cập vào ít nhất một số các style mẫu của bạn sử dụng Ví dụ, giả sử widget của bạn cần thay đổi màu sắc khi nó được kích hoạt hay vô hiệu hóa: ... cách sử dụng DockLayoutPanel: Top Body Sidebar Sidebar Sidebar Các thành phần bên trong DockLayoutPanel được khai báo trong các vị trí khác nhau như và Không... nghiên cứu chúng: Objectify : là một giao diện rất đơn giản và thuận tiện để các kho dữ liệu google app engine giúp bạn tránh một số sự phức tạp được trình bày bởi JDO/JPA và kho dữ liệu cấp thấp Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 12 Hà Nội University of Industry 3.1 - Thực Tập Tốt Nghiệp Twig: là một đối tượng giao diện cấu hình để cải thiện hỗ trợ cho tính đa hình, thừa kế và ... Lệ Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang Hà Nội University of Industry Thực Tập Tốt Nghiệp TÓM TẮT ĐỒ ÁN Đề tài : Ngiên cứu xây dựng ứng dụng Google Web Toolkit : Ngày nay,... Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 25 Hà Nội University of Industry Thực Tập Tốt Nghiệp Xây dựng giao diện Web( Sử dụng XML)  Trung tâm ứng dụng GWT trang web Và bạn... thiết Nghiên Cứu & Xây Dựng Ứng Dụng Với Google Web Toolkit Trang 29 Hà Nội University of Industry Thực Tập Tốt Nghiệp pretty

Ngày đăng: 19/04/2016, 21:45

Từ khóa liên quan

Mục lục

  • CHƯƠNG I : GIỚI THIỆU TỔNG QUAN.

  • CHƯƠNG II : NGHIÊN CỨU VỀ GWT.

  • Hình 4.1.3 : SplitLayoutPanel

  • Hình 4.1.5 : TabLayoutPanel

  • Hình 4.2.2 : PushButton Widget

  • Hình 4.2.3 : RadioButton Widget

  • Hình 4.2.4 : Checkbox Widget

  • Hình 4.2.5 : DatePicker Widget

  • Hình 2.4.6 : ToggleButton widget

  • Hình 2.4.7 : TextBox Widget

  • Hình 4.2.8 : PasswordTextBox widget

  • Hình 4.2.8 : TextArea widget

  • Hình 4.2.9 : Hyperlink widget

  • Hình 4.2.10 : ListBox widget

  • Hình 4.2.11 : MenuBar widget

  • Hình 4.2.12 : Tree widget

  • Hình 4.2.13 : SuggestBox widget

  • Hình 4.2.14 : RichTextArea widget

  • Hình 4.2.15 : Table widget

  • Hình 4.2.16 : TabBar widget

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan