Đề tài này nghiên cứu xây dựng một WebServer nhỏ gọn có đầy đủ các tính năng cơ bản phục vụ cho việc phát triển ứng dụng web và cung cấp các tính năng mới như: bảo mật, phân quyền truy cập webserver theo tập tin, thư mục; phân quyền thực thi scrpiting, sqlite,… Mời các bạn cùng tham khảo.
Năm học 2010 – 2011 XÂY DỰNG NỀN TẢNG WEBSERVER VÀ ỨNG DỤNG TRONG DẠY HỌC Lê Nguyên Dũng (SV năm 2, Khoa Công nghệ Thông tin) GVHD: Lương Trần Hy Hiến Mở đầu Trong năm gần đây, bùng nổ ngành Cơng nghệ thơng tin nói chung mạng Internet nói riêng kéo theo nhu cầu xây dựng website doanh nghiệp lẫn cá nhân Để xây dựng website cho doanh nghiệp thường cần chi phí khơng nhỏ, chi phí bao gồm phần cứng phần mềm để trì hoạt động website Với website cá nhân chi phí thường thấp, chí có miễn phí, nhiên tính tồn tính tự chủ cá nhân với website thường cịn hạn chế Để đơn giản thực hóa vấn đề này, chúng tơi đề xuất thực hóa việc xây dựng tảng web server nhỏ gọn (tự đặt tên PedaServer) đủ đáp ứng đủ yêu cầu tối thiểu bảo mật, dễ dùng để xây dựng trì website nhỏ Mục đích, đối tượng nghiên cứu Đề tài nghiên cứu xây dựng WebServer nhỏ gọn có đầy đủ tính phục vụ cho việc phát triển ứng dụng web cung cấp tính như: bảo mật, phân quyền truy cập webserver theo tập tin, thư mục; phân quyền thực thi scrpiting, sqlite,… Đối tượng nghiên cứu gồm nội dung sau: • Server core: Phần tương tác kết nối, quản lý kết nối, truyền nhận server client • Minimum Scripting Engine: Phần xử lý ngôn ngữ kịch server (ngơn ngữ lập trình server hỗ trợ) • SQLite: Phần xử lý tương tác với sở liệu • Plugin: Nền tảng bổ sung chức Kết nghiên cứu 3.1 Server core Chúng xây dựng server core phục vụ cho mục đích sau: 33 Kỷ yếu Hội nghị sinh viên NCKH - Quản lý kết nối từ máy trạm tới server theo giao thức HTTP Process Thread Thread Thread Thread Serv Client Hình Kết nối client-server - Quản lý tương tác tới thành phần plugin, scripting, tương tác file… thích hợp với request máy trạm 3.2 Xây dựng ngôn ngữ lập trình Phân tích ngữ pháp Máy ảo Hình Kiến trúc xây dựng trình thơng dịch 34 Năm học 2010 – 2011 - Đề tài tiến hành xây dựng trình thơng dịch máy ảo riêng với cú pháp đầu vào ngôn ngữ có cú pháp tương tự ngơn ngữ PHP gọi Minimum Scripting Language - Ngôn ngữ cho phép làm việc với tảng Cơ sở liệu SQLite - Trình thơng dịch với máy ảo chạy độc lập với hệ thống thực đảm bảo an toàn vận hành mã thực thi server 3.3 Tương tác plugin - Plugin thành phần nhúng (embed) bổ sung chức cho ứng dụng ban đầu Ở PedaServer, cho phép sử dụng plugin để bổ sung thêm tính xử lý URL quy định từ phía người quản trị - Mỗi plugin thành phần hoàn toàn riêng biệt lẫn lẫn server core Các plugin liên kết với server core hàm gọi Plugin khởi động server khởi động, kết thúc phiên làm việc server dừng làm việc - Một plugin PedaServer Thư viện liên kết động (Các tập tin có dll) gồm có hàm: Init: Khởi tạo liệu ban đầu RunIt: Với truy vấn tới, hàm gọi để xử lý sau trả giá trị tương ứng với truy vấn Clean: Giải phóng nhớ.Với việc cho phép sử dụng plugin, PedaServer Client Server Respons Server core Request Request Plugin table Resul Plugin Plugin Hình Tương tác với Plugin Plugin 35 Kỷ yếu Hội nghị sinh viên NCKH dễ dàng xây dựng ứng dụng web service mà đảm bảo tính gọn nhẹ ứng dụng 3.4 Bảng phân quyền hệ thống - Xây dựng chế phân quyền theo thư mục với quyền: truy xuất thư mục, truy xuất liệu bên thư mục, thực thi scripting, cho sử dụng SQLite - Cơ chế phân quyền xuyên suốt từ quyền truy xuất tới thực thi scripting giúp đảm bảo hệ thống vận hành bảo mật theo cấu hình người quản trị /sample/site/index.min /add /sql /sample/sql.min Tập nguồn Tập đích Hình Ánh xạ URL 3.5 Ứng dụng minh họa: Từ điển online (PedaDict) - Một từ điển online (Anh Việt - Việt Anh) hoạt động nhanh mà gọn nhẹ, triển khai máy yếu Cơ sở liệu từ điển lấy từ www.tudientiengviet.net Gợi ý Nghĩa Hình Giao diện từ điển PedaDict 36 Năm học 2010 – 2011 Đây ví dụ thể khả ứng dụng tảng web server PedaServer với chế Plugin - Ứng dụng: o Khai triển máy cá nhân: Do ứng dụng địi hỏi cấu hình thấp nên dễ dàng cài đặt máy tính cá nhân o Dùng mạng nội bộ: Do mạnh giao diện web nên máy khác mạng dễ dàng truy cập sử dụng từ điển có máy mạng có cài đặt ứng dụng o Từ điển online: Chỉ cần máy chủ có kết nối Internet cấu hình khai triển ứng dụng thành từ điển online dễ dàng Kết luận - Mặc dù gặp số hạn chế, đề tài bước đầu xây dựng tảng sở để phát triển trì số dạng web site định máy chủ không yêu cầu cao cấu hình - Nền tảng trình thơng dịch đề tài với máy ảo sở để phát triển lên web server hỗ trợ ứng dụng web service tương lai TÀI LIỆU THAM KHẢO Devin Cook (2011), GOLD Meta-Language Overview D Richard Hipp (2011), SQLite, website: www.sqlite.org Jan Niestadt (1999), Article: Implementing A Scripting Engine, website: www.flipcode.com Sekio (2007), article: SupraWWW, website: http://www.rohitab.com Lê Ngọc Sơn (2009), Giáo trình trình biên dịch, Đại học Cơng nghiệp TP Hồ Chí Minh, lưu hành nội Lee Thomason (2010), TinyXML w3schools (2011), PHP MySQL Introduction http://wikipedia.com 37 ... Plugin 35 Kỷ yếu Hội nghị sinh viên NCKH dễ dàng xây dựng ứng dụng web service mà đảm bảo tính gọn nhẹ ứng dụng 3.4 Bảng phân quyền hệ thống - Xây dựng chế phân quyền theo thư mục với quyền: truy... Giao diện từ điển PedaDict 36 Năm học 2010 – 2011 Đây ví dụ thể khả ứng dụng tảng web server PedaServer với chế Plugin - Ứng dụng: o Khai triển máy cá nhân: Do ứng dụng địi hỏi cấu hình thấp nên... với request máy trạm 3.2 Xây dựng ngơn ngữ lập trình Phân tích ngữ pháp Máy ảo Hình Kiến trúc xây dựng trình thơng dịch 34 Năm học 2010 – 2011 - Đề tài tiến hành xây dựng trình thơng dịch máy