Tìm hiểu lập trình phân tán với RMI ứng dụng truy cập cơ sở dữ liệu web

38 281 0
Tìm hiểu lập trình phân tán với RMI ứng dụng truy cập cơ sở dữ liệu web

Đ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

Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web MỤC LỤC MỤC LỤC LỜI MỞ ĐẦU Chương 1: GIỚI THIỆU VỀ NGƠN NGỮ LẬP TRÌNH JAVA 1.1 Lịch sử đời Java 1.2 Chu trình phát triển chương trình với Java 1.3 Môi trường Java .5 1.4 Các dạng chương trình ứng dụng Java 1.4.1 Chương trình ứng dụng dạng độc lập 1.4.2 Chương trình ứng dụng dạng Applet 1.4.3 Chương trình ứng dụng dạng Applet lẫn dạng độc lập 1.5 Các phần tử sở Java 1.5.1 Định danh (Tên gọi) 1.5.2 Các từ khóa .7 1.5.3 Chú thích 1.6 Các kiểu liệu nguyên thủy 1.7 Khai báo biến 1.8 Cấu trúc tệp chương trình Java Chương 2: CƠ SỞ VỀ MẠNG MÁY TÍNH 2.1 Định nghĩa mạng máy tính .9 2.2 Phân loại mạng máy tính 2.3 Một số kiến trúc mạng thường dùng 10 2.4 Giao thức mạng 10 2.4.1 Giao thức TCP/IP 10 Giao thức IP 10 Giao thức TCP 11 2.4.2 Giao thức UDP .11 2.5 Các mơ hình hoạt động mạng máy tính 11 Chương 3: LẬP TRÌNH ĐỐI TƯỢNG PHÂN TÁN VỚI RMI 12 3.1 Tổng quan RMI .12 3.1.1 RMI .12 3.1.2 So sánh RMI RPC 12 3.2 RMI làm việc .12 3.3 Kiến trúc chương trình RMI 14 3.4 Các chế liên quan ứng dụng RMI 15 3.5 Cơ chế thực thi ứng dụng RMI 16 3.6 Các lớp, gói thường sử dụng RMI .17 3.7 Những vấn đề gặp phải triển khai RMI 17 3.7.1 Nạp lớp động 17 3.7.2 Sự khác máy ảo Java 18 Máy ảo Java Microsoft thiếu hỗ trợ lời triệu gọi phương thức từ xa .18 Những thay đổi RMI từ JDK 1.02 đến JDK 1.1 .19 Những thay đổi RMI từ JDK 1.1 đến tảng thứ hai Java 19 3.7.3 RMI Applet 20 Khơng có khả kết nối tới cổng TCP 20 Các hạn chế kết nối mạng 20 Các hạn chế tường lửa 21 3.8 Sử dụng RMI thực thi việc tham chiếu ngược .22 3.8.1 Tham chiếu ngược lập trình hướng đối tượng .22 3.8.2 Tham chiếu ngược RMI .24 Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 1/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web 3.9 Kích hoạt đối tượng từ xa 25 3.9.1 Kích hoạt đối tượng .25 3.9.2 Kích hoạt đối tượng từ xa làm việc 25 3.10 Classpath Codebase .27 3.10.1 Giới thiệu chung 27 3.10.2 Classpath .27 3.10.3 URL (Uniform Resource Locator) 27 3.10.4 Codebase .27 Chương 4: CHƯƠNG TRÌNH DEMO TRUY NHẬP CƠ SỞ DỮ LIỆU WEB 28 4.1 Các mô hình kiến trúc sở liệu .28 4.1.1 Kiến trúc đơn lớp (Single Architecture) 28 4.1.2 Kiến trúc hai lớp (Two - Tier Architecture) 28 4.1.3 Kiến trúc ba lớp (Three - Tier Architecture) 29 4.1.4 Giới thiệu truy nhập sở liệu Web 29 4.2 Mơ hình hoạt động chương trình demo 30 4.3 Thiết kế chương trình 31 4.3.1 Các tệp xây dựng chương trình 31 4.3.2 Các bước thực chương trình 32 4.4 Một số giao diện chương trình .32 KẾT LUẬN 36 TÀI LIỆU THAM KHẢO 37 Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 2/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web LỜI MỞ ĐẦU Sự phát triển vũ bão hệ thống mạng mạng Internet khiến cho máy tính trở nên gần gũi phục vụ đắc lực cho người Tuy nhiên bên cạnh thách thức lớn đặt cho nhà phát triển ứng dụng lập trình mạng ngày trở nên phức tạp Mơ hình lập trình đơn lẻ truyền thống bị thay đổi nhiều Ngày nay, bạn khơng đơn ngồi viết ứng dụng để chạy máy Chương trình ứng dụng đòi hỏi tương tác từ nhiều phía người dùng, chia sẻ tài nguyên, triệu gọi từ xa, liên kết giao tác, phân tán liệu…Với yêu cầu mơ hình khách/chủ (hay Client/Server) đời tồn lâu (thậm chí ngày nay) Theo mơ hình khách/chủ tất thao tác xử lý phức tạp chuyển giao cho máy chủ xử lý Máy khách đóng vai trò gửi u cầu hiển thị liệu Hãy hình dung bạn quản lý phân phối ứng dụng đến hàng trăm máy khách nằm nhiều quốc gia khác (một trở ngại mặt địa lý) Bạn cài đặt trình điều khiển kết nối sở liệu MS SQL Server lên máy Sau khoảng thời gian sử dụng, bạn muốn chuyển hệ quản trị sở liệu MS SQL Server sang hệ Oracle sao? Bạn phải yêu cầu hàng trăm máy khách cập nhật lại trình điều khiển truy xuất sở liệu Oracle thay cho MS SQL Server Đó chưa kể việc cấu hình kết nối với hệ sở liệu xem đơn giản người dùng Hay bạn muốn thay đổi mã nguồn ứng dụng khách? Nếu ứng dụng khách bạn bao gồm nhiều tập tin thực thi exe thư viện liên kết động (dll) lên đến hàng chục Mb sao? Bạn phải gửi cập nhật hàng chục Mb đến hàng trăm khách yêu cầu cập nhật lại chương trình Tất ứng dụng làm phát sinh mơ hình phát triển ứng dụng đa tầng (multi-tier) Các ứng dụng xử lý bạn không cài đặt máy khách mà cài đặt máy chủ khác Mục tiêu làm cho máy khách trở nên gọn nhẹ, dễ cấu hình, dễ thay đổi phía máy chủ Nếu bạn cần thay đổi mã nguồn trình ứng dụng bạn cần thay đổi máy chủ Tất trình khách kết nối vào máy chủ chạy ứng dụng máy chủ phục vụ phiên Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 3/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Web ứng dụng điển hình mơ hình ứng dụng đa tầng cụ thể mơ hình ba tầng Trình chủ Web nằm máy chủ, máy khách cần dùng trình duyệt Web (browser) kết nối vào máy chủ truy cập thơng tin dịch vụ Trình chủ sử dụng java servlet, trang jsp hay ứng dụng CGI để kết nối vào sở liệu, đối tượng phân tán RMI, CORBA (nằm máy chủ khác) xử lý tính tốn trả kết cho trình khách thơng qua trang Web tĩnh Mơ hình đa tầng phân rã chức cách cụ thể, cho phép ứng dụng chạy nhiều máy chủ khác Dễ dàng cho người phát triển, nhà cung cấp người sử dụng mạng diện rộng mạng Internet Trong phạm vi đồ án em nghiên cứu cách truy cập sơ sở liệu Web đối tượng phân tán RMI Cấu trúc đồ án gồm bốn chương Trong chương trình bày sơ lược Java, cấu trúc chương trình Java, dạng chương trình ứng dụng Java, phần tử sở kiểu liệu nguyên thủy Java Trong chương hai trình bày khái niệm, kiến trúc, mơ hình mạng máy tính giao thức thường dùng mạng Trong chương ba trình bày lập trình đối tượng phân tán với RMI, khái niệm RMI, kiến trúc chương trình RMI, vấn đề gặp phải triển khai RMI số kỹ thuật triển khai RMI Cuối chương bốn xây dựng chương trình demo truy cập sở liệu Web Chương trình có giao diện cho người sử dụng người quản trị hệ thống Tất chức chương trình thực từ xa Do trình độ thời gian có hạn nên đồ án tốt nghiệp khơng thể tránh khỏi thiếu sót Em mong nhận hướng dẫn đóng góp ý kiến thầy cô bạn để tốt đồ án tốt nghiệp em hoàn thiện Em xin chân thành cảm ơn thầy giáo, bạn tận tình giúp đỡ trình học tập Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 4/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Chương 1: GIỚI THIỆU VỀ NGƠN NGỮ LẬP TRÌNH JAVA 1.1 Lịch sử đời Java Ngơn ngữ lập trình Java Java James Gosling nhóm cộng hãng Sun Microsystems xây dựng vào năm 1990 với tên gọi ban đầu Oak (Cây sồi) Java xây dựng chủ yếu công cụ phát triển JDK (Java Development Kit) Bắt đầu với JDK phiên 1.0 từ năm 1995, năm 1996 Sun đưa phiên JDK 1.1, năm 1998 cho đời phiên JDK 1.2 có phiên 1.6 1.2 Chu trình phát triển chương trình với Java Java vượt qua nhược điểm cách dịch chương trình nguồn sang ngôn ngữ máy ảo không phụ thuộc vào chip (hệ lệnh cụ thể) sau cần thực thông dịch sang hệ máy cụ thể Kết chương trình chuỗi bytes sở bao gồm mã lệnh thực (Opcode) tham số máy lý thuyết (máy ảo), máy Java ảo JVM1 Chương trình thực sau: 1.3 Mơi trường Java Java dịch thực môi trường điều hành, miễn có chương trình thơng dịch (máy Java ảo - JVM)  Cơ chế xử lý Web site  Tại lại sử dụng Java cho công nghệ Web  Tổ chức thực dự án ứng dụng với Java * Xử lý Web site * Java Web - Độc lập với môi trường (Platform Independent) - Đảm bảo an ninh (secure) thông tin - Đảm bảo an toàn (safe) - Thực đa luồng (multithreads) - Đảm bảo linh hoạt - Đảm bảo gọn nhẹ - Đảm bảo tính quán Java Virtual Machine Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 5/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web * Bộ công cụ phát triển ứng dụng JDK2 - Hiện có nhiều mơi trường hỗ trợ để phát triển phần mềm Java như: Visual J++, Symantec’s Café, Boland Jbuilder, JDK v.v Bộ JDK so sun cung cấp theo Web site: http://Java.sun.com 1.4 Các dạng chương trình ứng dụng Java Có ba loại chương trình phát triển với Java: + Các chương trình ứng dụng độc lập + Các chương trình ứng dụng nhúng (applet) + Các chương trình kết hợp hai loại 1.4.1 Chương trình ứng dụng dạng độc lập Chương trình ứng dụng độc lập chương trình nguồn mà sau dịch thực trực tiếp 1.4.2 Chương trình ứng dụng dạng Applet Applet loại chương trình Java đặc biệt mà thực phải nhúng vào chương trình ứng dụng khác trình duyệt Web Browser, appletviewer JDK 1.4.3 Chương trình ứng dụng dạng Applet lẫn dạng độc lập Java cho phép xây dựng chương trình chạy Web Browser lẫn ứng dụng độc lập Một chương trình phải: + Định nghĩa lớp ứng dụng mở rộng, kế thừa từ lớp Applet + Trong lớp ứng dụng phải có hàm main() 1.5 Các phần tử sở Java 1.5.1 Định danh (Tên gọi) Tên gọi thành phần chương trình gọi định danh (Identifier) Trong Java định danh dãy ký tự gồm chữ cái, chữ số số ký hiệu như: ký hiệu gạch nối ‘_’, ký hiệu tiền tệ $, ¥, £, ¢, khơng bắt đầu chữ số Java Development Kit Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 6/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Lưu ý: Java phân biệt chữ thường chữ hoa, ví dụ Hoa hoa hai định danh khác Độ dài (số ký tự) định danh Java lý thuyết không giới hạn 1.5.2 Các từ khóa Các từ khóa Java chia làm nhóm Tổ chức lớp Định nghĩa lớp Các từ khóa cho biến lớp Các kiểu liệu nguyên thủy (đơn giản) Những từ khóa cho giá trị biến Xử lý ngoại lệ Tạo lập kiểm tra đối tượng Dòng điều khiển Những từ khóa chưa sử dụng 1.5.3 Chú thích Chú thích dòng: Tất ký tự sau // cuối dòng thích Chú thích nhiều dòng: Giống C, phần nằm /* */ thích Chú thích tư liệu: Đây loại thích đặc biệt đặt vào chỗ thích hợp chương trình để javadoc đọc sử dụng để tạo tư liệu dạng HTML cho chương trình Phần thích tư liệu bắt đầu /** kết thúc */ 1.6 Các kiểu liệu ngun thủy Mỗi ngơn ngữ lập trình định nghĩa sẵn số kiểu liệu gọi kiểu nguyên thủy Kiểu nguyên thủy Các kiểu nguyên thủy Java chia thành nhóm: + Kiểu nguyên gồm số nguyên kiểu ký tự + Kiểu dấu phảy động hay kiểu số thực: Loại có hai kiểu Kiểu boolean (logic) Kiểu số float double biểu diễn cho số thập phân có dấu + Kiểu boolean: Là kiểu boolean có hai giá trị true (đúng) false Kiểu nguyên Kiểu số thực (sai) Kiểu ký tự Kiểu số nguyên Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP boolean char byte long Trang 7/77 short int float double Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Hình 1.1 Các kiểu nguyên thủy Java 1.7 Khai báo biến Trong Java có bốn loại biến: + Các biến thành phần + Các biến tham chiếu đối tượng (Object Reference) + Các biến tĩnh (static) + Các biến cục (local) 1.8 Cấu trúc tệp chương trình Java Tệp chương trình Java có thành phần đặc tả sau: + Định nghĩa gói tùy chọn thơng qua định danh gói (package) + Một số lệnh import (không nhiều) + Một số định nghĩa lớp interface định nghĩa theo thứ tự Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 8/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Chương 2: CƠ SỞ VỀ MẠNG MÁY TÍNH 2.1 Định nghĩa mạng máy tính Mạng máy tính tập hợp máy tính nối với đường truyền theo cấu trúc thơng qua máy tính trao đổi thơng tin qua lại cho Hình 2.1 Mơ hình liên kết máy tính mạng 2.2 Phân loại mạng máy tính Dựa theo phạm vi phân bố mạng người ta phân loại mạng sau: + GAN (Globa Area Network) + WAN (Wide Area NetWork) + MAN (Metropolitan Area Network) + LAN (Local Area Network) Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 9/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web 2.3 Một số kiến trúc mạng thường dùng + Ring Topology: Hình 2.2 Ring Topology + Bus Topology: Hình 2.3 Bus Topology Hình 2.4 Start Topology + Star Topology: 2.4 Giao thức mạng Giao thức mạng tập quy tắc, quy ước để trao đổi thông tin hai hệ thống máy tính hai thiết bị máy tính với Nói cách hình thức giao thức mạng ngơn ngữ máy tính mạng sử dụng để trao đổi liệu với Có nhiều loại giao thức sử dụng mạng máy tính như: Apple Talk, DLC, NetBEUI,… giao thức sử dụng phổ biến mạng máy tính giao thức TCP/IP 2.4.1 Giao thức TCP/IP Giao thức IP Nhiệm vụ giao thức IP cung cấp khả kết nối mạng thành liên kết mạng để truyền liệu, vai trò IP vai trò giao thức tầng mạng Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 10/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Hình 3.12 Gửi thông báo trở lại cho tất đối tượng lắng nghe Các đối tượng làm việc lời gọi phương thức Trong hệ thống hướng đối tượng Callbacks tham chiếu đối tượng tới đối tượng kiện gốc Sự kiện gốc thời điểm thích hợp, gọi phương thức đối tượng nghe để thông báo hoạt động sẵn sàng trả lời Hình 3.13 Tham chiếu ngược thực đối tượng lắng nghe Kiểu hệ thống sử dụng rộng rãi lập trình hướng đối tượng, ngữ cảnh Java Mơ hình xử lý kiện AWT yêu cầu người phát triển thực thi giao diện lắng nghe đăng ký thành phần cần sử dụng với kiểm tra Nhiểu lắng nghe đăng ký với thành phần, chúng đăng ký với nhiều thành phần Khi xây dựng hệ thống, bạn tạo cho giao diện lắng nghe, thêm phương thức cần thiết 3.8.2 Tham chiếu ngược RMI Cơ chế gọi ngược từ xa trình chủ đến trình khách thơng qua tham chiếu gọi callback Kỹ thuật gọi ngược callback thường hữu hiệu cho trình khách thiết lập yêu cầu tùy biến lệ thuộc nhiều vào trình chủ Đối tượng máy khách Đối tượng máy chủ Gọi phương thức Gọi phương thức Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 24/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Hình 3.14 Đối tượng trình khách trình chủ triệu gọi lẫn Bằng cách ta cho trình khách trình chủ triệu gọi lẫn Khi đối tượng máy chủ phải cài đặt giao tiếp Remote, tiếp sinh lớp trung gian tênlớp_Stub, tênlớp_Skel, sau đăng ký đến rmiregistry để trình khách tham chiếu đến 3.9 Kích hoạt đối tượng từ xa 3.9.1 Kích hoạt đối tượng Kích hoạt đối tượng từ xa công nghệ để giải vấn đề số lượng lớn dịch vụ RMI nhàn rỗi gây tốn tài nguyên Nó cho phép dịch vụ đăng ký với rmiregistry, chưa cần phải khởi tạo giá trị ban đầu Vì dịch vụ không hoạt động có lời gọi từ Client Một q trình xử lý ngầm gọi remote method invocation activation system deamon (rmid) lắng nghe khởi tạo dịch vụ RMI mà Client yêu cầu Bằng cách rmid tiếp nhận yêu cầu từ Client tạo dịch vụ Client yêu cầu 3.9.2 Kích hoạt đối tượng từ xa làm việc Sự kích hoạt đối tượng từ xa có khác biệt so với RMI Server thông thường Một dịch vụ thông thường đăng ký đối tượng với RMI registry phải khởi tạo Kích hoạt đối tượng từ xa tránh điều đó, kích hoạt đối tượng có yêu cầu, lỗi tham chiếu từ xa đăng ký Không giống UnicastRemoteObject chạy liên tục, Mà Server cài đặt chương trình chạy khoảng thời gian ngắn Mục đích thơng báo cho hệ thống biết việc kích hoạt đối tượng xa, đăng ký lỗi tham chiếu từ xa với rmiregistry RMI Client main(String args[]) { … } Yêu cầu tham chiếu đối tượng xa Gửi lỗi tham chiếu từ xa Gọi phương thức lỗi tham chiếu từ xa Faulting remote reference someMethod(…) Server installation class Đăng ký lỗi tham chiếu từ xa dịch vụ RMI Đăng ký đối tượng với hệ rmiregistry Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP thống kích hoạt Remote method invocation activation system deamon process (rmid) Trang 25/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Hình 3.15 Server cài đặt chương trình đăng ký kích hoạt đối tượng với rmid lỗi tham chiếu với rmiregistry Tại thời điểm tương lai, RMI Client tìm kiếm rmiregistry lựa chọn dịch vụ mà cung cấp lỗi tham chiếu từ xa Khi tham chiếu kích hoạt, kiểm tra thấy tham chiếu tồn Server Đầu tiên lỗi tham chiếu nhận lời gọi, lúc có giá trị ban đầu null, cho biết đối tượng phải kích hoạt trước sử dụng Nó nhờ giúp đỡ ứng dụng rmid, tạo thực thể Server thơng qua gọi đối tượng kích hoạt Những yêu cầu phương thức lỗi tham chiếu đẩy tới đối tượng kích hoạt sau quay trở lại Client Tuy nhiên có khoảng thời gian chờ, không lặp lại cho yêu cầu dịch vụ sẵn sàng cho hoạt động RMI Client Activated RMI Server main(String args[]) { … } Trả kết cho Client someMethod(…) Yêu cầu server kích hoạt Kích hoạt dịch vụ chưa chạy Nhận kết từ server Remote method invocation activation system deamon process (rmid) Faulting remote reference someMethod(…) u cầu kích hoạt đối tượng Hình 3.16 Tham chiếu lỗi với giúp đỡ rmid, thông tin kích hoạt quay trở lại Client Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 26/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Cơ chế kích hoạt đối tượng từ xa tạo cho ta mơi trường hiệu mặt sử dụng tài nguyên JVM Server, lại có yếu điểm thời gian dành cho việc xử lý lớn phải thêm vào thời gian dành cho việc kích hoạt đối tượng từ xa 3.10 Classpath Codebase 3.10.1 Giới thiệu chung Java RMI cho phép ta nạp lớp động, nghĩa lúc gọi hàm từ xa nói riêng thực thi chương trình nói chung có tham chiếu tới lớp mà JVM chưa có định nghĩa lớp Java tự động nạp lớp để công việc tiếp tục 3.10.2 Classpath Classpath biến môi trường chứa đường dẫn để Java tải thấy lớp ma chương trình Java cần lúc chạy 3.10.3 URL (Uniform Resource Locator) Trong phần trước ta nhắc đến nhiều Codebase, để hiểu Codebase ta cần nắm vững khái niệm URL + URL: trỏ, trỏ tới tài nguyên cụ thể vị trí xác định + Cú pháp URL là: Protocol://hostname[:port]/path/filename 3.10.4 Codebase Khái niệm Codebase Codebase thuộc tính Java định nghĩa, giá trị URL (Uniform Resource Locator) tới nơi chứa Bytecode lớp mà chương trình tìm Bytecode lớp mạng Cơ chế hoạt động Trong kỹ thuật phân tán RMI, Client muốn gọi phương thức đối tượng từ xa bắt buộc Client phải tham chiếu tới đối tượng từ xa đó, để có tham chiếu đến đối tượng từ xa Client phải có thể thuộc lớp, lớp Stub, lớp tạo chương trình rmic Mỗi đối tượng từ xa có lớp Stub để đóng Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 27/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web vai trò trung gian JVM Client Giá trị Codebase hay chiều URL đến nơi chứa Stub Chương 4: CHƯƠNG TRÌNH DEMO TRUY NHẬP CƠ SỞ DỮ LIỆU WEB 4.1 Các mơ hình kiến trúc sở liệu 4.1.1 Kiến trúc đơn lớp (Single Architecture) Trong kiểu kiến trúc này, ba thành phần chương trình ứng dụng (User Intrface, Business Rule, Data Storage) tích hợp vào tập tin thực thi Ví dụ : BKAV, D2, Winword,… Các ứng dụng kiểu thực thi máy tính User Interface Business Rule Data Storage Hình 4.1 Kiến trúc chương trình đơn lớp 4.1.2 Kiến trúc hai lớp (Two - Tier Architecture) Các chức Bussiness Rule cài đặt phần Client phần Server tạo hai loại kiến trúc Client-Server là: + Fat Client + Fat Server Loại Fat Client Trong loại Business Rule cài đặt bên phía Client Phần Server chủ yếu thực chức truy vấn lưu trữ thông tin Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 28/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Hình 4.3 Kiến trúc chương trình Client-Server theo kiểu Fat Client Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 29/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Loại Fat Server Trong loại này, phần lớn chức Business Rule đặt phần Server Phần Client thực số chức nhỏ Business Rule kiểm tra tính hợp lệ liệu nhập người dùng Hình 4.4 Kiến trúc Client-Server theo kiểu Fat Server 4.1.3 Kiến trúc ba lớp (Three - Tier Architecture) Mơ hình chia làm ba lớp: + Lớp thứ nhất: lớp giao diện người dùng + Lớp thứ hai: lớp ứng dụng thực thi + Lớp thứ ba: lớp sở liệu Hình 4.5 Kiến trúc chương trình ba tầng 4.1.4 Giới thiệu truy nhập sở liệu Web Mơ hình truy nhập sở liệu Web hoạt động theo kiến trúc sở liệu ba lớp Bao gồm lớp: + Lớp client : Là trình duyệt + Lớp trung gian : ứng dụng chạy máy chủ Web + Lớp sở liệu Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 30/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Hình 4.6 Kiến trúc sở liệu Web Client sử dụng trình duyệt Web gửi yêu cầu tới Web Server Sau Web Server truy nhập vào sở liệu để lấy thông tin Client yêu cầu trả kết cho Client Mơ hình thực mơi trường Internet Ưu điểm mơ hình truy nhập sở liệu Web: + Phía client: khơng cần cài đặt thêm chương trình ứng dụng vào máy mình, mà thi hành ứng dụng nhờ trình duyệt web tích hợp sẵn hệ điều hành máy ảo Java + Phía server: chương trình nguồn nằm máy định kể chương trình nguồn Client, nên cơng việc bảo trì, phát triển, khắc phục cố tương đối dễ dàng đảm bảo tính bí mật mã nguồn 4.2 Mơ hình hoạt động chương trình demo Hình 4.7 Mơ hình chương trình truy cập sở liệu web * Cơ chế hoạt động chương trình [1] Client thực truy nhập vào Web server thơng qua trình duyệt Web, Applet có chức truy nhập CSDL Web tải trình duyệt phía client Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 31/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web [2] Applet trình duyệt Web phía client khởi động, sau thực kết nối đến đối tượng RMI Application Server phía server, kết nối thành công Applet thực lời gọi phương thức từ đối tượng RMI Application Server [3] Đối tượng RMI Application Server phía server thực truy nhập CSDL lấy liệu theo u cầu phía client thơng qua cầu nối jdbc:microsoft:sqlserver [4] Đối tượng RMI Application Server trả liệu yêu cầu cho phía client kết lời gọi phương thức thông thường 4.3 Thiết kế chương trình Cơ sở liệu sử dụng chương trình xây dựng hệ quản trị sở liệu MS SQL Server có tên Database có bảng nhanvien Account có cấu trúc sau: Hình 4.8 Cấu trúc bảng nhanvien bảng Account chương trình 4.3.1 Các tệp xây dựng chương trình * Đặc tả giao tiếp interface - Readdatabase.java: khai báo phương thức thực thi - Client.java : lớp thực thi phía Client * Cài đặt cho lớp Readdatabase.java - ReaddatabaseImpl.java: cài đặt phương thức giao diện interface * Các tệp tin ứng dụng - readData.java : lớp hiển thị danh sách nhân viên Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 32/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web - addData.java: lớp thêm nhân viên - searchData.java: lớp tìm kiếm nhân viên - deleteData.java: lớp xóa nhân viên - DangNhap.java: Đăng nhập vào quyền quản trị hệ thống * Các tệp tin HTLM thư mục Web - index.html: Trang Web chủ - Themmoi.html: Trang bổ sung nhân viên - Thongtin.html: Trang hiển thị danh sách nhân viên - TimkiemNV.html: Trang tìm kiếm thơng tin nhân viên - XoaNV.html: Trang xóa thông tin nhân viên - DangNhap.html: Trang hiển thị giao diện đăng nhập quyền quản trị hệ thống 4.3.2 Các bước thực chương trình - Chạy tệp tin run_Server thư mục chứa mã nguồn - Truy cập vào địa : http://localhost/totnghiep/index.html 4.4 Một số giao diện chương trình Hình 4.9 Giao diện phía RMI Server sau khởi động Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 33/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Hình 4.10 Giao diện trang chủ Hình 4.11 Giao diện tồn thơng tin nhân viên Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 34/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Hình 4.12 Giao diện tìm kiếm thơng tin nhân viên Hình 4.13 Giao diện bổ sung nhân viên Nếu bạn chưa đăng nhập với quyền quản trị hệ thống bạn khơng có quyền bổ sung thêm nhân viên Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 35/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Hình 4.14 Giao diện xóa thơng tin nhân viên Hình 4.15 Giao diện đăng nhập quyền quản trị hệ thống Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 36/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web KẾT LUẬN Ngày việc phát triển phần mềm ứng dụng ln cần triển khai theo mơ hình phân tán, ứng dụng máy tính độc lập ứng dụng khơng ý nghĩa nhiều mặt thực tiễn Trong phạm vi đồ án, em tìm hiểu số khái niệm Java, mạng máy tính phương pháp, kỹ thuật triển khai ứng dụng phân tán Java Sau thời gian nghiên cứu triển khai, đồ án em đạt số kết sau: + Về mặt lý thuyết, đồ án trình bày khái niệm về: - Lập trình Java - Cơ sở mạng máy tính - Tìm hiểu kỹ thuật lập trình đối tượng phân tán Java với RMI (Gọi phương thức từ xa) + Về chương trình, em xây dựng chương trình demo truy cập sở liệu Web Chương trình có số chức sau: - Hiển thị tồn thơng tin nhân viên - Tìm kiếm thơng tin nhân viên - Bổ sung nhân viên - Xóa nhân viên Tất chức chương trình thực xa, người sử dụng quản trị hệ thống không cần bên máy chủ cập nhật thơng tin cho sở liệu Với kết lý thuyết đạt kinh nghiệm triển khai chương trình demo giúp em hiểu sâu kỹ thuật lập trình đối tượng phân tán triển khai ứng dụng sâu hơn: kết hợp RMI với Servlet, xây dựng hệ thống chia sẻ tài nguyên máy in… Với thời gian hạn chế trình độ có hạn, đồ án khơng thể tránh khỏi thiếu sót, em mong nhận nhận xét góp ý thầy bạn để đồ án hoàn thiện Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 37/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Phạm Văn Thiều, Nguyễn Quang Thanh, Hà Thị Thanh Tâm - Java dành cho sinh viên, NXB Thống kê, NXB 2000 [2] Nguyễn Viết Linh Đậu Quang Tuấn - Học nhanh kỹ thuật lập trình Java, Xí nghiệp in Bến Tre, NXB 2001 [3] Nguyễn Anh Tuấn - Giáo trình lập trình mạng Java, NXB Thống kê, Hà Nội, NXB 2003 [4] Đại Học Quốc Gia Thành phố Hồ Chí Minh - Giáo trình lập trình mạng Java, NXB Thống Kê, Hà Nội, NXB 2003 [5] Nguyễn Phương Lan, Hoàng Đức Hải - Lập trình ứng dụng Web với JSP/Servlet, NXB Lao Động Xã Hội Tài liệu tiếng Anh [1] Thinhking in Java (giáo trình điện tử) [2] Java_Network_Programming_(O'Reilly-2nd_Ed-2000) (giáo trình điện tử) [3] RMI - Java RMI - Tutorial (giáo trình điện tử) [4] Java Network Programming and Distributed Computing (Addison Wesley) Tài liệu khác [1] http://www.javavietnam.org/ [2] http://java.sun.com/ Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 38/77 ... ĐHDLHP Trang 11/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu Web Chương 3: LẬP TRÌNH ĐỐI TƯỢNG PHÂN TÁN VỚI RMI 3.1 Tổng quan RMI RMI3 công ngệ hệ thống phân tán cho phép máy... Là trình duyệt + Lớp trung gian : ứng dụng chạy máy chủ Web + Lớp sở liệu Sinh viên: Nguyễn Thế Long - Khoa CNTT - ĐHDLHP Trang 30/77 Tìm hiểu Lập trình phân tán với RMI ứng dụng truy cập sở liệu. .. trình phân tán với RMI ứng dụng truy cập sở liệu Web Web ứng dụng điển hình mơ hình ứng dụng đa tầng cụ thể mơ hình ba tầng Trình chủ Web nằm máy chủ, máy khách cần dùng trình duyệt Web (browser)

