CHƯƠNG I: TỔNG QUAN 1.1 Mục đích Xây dựng hệ thống Theo Dõi Bảo Dưỡng Xe Ôtô để các nhân viên trong một Garage có thể thuận tiện tra cứu thông tin bảo dưỡng và hoàn thành công việc đúng tiến độ một cách dễ dàng nhất, và đặc biệt là sẽ không phải phụ thuộc vào một bên thứ 3 cung cấp dịch vụ và còn nhằm bảo đảm tính thuận tiện và bảo mật. Dễ dàng cài đặt, thiết lập cũng như bảo trì và nâng cấp hệ thống.2 Bối cảnh Với hệ thống này, không chỉ giúp cho sự làm việc thuận tiện và hiệu qua của các nhân viên, phòng ban. Mà còn là sự thuận thiện trong việc giám sát của cấp trên với cấp dưới cũng như việc phân công công việc giữa các cấp và các phòng ban với nhau.2 Mục tiêu Tìm hiểu được mô hình Client – Server. Nắm rõ cách hoạt động của mô hình Client – Server.
Tạo sự dễ dàng và đơn giản trong các thao tác sử dụng. 5 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.may CHƯƠNG II: CƠ SỞ LÝ THUYẾT 2.1 Mô hình ứng dụng Client-Server.1 Kiến trúc Client-Server. Kiến trúc Client-Server được sử dụng trong các hệ thống phân tán và bao gồm hai thành phần riêng biệt: Server đóng vai trò phục vụ cung cấp chức năng và Client đóng vai trò người tiêu thụ sử dụng các chức năng đó. Thông thường hai thành phần này kết nối với nhau qua mạng, với Client là bên chủ động tạo kết nối và gửi yêu cầu đến Server, trong khi Server thụ động lắng nghe và hồi đáp các yêu cầu đó.
Mô hình Client-Server đơn giản nhất gồm một Server phục vụ cho một hoặc nhiều Client đồng thời, còn gọi là kiến trúc hai lớp (2-Tier). Một ví dụ phổ biến nhất cho các ứng dung Client-Server là các chương trình chat và email đá quá thông dụng hiện nay.2 Ưu điểm của kiến trúc Client-Server. Quản lý tập trung: dữ liệu được lưu trữ tập trung trên Server thay vì nằm rải rác trên nhiều máy, giúp đơn giản hóa việc truy xuất và cập nhật dữ liệu. Dễ bảo trì: nhờ khả năng quản lý tập trung mà công việc bảo trì cũng trở nên nhẹ nhàng hơn vì phần lớn việc bảo trì chỉ cần thực hiện trên Server.
Trong trường hợp hệ thống có nhiều Server với thiết bị dự phòng, quá trình bảo trì (như sửa chữa, thay thế Server) có thể diễn ra hoàn toàn trong suốt với phía Client. Bảo mật dữ liệu tập trung trên Server đồng nghĩa với việc kiểm soát dễ dàng hơn. 6 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.may Hình 1: Mô hình client-server.2 Ứng dụng theo mô hình Client-Server.1 Cách thức hoạt động. Các tiến trình Clients và Servers có thể chạy cùng một trạm (host) hoặc các trạm khác nhau và là các đối tượng logic tách biệt và liên lạc với nhau qua mạng để cùng thực hiện một công việc.
Trong đó: 7 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.may Server: quản lý nguồn tài nguyên, nhận request từ Clients để cung cấp và phân phối tài nguyên cho Clients. Client: là chương trình giao tiếp với người sử dụng, có nhiệm vụ gửi request cho Server và thể hiện việc tiếp nhận tài nguyên đó. Client: Khởi tạo kết nối với server trước. Yêu cầu dịch vụ nào đó từ server.
Server: Chấp nhận yêu cầu và tạo kết nối với client. Tính toán và cung cấp dịch vụ theo yêu cầu của client. Hình 2: Cách hoạt động của mô hình Client-Server.2 Đặc trưng của mô hình ứng dụng Client-Server. Hoạt động theo kiểu giao thức bất đối xứng 8 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.may Thể hiện quan hệ một chiều giữa các Client và một Server.
Client bắt đầu phiên hội thoại bằng cách yêu cầu dịch vụ Server sẵn sang chờ các yêu cầu từ Client. Chia sẻ tài nguyên : + Một server có thể chiwa sẻ tài nguyên cho nhiều client cùng 1 lúc. + Server cũng có khả năng điều phối truy nhập các client đến các tài nguyên dùng chung.3 Lập trình JAVA 2.1 Giới thiệu khái quát ngôn ngữ Java. Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP).
Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy. Bằng cách này, Java thường chạy nhanh hơn những ngôn ngữ lập trình thông dịch khác như Python, Perl, PHP,… Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn.2 Một sô đặc điểm nổi bật của ngôn ngữ lập trình Java. Máy ảo Java (JVM – Java Virtual Machine) Tất cả các chương trình muốn thực thi được thì phải được biên dịch ra mã máy.Mã máy của từng kiến trúc CPU của mỗi máy tính là khác nhau (tập lệnh mã máy của CPU Intel, CPU Solarix, CPU Macintosh … là khác nhau), vì vậy trước đây một chương trình sau khi được biên dịch xong chỉ có thể chạy được trên một kiến trúc CPU cụ thể 9 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO. Đối với CPU Intel chúng ta có thể chạy các hệ điều hành như Microsoft Windows, Unix, Linux, OS/2, … Chương trình thực thi được trên Windows được biên dịch dưới dạng file có đuôi .EXE còn trên Linux thì được biên dịch dưới dạng file có đuôi .ELF, vì vậy trước đây một chương trình chạy được trên Windows muốn chạy được trên hệ điều hành khác như Linux chẳng hạn thì phải chỉnh sửa và biên dịch lại.
Ngôn ngữ lập trình Java ra đời, nhờ vào máy ảo Java mà khó khăn nêu trên đã được khắc phục. Một chương trình viết bằng ngôn ngữ lập trình Java sẽ được biên dịch ra mã của máy ảo java (mã java bytecode). Sau đó máy ảo Java chịu trách nhiệm chuyển mã java bytecode thành mã máy tương ứng.Sun Microsystem chịu trách nhiệm phát triển các máy ảo Java chạy trên các hệ điều hành trên các kiến trúc CPU khác nhau. Thông dịch: Java là một ngôn ngữ lập trình vừa biên dịch vừa thông dịch.
Chương trình nguồn viết bằng ngôn ngữ lập trình Java có đuôi *.java đầu tiên được biên dịch thành tập tin có đuôi *.class và sau đó sẽ được trình thông dịch thông dịch thành mã máy. Độc lập nền: Một chương trình viết bằng ngôn ngữ Java có thể chạy trên nhiều máy tính có hệ điều hành khác nhau (Windows, Unix, Linux, …) miễn sao ở đó có cài đặt máy ảo java (Java Virtual Machine). Viết một lần chạy mọi nơi (write once run anywhere). Hướng đối tượng: Hướng đối tượng trong Java tương tự như C++ nhưng Java là một ngôn ngữ lập trình hướng đối tượng hoàn toàn.
Tất cả mọi thứ đề cập đến trong Java đều liên quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính của một chương trình viết bằng Java (đó là hàm main) cũng phải đặt bên trong một lớp. Hướng đối tượng trong Java không có tính đa kế thừa (multi inheritance) như trong C++ mà thay vào đó 10 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.may Java đưa ra khái niệm interface để hỗ trợ tính đa kế thừa. Vấn đề này sẽ được bàn chi tiết trong phần sau. Đa nhiệm – đa luồng (MultiTasking – Multithreading): Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình có thể chạy song song cùng một thời điểm và tương tác với nhau.
Khả chuyển (portable): Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ cần chạy được trên máy ảo Java là có thể chạy được trên bất kỳ máy tính, hệ điều hành nào có máy ảo Java. “Viết một lần, chạy mọi nơi” (Write Once, Run Anywhere). Hỗ trợ mạnh cho việc phát triển ứng dụng: Công nghệ Java phát triển mạnh mẽ nhờ vào “đại gia Sun Microsystem” cung cấp nhiều công cụ, thư viện lập trình phong phú hỗ trợ cho việc phát triển nhiều loại hình ứng dụng khác nhau cụ thể như: J2SE (Java 2 Standard Edition) hỗ trợ phát triển những ứng dụng đơn, ứng dụng client-server; J2EE (Java 2 Enterprise Edition) hỗ trợ phát triển các ứng dụng thương mại, J2ME (Java 2 Micro Edition) hỗ trợ phát triển các ứng dụng trên các thiết bị di động, không dây, … 11 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.may CHƯƠNG III. PHÂN TÍCH THIẾT KẾ 3.1 Mô tả bài toán Mô hình Hệ thống theo dõi Bảo dưỡng xe Oto gồm 2 phần: Server và Client.
Quản lý các kết nối, các đăng nhập và xác thực tài khoản từ phía client kết nối đến. Thực hiện các thao tác kết nối truy vấn đến CSDL khi nhận các yêu cầu từ pclient client và đáp trả các yêu cầu đó. Thông báo cho người dùng khi xử lý các thao tác thêm, xoá, sửa, cập nhật. Kết nối vào server thông qua tên USER và PASSWORD nếu đã có tài khoản.
Tài khoản được cấp bởi Nhân viên có quyền Quản trị viên. Thực hiện thao tác thêm, xoá, sửa, cập nhật thông qua giao diện đồ hoạ hiển thị trên màn hình. 12 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.2 Kịch bản xử lý chương trình STT Client Server 1 Server chạy sẵn và chờ được kết nối. 2 Client gửi yêu cầu kết nối.
3 Server chấp nhận yêu cầu kết nối. 4 Client gửi yêu cầu đăng nhập bằng tài khoản và mật khẩu. 5 Server xác thực thông tin tài khoản và gửi lại xác thực và phân quyền của tài khoản. 6 Client nhận xác thực và hiển thị các chức năng trên giao diện theo quyền được cấp.
7 Client gửi yêu cầu nạp dữ liệu. 13 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.may 8 Server nhận yêu cầu nạp dữ liệu từ Client và truy vấn vào CSDL. 9 Server gửi lại các yêu cầu dữ liệu mà client cần 10 Client nhận được dữ liệu từ phía Server và lưu trong bộ nhớ tạm 11 Client thao tác các chức năng và gửi yêu cầu thêm, xoá, sửa, cập nhật cho Server. 12 Server nhận yêu cầu cầu thêm, xoá, sửa, cập nhật và dùng truy vấn để thực hiện trên CSDL.
Client gửi thao tác đăng xuất khi làm xong công việc Server nhận thao tác đăng xuất và ngắt kết nối với Client. Kết thúc quá trình làm việc. 14 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.3 Mô tả Cơ sở dữ liệu, các lớp, hàm xử lý chương trình.1 Cơ sở dữ liệu và driver kết nối cần thiết Sử dụng cơ sở dữ liệu my sql để lưu trữ dữ liệu.2 Chương trình cần thiết : Xampp. Thư viện Mysql-connector-java.3 Các lớp, hàm xử lý của chương trình.
15 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.may Client: Client.