Tìm hiểu công nghệ và xây dựng framework giúp phát triển nhanh các website

77 209 0
Tìm hiểu công nghệ và xây dựng framework giúp phát triển nhanh các website

Đ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 CAM ĐOAN Tôi - Nguyễn Phan Huy, học viên lớp Cao học CNTT 2013 - 2015 Trường Đại học Bách khoa Hà Nội - cam kết Luận văn tốt nghiệp công trình nghiên cứu thân hướng dẫn TS Nguyễn Thanh Hùng - Viện Công Nghệ Thông Tin Truyền Thông - Đại học Bách Khoa Hà Nội Các kết Luận văn tốt nghiệp trung thực, không chép toàn văn công trình khác Hà Nội, ngày 12 tháng năm 2015 Học viên: Nguyễn Phan Huy Lớp: 13BCNTT2 LỜI CẢM ƠN Đầu tiên, xin bày tỏ lòng biết ơn sâu sắc tới Thầy giáo, TS Nguyễn Thanh Hùng - Bộ môn Công nghệ phần mềm - Viện Công Nghệ Thông Tin Truyền Thông - Đại học Bách Khoa Hà Nội Thầy khuyến khích tận tình hướng dẫn suốt trình thực luận văn Chính nhờ quan tâm bảo ý kiến đóng góp quý báu Thầy, hoàn thành luận văn Tôi xin chân thành cảm ơn tập thể thầy, cô giáo Viện Công Nghệ Thông Tin Truyền Thông - trường Đại học Bách Khoa Hà Nội tận tình giảng dạy truyền đạt cho kiến thức, kinh nghiệm quý báu Tôi xin cảm ơn đồng nghiệp công ty TNHH MTV nước Hà Nội tạo điều kiện thời gian để học tập hoàn thành luận văn Và cuối xin chân thành cảm ơn gia đình, bạn bè ủng hộ động viên suốt năm học vừa qua MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC KÝ HIỆU CHỮ VIẾT TẮT DANH MỤC HÌNH CHƯƠNG 1: MỞ ĐẦU 1.1 Lý lựa chọn tính cấp thiết đề tài 1.2 Đối tượng nghiên cứu 1.3 Phạm vi phương pháp nghiên cứu 1.4 Một số đóng góp luận văn CHƯƠNG 2: CƠ SỞ THỰC TIỄN VÀ CƠ SỞ LÝ THUYẾT 2.1 Các vấn đề thực tế việc phát triển Website 10 2.1.1 Web 2.0 kỹ thuật Ajax 10 2.1.2 Ngôn ngữ lập trình 11 2.1.3 Các vấn đề giao diện 12 2.1.4 Tích hợp phát triển ứng dụng web website có sẵn 13 2.1.5 Đề xuất giải pháp giúp phát triển nhanh website 14 2.2 Các công nghệ áp dụng 14 2.2.1 Công nghệ Google Web Toolkit (GWT) 14 2.2.1.1 Khái niệm GWT 15 2.2.1.2 Các thành phần GWT 15 2.2.2 Công nghệ Google App Engine 16 2.2.2.1 Khái niệm Google App Engine 16 2.2.2.2 Môi trường ứng dụng 18 2.2.2.3 Giới hạn 18 2.2.2.4 Sự khác biệt với dịch vụ khác 19 2.2.3 PHP hướng đối tượng Mô hình MVC 19 2.2.3.1 PHP hướng đối tượng 20 2.2.3.2 Mô hình MVC 21 2.2.4 Smarty Template Engine 22 2.2.4.1 Khái niệm Smarty 23 2.2.4.2 Tốc độ xử lý website có sử dụng Smarty 23 2.2.4.3 Tính bảo mật 24 2.2.4.4 Những tính Smarty 24 2.2.5 Website Framewok 25 2.2.5.1 Software Framework - Khung làm việc phần mềm 25 2.2.5.2 Website framework - Khung làm việc website 26 CHƯƠNG 3: XÂY DỰNG FRAMEWORK GIÚP PHÁT TRIỂN NHANH CÁC WEBSITE 27 3.1 Thiết kế kiến trúc Ligker framework 27 3.1.1 Các thành phần Ligker framework 28 3.1.1.1 Front Controller - phận xử lý đầu vào 28 3.1.1.2 Core Layer - lớp lõi 28 3.1.1.3 Application Layer - lớp ứng dụng 29 3.1.1.4 Database - sở liệu 29 3.1.2 Quan hệ kế thừa thành phần Ligker framework 30 3.1.2.1 Các thành phần có quan hệ kế thừa 30 3.1.2.2 Sử dụng quan hệ kế thừa để áp dụng Core functions cho nhiều dự án 31 3.1.3 Nguyên lý hoạt động Ligker framework 32 3.1.3.1 Luồng thông tin Ligker framework 32 3.1.3.2 Đặc tả luồng thông tin mô hình MVC Application layer 34 3.1.3.3 Một vài nhận xét quy trình hoạt động Ligker framework 35 3.1.4 Mối quan hệ Page - Position - Module Ligker framework 36 3.1.4.1 Page – trang 36 3.1.4.2 Position – vị trí trang 37 3.1.4.3 Module 37 3.1.5 Cấu trúc thư mục Ligker framework 38 3.1.5.1 Thư mục Core 39 3.1.5.2 Thư mục project 40 3.2 Xử lý phía máy khách (client) 42 3.2.1 Sử dụng Google Web Toolkit 42 3.2.1.1 Viết mã HTML 44 3.2.1.2 Thực Ajax 44 3.2.2 Sử dụng Template Engine 45 3.2.2.1.Viết mã HTML 45 3.2.2.2 Thực Ajax 47 3.2.3 Sử dụng kết hợp Google Web Toolkit Template Engine 48 3.3 Xử lý phía máy chủ (server) 48 3.3.1 Cấu hình ứng dụng 49 3.3.2 Phương thức truy xuất sở liệu 49 3.3.2.1 Kết nối sở liệu 49 3.3.2.2 Truy vấn sở liệu 50 3.3.3 Nền tảng máy chủ 51 3.3.3.1 Sử dụng Google App Engine 51 3.3.3.2 Sử dụng hosting Apache 53 3.4 Một số kết áp dụng Ligker framework thực tiễn 53 3.4.1 Một số dự án thức tế áp dụng Ligker 53 3.4.1.1 Chương trình Quản lý lịch công tác tuần trực tuyến 53 3.4.1.2 Phần mềm quản lý Công văn 55 3.4.1.3 Phần mềm Quản lý bán hàng, xuất nhập kho, kế toản công ty Beful 57 3.4.2 Các đóng góp kết áp dụng Ligker framework việc phát triển nhanh ứng dụng Web 58 3.4.2.1 Đóng góp chung cho ba ứng dụng thực tế 58 3.4.2.2 Đóng góp chức cụ thể 59 3.4.3 So sánh việc không sử dụng có sử dụng Framework việc phát triển Website 71 3.4.3.1 Các tiêu chí so sánh 71 3.4.3.2 Kết so sánh 73 3.5 Đưa ứng dụng cộng đồng 74 CHƯƠNG : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 75 TÀI LIỆU THAM KHẢO 77 DANH MỤC KÝ HIỆU CHỮ VIẾT TẮT Chữ viết tắt Chữ viết đầy đủ Framework Khung làm việc Ligker framework Tên riêng khung làm việc xây dựng luận văn GWT Google Web Toolkit GAE Google App Engine MVC Model - View - Controller PDO PHP Data Objects Server Máy chủ (truyền thống) Desktop, PC Máy tính cá nhân CMS Content Management System - hệ thống quản trị nội dung Debug Gỡ lỗi Developer, Coder, Lập trình viên Programmer Designer Thiết kế viên Rewrite URL Chuyển dạng địa Core Lõi hệ thống Cache Bản tài liệu Web Request Yêu cầu (từ trình duyệt) Project Leader Người đứng đầu chịu trách nhiệm dự án DANH MỤC HÌNH Hình 3.1: Sơ đồ tổng quát mô tả thành phần nguyên lý hoạt động Ligker framework 27 Hình 3.2: Mô tả quan hệ kế thừa thành phần hệ thống 30 Hình 3.3: Minh họa việc sử dụng Core functions cho nhiều dự án 31 Hình 3.4: Đặc tả quan hệ kế thừa Class_1.1 với base functions Core functions 31 Hình 3.5: luồng thông tin Ligker framework 32 Hình 3.6: Luồng thông tin mô hình MVC 34 Hình 3.7: Hình ảnh minh họa cho web page 36 Hình 3.8: Các position module web page 37 Hình 3.9: Cấu trúc thư mục Ligker framework 38 Hình 3.10: Các thành phần thư mục default_library 39 Hình 3.11: Các thành phần thư mục project 40 Hình 3.12: Các thành phần thư mục library 41 Hình 3.13: Cấu trúc thư mục Google Web Toolkit project 43 Hình 3.14: Vị trí thư mục Google Web Toolkit Ligker framework 43 Hình 3.15: Một đoạn mã Java viết Google Web Toolkit 44 Hình 3.16: Đoạn mã Java viết Google Web Toolkit sinh Javascript 45 Hình 3.17: Thư mục Smarty Ligker framework 45 Hình 3.18: Cấu hình Smarty Ligker framework 46 Hình 3.19: Một thư mục chứa template dự án có sử dụng Ligker framework 46 Hình 3.20: Vị trí file Javascript sử dụng mặc định Ligker framework 47 Hình 3.21: Vị trí file cấu hình hệ thống sử dụng Ligker framework 49 Hình 3.22: Sử dụng Google App Engine máy tính cá nhân 52 Hình 3.23: Minh họa giao diện dự án Quản lý lịch công tác tuần Công ty Nước Hà Nội 55 Hình 3.24 : Một trang dự án Quản lý công văn 56 Hình 3.25 : Một số giao diện ứng dụng Quản lý Công văn tảng điện thoại di động 57 Hình 3.26: Minh họa giao diện dự án Beful 58 CHƯƠNG 1: MỞ ĐẦU 1.1 Lý lựa chọn tính cấp thiết đề tài Hiện nay, tác giả luận văn làm việc Tổng công ty Nước Hà Nội, có tham gia số dự án lập trình web công ty phần mềm Koolsoft Đối với dự án vừa nhỏ, kinh nghiệm cho thấy sử dụng website framework có sẵn thị trường làm ảnh hưởng tới tốc độ tải trang; khả tùy biến, sửa lỗi lập trình viên; đặc biệt gặp khó khăn nâng cấp hệ thống để tích hợp với công nghệ Với lý nêu trên, định theo học Thạc sỹ trường Đại học Bách Khoa Hà Nội, theo hướng nghiên cứu: “Tìm hiểu công nghệ xây dựng Framework giúp phát triển nhanh Website” 1.2 Đối tượng nghiên cứu - Nghiên cứu vấn đề việc phát triển website Nội dung trình bày chi tiết chương luận văn; - Nghiên cứu công nghệ liên quan đến lập trình web Nội dung trình bày chi tiết chương luận văn; - Nghiên cứu chế hoạt động cách thức xây dựng website framework Trong trọng tới việc áp dụng công nghệ để xây dựng framework Nội dung trình bày chi tiết chương luận văn; - Nghiên cứu khả áp dụng webiste framework thực tế Nội dung trình bày chi tiết chương luận văn 1.3 Phạm vi phương pháp nghiên cứu Hiện có nhiều công nghệ hỗ trợ cho việc phát triển Website Trong phạm vi luận văn này, tác giả luận văn kết hợp sử dụng phương pháp nghiên cứu “Nghiên cứu lý thuyết” “Nghiên cứu thực nghiệm” tập trung nghiên cứu công nghệ: Google Web Toolkit, Google App Engine, Smarty Template Engine, MVC Pattern, PHP OOP, PHP Data Objects (PDO); Trong luận văn, tác giả luận văn có đề xuất giải pháp xây dựng Website framework để phát triển nhanh Website Tuy nhiên, Website framework áp dụng cho website thỏa mãn ba điều kiện sau: thứ nhất, Website viết ngôn ngữ lập trình phía Server PHP; thứ hai, Website sử dụng sở liệu MySql Google Cloud SQL; thứ ba, Website chạy tảng web server Apache Google App Engine 1.4 Một số đóng góp luận văn Luận văn đề xuất giải pháp giúp phát triển nhanh website, phù hợp với dự án vừa nhỏ; Website framework trình bày luận văn có sử dụng kết hợp công nghệ mới: Google Web Toolkit, Google App Engine, Smarty Template Engine; Với Website framework này, ứng dụng Web hoạt động môi trường máy chủ điện toán đám mây; “nhúng” vào website (viết PHP) có sẵn Lập trình viên sử dụng Website framework hỗ trợ chuẩn hóa việc sinh mã truy vấn sở liệu Website framework đặt số quy định bắt buộc lập trình viên phải tuân theo để đảm bảo việc viết mã theo chuẩn mực định Với đóng góp nêu trên, tác giả kỳ vọng website framework trình bày luận văn hỗ trợ lập trình viên phát triển nhanh website; Và thực tế, áp dụng vào số dự án cụ thể có kết tích cực định … CHƯƠNG 2: CƠ SỞ THỰC TIỄN VÀ CƠ SỞ LÝ THUYẾT Với trình độ khoa học nay, công nghệ phát triển cập nhật phút giây; liên tục cho đời phần mềm tốt hơn, mạnh mẽ hiệu Mặt khác, nhu cầu người dùng không ngừng tăng lên số lượng chất lượng Tháng năm 2014, trang theo dõi trực tuyến Internet Live Stats công bố số lượng website toàn giới thức vượt mốc tỉ trung bình giây có website đăng kí đời Trong 10 Website có số lượng người truy cập đông giới (Google, Facebook, YouTube, Yahoo!, Baidu, Wikipedia ) Web 2.0 Những số phản ánh nhu cầu thực tế, là: áp dụng công nghệ phát triển nhanh website xu tất yếu Bằng kinh nghiệm làm việc thực tế công ty Nước Hà Nội tham gia dự án lập trình Web với công ty phần mềm Koolsoft, tác giả luận văn nhận thấy việc phát triển nhanh Website gặp số trở ngại như: để xây dựng Website 2.0 có áp dụng kỹ thuật Ajax gặp nhiều khó khăn; lựa chọn ngôn ngữ lập trình Web phù hợp với xu nay; vấn đề mã giao diện mã lập trình lẫn lộn file; nhiều trường hợp khách hàng có nhu cầu xây dựng tích hợp ứng dụng Web vào Website có sẵn Để giải vấn đề thực tế nêu trên, tác giả luận văn xin đề xuất giải pháp: “xây dựng framework giúp phát triển nhanh website” có sử dụng kết hợp công nghệ: Google Web Toolkit, Goolge App Engine, PHP hướng đối tượng theo mô hình MVC, Smarty Template Engine Trong chương này, luận văn trình bày vấn đề khó khăn việc phát triển Website vấn đề lý thuyết liên quan đến công nghệ nêu 2.1 Các vấn đề thực tế việc phát triển Website 2.1.1 Web 2.0 kỹ thuật Ajax Website 2.0 không xa lạ với người sử dụng Internet Nhưng có nhiều định nghĩa khác công nghệ thực tế chưa có định nghĩa chuẩn mực website 2.0 Theo từ điển wikipedia.org thì: “Khái niệm Web 2.0 Dale Dougherty, phó chủ tịch OReilly Media, đưa hội thảo Web 2.0 lần thứ vào tháng 10 năm 2004 Dougherty không đưa định nghĩa mà dùng ví dụ so sánh phân biệt Web 1.0 Web 2.0: DoubleClick Web 1.0; Google AdSense Web 2.0 Ofoto Web 1.0; Flickr Web 2.0 Britannica online Web 1.0; Wikipedia Web 2.0 ” Trong giai đoạn đầu Web 2.0 tập trung vào yếu tố công nghệ, nhấn mạnh tảng ứng dụng Nhưng đến lần hội thảo thứ hai Web 2.0 vào tháng 10/2005, nhấn mạnh yếu tố sâu xa yếu tố cộng đồng Các công nghệ phần nhìn thấy Web 2.0, người dùng thành phần tạo tảng Website Từ phương thức “duyệt xem” chuyển qua “tham gia” thay đổi lớn Website 2.0 cho phép người dùng đưa thông tin lên mạng internet Khi số lượng thông tin lớn, với sàng lọc lựa chọn người dùng, thông tin trở nên có giá trị quý báu Ở xuất vấn đề: - Thứ nhất: ứng dụng web chạy chậm so với ứng dụng desktop liên tục phải tải lại trang có kiện thay đổi nội dung Theo tác giả Prabhakar Chaganti (2007, Google Web Toolkit: GWT Java Ajax Programming): “The client-server architecture has undergone a vast change over a short period of time Earlier, each application had a different client software, with the software serving as the UI This software had to be installed individually on every client, and needed to be updated every time we made changes to the application We moved from that to the web era and deploying applications on the Internet, and then Internet enabled us to use the omnipresent web browser for accessing our 10 Chuyển vị trí tập tin sang thư mục Không hỗ trợ Trash (thùng rác) hosting Tạo hàm xử lý Tạo ghi lưu sở Không hỗ trợ liệu dự phòng Tạo hàm xử lý Xóa ghi sở liệu Không Cung cấp hàm 2.9 Danh sách công văn tập tin xóa Danh sách công văn tập tin Cung cấp hàm sở liệu dự phòng Thiết lập cấu hình Phân trang hiển thị Cung cấp hàm Không Lấy thông tin chi tiết công Cung cấp hàm văn xóa sở liệu dự phòng Không III ỨNG DỤNG QUẢN LÝ MUA BÁN HÀNG, KẾ TOÁN, HÀNG TỒN KHO CỦA CÔNG TY BEFUL 3.1 Phân quyền truy cập Phân quyền theo nhóm user Cung cấp hàm Cấu hình Phân quyền cho user Không hỗ trợ Tạo hàm xử lý Kiểm tra tên đăng nhập, mật Cung cấp hàm Không Tạo session Cung cấp hàm Không Không hỗ trợ Tạo hàm xử lý 3.2 Đăng nhập 3.3 Quản lý Đơn hàng Kiểm tra quyền user Danh sách đơn hàng, phân trang hiển Cung cấp hàm xử Không thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa đơn hàng Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập đơn hàng liệu 3.4 Quản lý nhóm sản phẩm Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách nhóm sản phẩm, phân Cung cấp hàm xử Không trang hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh 63 sách hiển thị Thêm, sửa, xóa nhóm sản phẩm Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập sản phẩm liệu 3.5 Quản lý đơn vị tính Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách đơn vị tính, phân trang Cung cấp hàm xử Không hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa đơn vị tính Cung cấp hàm xử Chỉnh sửa lý, tương tác sở nhập liệu liệu, form nhập liệu form 3.6 Quản lý sản phẩm Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách sản phẩm, phân trang hiển Cung cấp hàm xử Không thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa sản phẩm Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập sản phẩm liệu 3.7 Quản lý chương trình khuyến mại Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách khuyến mại, phân trang Cung cấp hàm xử Không hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa chương trình khuyến Cung cấp hàm xử Chỉnh sửa form mại lý, tương tác sở nhập liệu, sinh mã liệu, form nhập đơn hàng liệu 3.8 Quản lý giá Kiểm tra quyền user Không hỗ trợ 64 Tạo hàm xử lý Danh sách giá sản phẩm, phân trang Cung cấp hàm xử Không hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa giá sản phẩm Cung cấp hàm xử Chỉnh sửa lý, tương tác sở nhập liệu liệu, form nhập liệu form 3.9 Hệ thống cửa hàng Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách cửa hàng, phân trang hiển Cung cấp hàm xử Không thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa cửa hàng Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập cửa hàng liệu 3.10 Quản lý đơn đặt hàng Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách đơn đặt hàng, phân trang Cung cấp hàm xử Không hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa đơn đặt hàng Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập đơn đặt hàng liệu 3.11 Quản lý nhập kho Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách nhập kho, phân trang hiển Cung cấp hàm xử Không thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa nhập kho Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập nhập kho 65 liệu 3.12 Quản lý chuyển kho Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách hàng chuyển kho, phân Cung cấp hàm xử Không trang hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa hàng chuyển kho Cung cấp hàm xử Chỉnh sửa lý, tương tác sở nhập liệu liệu, form nhập liệu form 3.13 Quản lý hàng trả Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách hàng trả về, phân trang Cung cấp hàm xử Không hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa hàng trả Cung cấp hàm xử Chỉnh sửa lý, tương tác sở nhập liệu liệu, form nhập liệu form 3.14 Quản lý nhà cung cấp Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách nhà cung cấp, phân trang Cung cấp hàm xử Không hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa nhà cung cấp Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập nhà cung cấp liệu 3.15 Quản lý khách hàng Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách khách hàng, phân trang Cung cấp hàm xử Không hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị 66 Thêm, sửa, xóa khách hàng Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập khách hàng liệu 3.16 Quản lý phiếu nhập kho Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách phiếu nhập kho, phân trang Cung cấp hàm xử Không hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa phiếu nhập kho Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập phiếu nhập kho liệu 3.17 Quản lý phiếu xuất kho Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách phiếu xuất kho, phân trang Cung cấp hàm xử Không hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa phiếu xuất kho Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập phiếu xuất kho liệu 3.18 Quản lý phiếu chuyển kho Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách phiếu chuyển kho, phân Cung cấp hàm xử Không trang hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa phiếu chuyển kho Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập phiếu chuyển kho liệu 3.19 Quản lý phiếu hàng trả Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách hàng trả về, phân trang Cung cấp hàm xử Không 67 hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa hàng trả Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập hàng trả liệu 3.20 Điều chỉnh tồn kho Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách điều chỉnh tồn kho, phân Cung cấp hàm xử Không trang hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa điều chỉnh tồn kho Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập điều chỉnh kho liệu 3.21 Quản lý kho hàng Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách kho hàng, phân trang hiển Cung cấp hàm xử Không thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị Thêm, sửa, xóa kho hàng Cung cấp hàm xử Chỉnh sửa form lý, tương tác sở nhập liệu, sinh mã liệu, form nhập kho hàng liệu 3.22 Quản lý khách hàng toán Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách khách hàng toán, Cung cấp hàm xử Không phân trang hiển thị, tìm kiếm theo từ lý, tương tác sở khóa liệu, tạo danh sách hiển thị Thêm, sửa, xóa khách hàng toán Cung cấp hàm xử lý, tương tác sở liệu, form nhập liệu 68 Chỉnh sửa form nhập liệu, sinh mã khách hàng toán 3.23 Quản lý toán nhà cung cấp Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách toán nhà cung cấp, Cung cấp hàm xử Không phân trang hiển thị, tìm kiếm theo từ lý, tương tác sở khóa liệu, tạo danh sách hiển thị Thêm, sửa, xóa toán nhà cung Cung cấp hàm xử cấp lý, tương tác sở liệu, form nhập liệu Chỉnh sửa form nhập liệu, sinh mã toán nhà cung cấp 3.24 Quản lý tài khoản phải thu khách hàng Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách tài khoản phải thu khách Cung cấp hàm xử Không hàng, phân trang hiển thị, tìm kiếm lý, tương tác sở theo từ khóa liệu, tạo danh sách hiển thị 3.25 Quản lý tài khoản phải trả nhà cung cấp Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách tài khoản phải trả nhà cung Cung cấp hàm xử Không cấp, phân trang hiển thị, tìm kiếm theo lý, tương tác sở từ khóa liệu, tạo danh sách hiển thị Thêm, sửa, xóa tài khoản nhà cung Cung cấp hàm xử Chỉnh sửa cấp lý, tương tác sở nhập liệu liệu, form nhập liệu 3.26 Quản lý tài khoản tiền mặt Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách tài khoản tiền mặt, phân Cung cấp hàm xử Không trang hiển thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị 3.27 Quản lý tài khoản ngân hàng Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách tài khoản ngân hàng, phân Cung cấp hàm xử Không trang hiển thị, tìm kiếm theo từ khóa lý, tương tác sở 69 form liệu, tạo danh sách hiển thị 3.28 Báo cáo doanh thu theo sản phẩm Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách doanh thu theo sản phẩm, Cung cấp hàm xử Không phân trang hiển thị, tìm kiếm theo từ lý, tương tác sở khóa liệu, tạo danh sách hiển thị 3.29 Báo cáo doanh thu theo khách hàng Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách doanh thu theo khách hàng, Cung cấp hàm xử Không phân trang hiển thị, tìm kiếm theo từ lý, tương tác sở khóa liệu, tạo danh sách hiển thị 3.30 Báo cáo doanh thu theo nhân viên Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách doanh thu theo nhân viên, Cung cấp hàm xử Không phân trang hiển thị, tìm kiếm theo từ lý, tương tác sở khóa liệu, tạo danh sách hiển thị 3.31 Báo cáo thẻ kho Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách thẻ kho, phân trang hiển Cung cấp hàm xử Không thị, tìm kiếm theo từ khóa lý, tương tác sở liệu, tạo danh sách hiển thị 3.32 Báo cáo xuất - nhập kho Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách nghiệp vụ xuất, nhập Cung cấp hàm xử Không kho, phân trang hiển thị, tìm kiếm lý, tương tác sở theo từ khóa liệu, tạo danh sách hiển thị 3.33 Báo cáo tồn kho – hạn sử dụng Kiểm tra quyền user Không hỗ trợ Tạo hàm xử lý Danh sách sản phẩm tồn kho, hạn sử Cung cấp hàm xử Không dụng, phân trang hiển thị, tìm kiếm lý, tương tác sở 70 theo từ khóa liệu, tạo danh sách hiển thị Ghi chú: bảng trên, đóng góp của Ligker framework việc phát triển nhanh ứng dụng web đánh dấu đậm nghiêng 3.4.3 So sánh việc không sử dụng có sử dụng Framework việc phát triển Website Trong Chương 2, tác giả luận văn trình bày việc sử dụng ngôn ngữ lập trình PHP phát triển website Framework có mặt ngôn ngữ lập trình Do đó, việc phát triển website ngôn ngữ PHP không nằm ngoại lệ Hơn nữa, đặc điểm bật PHP giúp người lập trình viết code thoải mái PHP có hướng đối tượng lập trình viên hoàn toàn viết mã tự do, không cần triển khai lớp để hoàn thành công việc PHP có nhiều hàm dựng sẵn, cần gọi chạy mà không cần phải nhớ namespace (vùng định danh) để include/import (chèn nội dung mã) ngôn ngữ khác; Lưu trữ liệu biến mảng PHP tùy ý lập trình viên; biến ko cần khai báo dùng đâu; mảng lưu theo kiểu chiều, chiều, đa chiều chấp nhận, truy xuất ngẫu nhiên vô đơn giản với cặp “khóa/giá trị”… Đó ưu điểm làm cho PHP trở thành ngôn ngữ dễ tiếp cận, dễ học nhược điểm Với khối code nhỏ, người dùng hoàn toàn viết mã theo phong cách riêng mà thấy phù hợp để tạo ứng dụng cách nhanh chóng nhất; với phần mềm lớn, lập trình viên bị lạc khu rừng mã lộn xộn mà thành viên nhóm tạo Khi đó, ứng dụng web khó phát triển lớn hơn, thời gian bảo trì gấp nhiều nhiều lần thời gian phát triển… Cũng nhiều ngôn ngữ lập trình khác, thấy khó khăn này, người dùng PHP xây dựng framework cho PHP Website framework tiêu chuẩn, đồng thời thư viện kiến trúc phần mềm định 3.4.3.1 Các tiêu chí so sánh Thứ nhất, Framework “tiêu chuẩn” 71 Nếu viết mã PHP tự do, lập trình viên khiến cho code lộn xộn, khó theo dõi để hiểu chức dòng/khối code thành viên khác nhóm viết Nếu sử dụng Ligker Framework, người dùng phải tuân thủ qui định đặt ra: qui định cách đặt tên biến, đặt tên hàm, tên lớp,… qui định cách truyền liệu, qui định luồng xử lý liệu, qui định cách tổ chức code – file đặt đâu nhiệm vụ gì… Tất qui định nhằm giúp tạo code sạch, lập trình viên dễ dàng ghi nhớ vị trí – chức dòng code để chỉnh sửa, hay sử dụng Nhờ tuân thủ qui định, mà làm việc nhóm, người đọc hiểu code người kia, sử dụng lại hàm viết người khác Thứ hai, Framework thư viện Nếu viết mã tự do, lập trình viên phải viết viết lại cách nhàm chán công việc nêu trên; chất lượng khối code phụ thuộc vào trình độ, độ tập trung, tâm lý lập trình viên nên dễ phát sinh lỗi trình viết mã lỗi tiềm tàng Nếu áp dụng Ligker Framework, lập trình viên cung cấp function để thực công việc rất Các công việc sử dụng nhiều lần dự án nói riêng dự án web nói chung Ligker Framework đời nhằm mục đích hỗ trợ lập trình viên tập trung vào chức nghiệp ứng dụng, việc xử lý yêu cầu chức phần mềm; không bị nhãng, sa lầy mắc lỗi thực công việc lặp lặp lại như: kết nối database, lấy liệu từ bảng, quản lý session (phiên làm việc), đăng nhập,… Ligker framework làm việc hộ lập trình viên , function có mặt ứng dụng, không cần phải viết viết lại, có tính ổn định hạn chế tối đa việc phát sinh lỗi kiểm thử nhiều trường hợp trước áp dụng vào dự án cụ thể Thứ ba, Framework kiến trúc phần mềm 72 Nếu lập trình viên viết mã PHP thuần, họ nhiều thời gian để suy nghĩ nên tổ chức code thể cho đẹp, mở rộng, dễ dàng làm việc nhóm, để tách mã lập trình mã giao diện riêng biệt, triển khai mô hình MVC… Nếu áp dụng Ligker framework cho ứng dụng web, lập trình viên phải tổ chức theo cách nghiên cứu kỹ lưỡng Người dùng việc làm theo dẫn thứ chạy trơn tru mà đáp ứng yêu cầu Với việc sử dụng Smarty thành phần Router lớp lõi Ligker framework, ứng dụng web trở nên gọn gàng, dễ dàng bảo trì mở rộng 3.4.3.2 Kết so sánh Như vậy, áp dụng Ligker framework cho việc phát triển ứng dụng web có ưu điểm sau: Các lập trình viên thời gian để phát triển dự án Với Ligker framwork, có khung sườn làm việc; không thời gian phân tích kiến trúc ứng dụng, không viết lại thứ đỗi nhàm chán; Chúng ta có ứng dụng với mã nguồn đẹp, dễ dàng phát triển, bảo trì; Nhóm phát triển web làm việc với hiệu hơn, hiểu ý hơn, tốc độ Chúng ta có hội sử dụng lại nhiều khối code, module, tích hợp phần mở rộng gắn vào ứng dụng mình; mà không tốn sức để phát triển cho chức Hiệu tính ốn định kiểm thử kỹ lưỡng trình xây dựng Ligker framework Trong thời gian năm để xây dựng framework chưa nhiều, khả tác giả luận văn hạn chế, nhiên tác gia luận văn bảo đảm tiếp tục chăm sóc cập nhật thường xuyên; thu hút nỗ lực phát triển cộng đồng người dùng phát triển Ligker framework ngày hoàn thiện 73 3.5 Đưa ứng dụng cộng đồng Một framework muốn tồn phát triển cần hướng tới việc đưa sử dụng rộng rãi cộng đồng Đó xu chung lĩnh vực mã nguồn mở nói chung lập trình web PHP nói riêng Với nhận xét chủ quan tác giả, Ligker framework nhẹ, dễ cấu hình sử dụng, phù hợp với lập trình viên chưa có nhiều kinh nghiệm Người dùng Ligker framework cần nắm vấn đề sau : - Có kiến thức công nghệ : Google Web ToolKit, Google App Engine, Smarty, PHP hướng đối tượng, mô hình MVC, nắm khái niệm website framework (đã trình bày chương luận văn này) - Hiểu cấu trúc, nguyên lý hoạt động cách cấu hình hệ thống Ligker framework (chương 3) 74 CHƯƠNG : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Trong nội dung luận văn, tác giả trình bày kết nghiên cứu công nghệ Google Web Toolkit, Google App Engine, Smarty áp dụng xây dựng Ligker framework giúp phát triển nhanh website Việc Ligker framework sử dụng kết hợp công nghệ giúp cho lập trình viên web dễ dàng tạo website 2.0 với kỹ thuật Ajax Ligker framework hỗ trợ việc tạo thành phần HTML cách nhanh chóng; Tách mã HTML phần code phía server cách hiệu ; Tự động sinh câu lệnh truy vấn sở liệu Đối với ứng dụng Web sử dụng Ligker framework, người dùng chuyển đổi hosting Apache Google App Engine cách dễ dàng ; Sử dụng hosting Google nên khai thác nhiều API Google cung cấp Ligker Framework Website framework chạy nhanh, nhẹ, ổn định, dễ dàng sửa lỗi thay đổi theo yêu cầu thực tế; Dễ dàng tích hợp vào website PHP có sẵn Ligker framework bắt đầu xây dựng từ tháng năm 2014, phiên core_4.0 Ngay từ phiên core_1.0 đầu tiên, Ligker framework áp dụng vào việc xây dựng phần mềm công ty TNHH MTV Nước Hà Nội yêu cầu Ngoài ra, tác giả luận văn tham gia dự án phần mềm với công ty Phần mềm Koolsoft Danh sách phần mềm có sử dụng Ligker framework bao gồm: - Phần mềm Quản lý Lịch công tác tuần cho công ty Nước Hà Nội - Phần mềm Quản lý Công văn cho công ty Nước Hà Nội - Thực tạo API cho phần mềm quản lý bán hàng, tồn kho, kế toán cho công ty Mỹ phẩm Beful Măc dù đạt số kết môi trường thử nghiệm môi trường thực tiễn, nhiên, luận văn cần khắc phục số vấn đề phát triển giai sau Đó là: Cơ chế an toàn bảo mật thông tin sơ khai Điều cần sớm khắc phục phiên core_4.1; Ligker framwork 75 chưa khai thác hết tính mạnh mẽ Google Web Toolkit; Mới sử dụng Google Web Toolkit phần View mô hình MVC Trong giai đoạn tiếp theo, tác giả sử dụng Google Web Toolkit đảm nhiệm đồng thời nhiệm vụ mô hình MVC là: View Controller Trong trình thực đề tài, có giới hạn thời gian, khả làm việc thân hạn chế, nên luận văn không tránh khỏi thiếu sót Rất mong góp ý thầy cô bạn bè 76 TÀI LIỆU THAM KHẢO Prabhakar Chaganti (2007), Google Web Toolkit: GWT Programming, Packt Publishing Java Ajax Eugene Ciurana (2009), Developing with Google App Engine, Apress Ryan Dewsbury (2007), Google Web Toolkit Applications, Prentice Hall Hasin Hayder, Joao Prado Maia, Lucian Gheorghe (2006), Smarty PHP Template Programming and Applications, Packt Publishing Steven Douglas Olson (2007), Ajax on Java, O'Reilly Media Chris Pitt (2012), Pro PHP MVC, Apress David Powers (2008), PHP Object-Oriented Solutions, Apress Dan Sanderson (2012), Programming Google App Engine, O'Reilly Media Website: http://www.gwtproject.org/ 10 http://www.smarty.net/docsv2/en/ 77 ... để tích hợp với công nghệ Với lý nêu trên, định theo học Thạc sỹ trường Đại học Bách Khoa Hà Nội, theo hướng nghiên cứu: Tìm hiểu công nghệ xây dựng Framework giúp phát triển nhanh Website” 1.2... 12 2.1.4 Tích hợp phát triển ứng dụng web website có sẵn 13 2.1.5 Đề xuất giải pháp giúp phát triển nhanh website 14 2.2 Các công nghệ áp dụng 14 2.2.1 Công nghệ Google Web Toolkit... thực tế, người xây dựng web cần có công cụ phát triển ứng dụng tích hợp cách hiệu vào hệ thống có sẵn mà không làm ảnh hưởng đến chức hệ thống 2.1.5 Đề xuất giải pháp giúp phát triển nhanh website

Ngày đăng: 26/07/2017, 21:05

Từ khóa liên quan

Mục lục

  • loi cam doan

  • loi cam on

  • muc luc

  • danh muc ky hieu chu viet tat

  • danh muc hinh

  • chuong 1

  • chuong 2

  • chuong 3

  • chuong 4

  • tai lieu tham khao

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

Tài liệu liên quan