Ngày đăng: 06/12/2019, 07:05

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • LỜI MỞ ĐẦU

    • 1.1. Lịch sử ra đời của Java

    • 1.2. Chu trình phát triển chương trình với Java

    • 1.3. Môi trường Java

    • 1.4. Các dạng chương trình ứng dụng của Java

      • 1.4.1 Chương trình ứng dụng dạng độc lập

      • 1.4.2. Chương trình ứng dụng dạng Applet

      • 1.4.3 Chương trình ứng dụng ở dạng Applet lẫn dạng độc lập

      • 1.5. Các phần tử cơ sở của Java

        • 1.5.1. Định danh (Tên gọi)

        • 1.5.2. Các từ khóa

        • 1.5.3. Chú thích

        • 1.6. Các kiểu dữ liệu nguyên thủy

        • 1.7. Khai báo các biến

        • 1.8. Cấu trúc tệp chương trình Java

        • Chương 2: CƠ SỞ VỀ MẠNG MÁY TÍNH

          • 2.1. Định nghĩa mạng máy tính

          • 2.2. Phân loại mạng máy tính

          • 2.3. Một số kiến trúc mạng thường dùng

          • 2.4. Giao thức mạng

            • 2.4.1. Giao thức TCP/IP

              • 1. Giao thức IP

              • 2. Giao thức TCP

              • 2.4.2 Giao thức UDP

              • 2.5. Các mô hình hoạt động của mạng máy tính

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

Tài liệu liên quan