TIỂU LUẬN Môn: LẬP TRÌNH MẠNG YÊU CẦU ĐÁP ỨNG YÊU CẦU

28 396 0
TIỂU LUẬN Môn: LẬP TRÌNH MẠNG YÊU CẦU  ĐÁP ỨNG YÊU CẦU

Đ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

MỤC LỤC MỞ ĐẦU 1 PHẦN 1: CƠ SỞ LÝ THUYẾT 2 Chương 1: CÁC KIẾN THỨC CƠ SỞ 2 1.1 Vấn đề về yêu cầu từ xa: 2 1.1.1 Khái niệm yêu cầu từ xa: 2 1.1.2. Giải thuật tổng quát: 2 1.2. Giao dịch: 4 1.2.1. Khái niệm giao dịch (Transaction) 4 1.2.2. Các tính chất của giao dịch: 4 1.2.2.1. Tính nguyên tử (atomicity): 4 1.2.2.2. Tính nhất quán (consistency): 4 1.2.2.3. Tính biệt lập (isolation): 4 1.2.2.4. Tính bền vững (durability): 5 1.2.3. Các loại giao dịch: 5 1.3 Hoạt động phân tán: 5 Chương 2: KẾT NỐI CÁC CƠ SỞ DỮ LIỆU VỚI JDBC VÀ LẬP TRÌNH MẠNG 7 2.1. Giới thiệu về JDBC (Java DataBase Connectivity): 7 2.2. Lập trình trên mạng: 9 2.2.1 Một số lớp cần thiết của gói thư viện java.net. 9 2.2.2. RMI và lập trình phân tán hướng đối tượng trong Java: 10 2.2.2.1. Khái niệm chung. 10 2.2.2.2. Gọi phương thức từ xa và các vấn đề phát sinh 11 2.2.2.3. Vai trò các lớp trung gian STUB và SKELETION. 11 2.2.2.4. Cài đặt ứng dụng phân tán của RMI 12 2.2.2.5. Cơ chế gọi hàm từ xa của các đối tượng RMI một cách tổng quát 12 2.2.2.6. Bộ đăng ký (Registry) 14 PHẦN 2: THUẬT TOÁN LỒNG MỞ VÀ CHƯƠNG TRÌNH 15 Chương 1 Thuật giải 15 Chương 2: Chương trình 16 MỞ ĐẦU Chúng ta biết rằng một trong những tư tưởng lớn của hệ tin học phân tán là phân tán hóa quá trình xử lý thông tin và thực hiện công việc đó trên các trạm xa nhau. Hệ phân tán thực hiện hàng loạt các chức năng phức tạp, nhưng cơ bản nhất là đảm bảo cung cấp cho người sử dụng khả năng truy cập có kết qủa đến các loại tài nguyên vốn có và rất đa dạng của hệ thống như là những tài nguyên dùng chung. Một trong những ứng dụng quan trọng của mạng thông tin toàn cầu Internet là thương mại điện tử. Thương mại điện tử bao gồm nhiều vấn đề, ở đây ta chú trọng đến hệ thống mua bán từ xa, gọi tắt là hệ kinh doanh từ xa (HKDTX). Giả sử HKDTX giải quyết các vấn đề kinh doanh của mình trên địa bàn lớn. Tại mỗi vùng có có các server chứa các cơ sở dữ liệu (CSDL) được nối kết với nhau qua hệ thống truyền thông, và hệ có thể thực hiện được các chức năng chủ yếu như: 1. Cập nhật thường xuyên các thông tin trong CSDL. 2. Trả lời các yêu cầu thông tin có liên quan liên quan đến việc kinh doanh. 3. Đăng ký mua bán từ xa. Trong phạm vi đề tài này chỉ nghiên cứu yêu cầu và đáp ứng yêu cầu đối với hệ phân tán thông qua HKDTX. Nội dung đề tài gồm: Phần 1: Cơ sở lý thuyết Chương 1: Các kiến thức cơ sở Bao gồm các vấn đề về yêu cầu từ xa của hệ đa server, các loại giao dịch và hoạt động phân tán. Chương 2: Kết nối CSDL với JDBC và lập trình trên mạng. Phần 2: Thuật toán lồng mở và chương trình Chương 1: Thuật toán lồng mở Chương 2: Chương trình thể hiện thông tin truy vấn. Tôi xin chân thành cám ơn sự hướng dẫn của thầy Lê Văn Sơn và bạn bè đã tạo điều kiện giúp tôi hoàn thành đề tài này.

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA  TIỂU LUẬN Môn: LẬP TRÌNH MẠNG GVHD: PGS.TS Lê Văn Sơn HVTH: - Lê Hữu Liêm - Nguyễn Mạnh Hùng Lớp: Cao học KHMT khóa 11 Lập trình mạng ĐÀ NẴNG, tháng 03/2009 MỤC LỤC ĐÀ NẴNG, tháng 03/2009 2 MỞ ĐẦU 3 PHẦN 1: CƠ SỞ LÝ THUYẾT 4 Chương 1: CÁC KIẾN THỨC CƠ SỞ 4 1.1 Vấn đề về yêu cầu từ xa: 4 1.1.1 Khái niệm yêu cầu từ xa: 4 1.1.2. Giải thuật tổng quát: 4 Hệ thống A 4 Hệ thống B 5 1.2. Giao dịch: 6 1.2.1. Khái niệm giao dịch (Transaction) 6 1.2.2. Các tính chất của giao dịch: 6 1.2.2.1. Tính nguyên tử (atomicity): 6 1.2.2.2. Tính nhất quán (consistency): 6 1.2.2.3. Tính biệt lập (isolation): 6 1.2.2.4. Tính bền vững (durability): 7 1.2.3. Các loại giao dịch: 7 1.3 Hoạt động phân tán: 7 Chương 2: KẾT NỐI CÁC CƠ SỞ DỮ LIỆU VỚI JDBC VÀ LẬP TRÌNH MẠNG 9 2.1. Giới thiệu về JDBC (Java DataBase Connectivity): 9 2.2. Lập trình trên mạng: 11 2.2.1 Một số lớp cần thiết của gói thư viện java.net 11 2.2.2. RMI và lập trình phân tán hướng đối tượng trong Java: 12 2.2.2.1. Khái niệm chung 12 2.2.2.2. Gọi phương thức từ xa và các vấn đề phát sinh 13 2.2.2.3. Vai trò các lớp trung gian STUB và SKELETION 13 2.2.2.4. Cài đặt ứng dụng phân tán của RMI 14 2.2.2.5. Cơ chế gọi hàm từ xa của các đối tượng RMI một cách tổng quát 14 2.2.2.6. Bộ đăng ký (Registry) 16 PHẦN 2: THUẬT TOÁN LỒNG MỞ VÀ CHƯƠNG TRÌNH 17 Chương 1 Thuật giải 17 Chương 2: Chương trình 18 Lớp Khoa học máy tính – K11 (2009-2011) 2 Nhóm 8- Đề số 19 Lập trình mạng MỞ ĐẦU Chúng ta biết rằng một trong những tư tưởng lớn của hệ tin học phân tán là phân tán hóa quá trình xử lý thông tin và thực hiện công việc đó trên các trạm xa nhau. Hệ phân tán thực hiện hàng loạt các chức năng phức tạp, nhưng cơ bản nhất là đảm bảo cung cấp cho người sử dụng khả năng truy cập có kết qủa đến các loại tài nguyên vốn có và rất đa dạng của hệ thống như là những tài nguyên dùng chung. Một trong những ứng dụng quan trọng của mạng thông tin toàn cầu Internet là thương mại điện tử. Thương mại điện tử bao gồm nhiều vấn đề, ở đây ta chú trọng đến hệ thống mua bán từ xa, gọi tắt là hệ kinh doanh từ xa (HKDTX). Giả sử HKDTX giải quyết các vấn đề kinh doanh của mình trên địa bàn lớn. Tại mỗi vùng có có các server chứa các cơ sở dữ liệu (CSDL) được nối kết với nhau qua hệ thống truyền thông, và hệ có thể thực hiện được các chức năng chủ yếu như: 1. Cập nhật thường xuyên các thông tin trong CSDL. 2. Trả lời các yêu cầu thông tin có liên quan liên quan đến việc kinh doanh. 3. Đăng ký mua bán từ xa. Trong phạm vi đề tài này chỉ nghiên cứu yêu cầu và đáp ứng yêu cầu đối với hệ phân tán thông qua HKDTX. Nội dung đề tài gồm: Phần 1: Cơ sở lý thuyết Chương 1: Các kiến thức cơ sở Bao gồm các vấn đề về yêu cầu từ xa của hệ đa server, các loại giao dịch và hoạt động phân tán. Chương 2: Kết nối CSDL với JDBC và lập trình trên mạng. Phần 2: Thuật toán lồng mở và chương trình Chương 1: Thuật toán lồng mở Chương 2: Chương trình thể hiện thông tin truy vấn. Tôi xin chân thành cám ơn sự hướng dẫn của thầy Lê Văn Sơn và bạn bè đã tạo điều kiện giúp tôi hoàn thành đề tài này. Lớp Khoa học máy tính – K11 (2009-2011) 3 Nhóm 8- Đề số 19 Hệ thống A phatyeucau(B,yc) nhanlai(ketqua) Lập trình mạng Đà Nẵng, ngày 02 tháng 6 năm 2008 PHẦN 1: CƠ SỞ LÝ THUYẾT Chương 1: CÁC KIẾN THỨC CƠ SỞ 1.1 Vấn đề về yêu cầu từ xa: 1.1.1 Khái niệm yêu cầu từ xa: Ngày nay hầu hết các hoạt động kinh doanh, đào tạo, thư viện đều được xây dựng trên cơ sở nhiều Server mắc nối với nhau thông qua đường truyền. Tại mỗi Server có các chương trình quản lý và các cơ sở dữ liệu của hệ thống. Đề nghị được chỉ dẫn là chức năng đơn giản nhất của hệ thống.Giả sử có một khách hàng đang có mặt tại bộ phận của thành phố A muốn được cung cấp thông tin về giá cả của một mặt hàng do bộ phận này quản lý tại thành phố B ở xa và thể hiện một yêu cầu nào đó qua một truy vấn. Đầu kia sau khi tiếp nhận, việc truy tìm trong Cơ sở dữ liệu được tiến hành. Nếu có thông tin cần tìm thì thông tin đó sẽ được chuyển lại cho người yêu cầu. Nếu không có thì thông tin được chuyển sang 1 thành phố khác để tìm…. Để đáp ứng được yêu cầu này, hệ thống phải có khả năng thực hiện hàng loạt các thao tác xác định. 1. Trước hết, hệ phải có khả năng nhận biết thông tin cần thiết cho việc trả lời đang nằm tại vị trí nào. Đó chính là vấn đề trỏ thông tin. 2. Sau khi đã trỏ đúng vào địa chỉ chứa thông tin, hệ phải có khả năng tiếp nhận và ghi lại các yêu cầu chỉ dẫn. 3. Biên dịch các yêu cầu này thành dạng lệnh có thể thực hiện được để có thể truy tìm thông tin. 4. Thực hiện các công việc mang tính chất cục bộ của hệ thống cục bộ như kiểm tra quyền truy cập thông tin, thống kê số lượng người truy cập, lập hoá đơn dịch vụ và báo thanh toán dịch vụ… 5. Nếu tìm được thông tin theo yêu cầu thì gửi nó cho hệ thống yêu cầu. Theo kiểu tương tác này ta có mô hình Client/Server, trong đó hệ thống (hay trạm) gửi yêu cầu thông tin gọi là khách (Client), còn hệ thống tiếp nhận và giải quyết yêu cầu gọi là chủ (Server). 1.1.2. Giải thuật tổng quát: Có thể cài đặt trong A và B để triển khai theo mô hình Client/Server : Lớp Khoa học máy tính – K11 (2009-2011) 4 Nhóm 8- Đề số 19 Hệ thống B Lặp lại Nhanyeucau(s,nh) Nếu (hợp thức) thì Bắt đầu tracuucsdl thongke phatketqua(s,kq) Kết thúc Nếu không guitbao(s,thong bao) Cho đến khi đúng Lập trình mạng Ta sử dụng hàm nguyên thuỷ phatyeucau(B,yc) để gửi cho hệ thống B yêu cầu truy cập để tìm thông tin. Hàm nhanlai(ketqua) sẽ được sử dụng để trả lời cho A biết trạng thái của B. Tương tự như A, tại B người ta cài đặt thủ tục bao gồm các hàm nguyên thuỷ nhanyeucau(s,nh) – nhận yêu cầu trong nh, tracuucsdl – tra cứu thông tin theo yêu cầu trong CSDL, thongke- sử dụng riêng cho trạm nhận và phatketqua(s,kq), guitb(s,thongbao) được sử dụng để trả lời cho B. Trường hợp tra cứu vừa nêu là đơn giản bởi vì phép toán diễn ra độc lập. Có rất nhiều trường hợp phức tạp hơn, trong đó một phép tra cứu lại phụ thuộc vào các phép xử lý khác trước đó. Bây giờ, ta hãy xem xét trường hợp: một người từ thành phố A yêu cầu tập hợp thông tin chỉ dẫn liên quan đến hàng loạt phép tra cứu vào CSDL của bộ phận ở B mà kết quả của phép sau có được phụ thuộc vào kết quả của phép trước đó. Điều này không thể tiến hành bằng một lệnh hoặc là một hàm mà phải được tiến hành bằng thủ tục truy vấn. Thủ tục này có khả năng liên kết tự động các tra cứu sơ đẳng như hàm tracuucsdl lại với nhau. Chương trình truy vấn đầy đủ có thể được cài đặt tại máy Client hoặc tại máy Server. Hai giải pháp này khác nhau ở bản chất và khối lượng thông tin trao đổi giữa các trạm với nhau. Một trong những vấn đề cần phải quan tâm là độ tin cậy của thông tin. Thông tin là đúng tại thời điểm mà Server đọc nó, nhưng có thể sai khi Client nhận được, điều này liên quan đến việc làm tươi thông tin trong CSDL. Nói một cách tổng quát là cần phải có những giải pháp hữu hiệu cho việc truy cập đồng thời vào dữ liệu dùng chung. Lớp Khoa học máy tính – K11 (2009-2011) 5 Nhóm 8- Đề số 19 Lập trình mạng Trong thực tế, những trường hợp nêu trên hoàn toàn có thể diễn ra. Ví dụ như có một khách hàng tại A đề nghị mua hàng hoá H tại B và C. Anh ta có thể nhận được lời chấp nhận với một lượng cụ thể nhưng không có hoặc không đủ tại B và C. Trong khi truy cập để báo cho khách thì số lượng này cũng vừa được cập nhật. Nói tóm lại, khách nhận được thông tin mà trên thực tế không còn tồn tại nữa. 1.2. Giao dịch: 1.2.1. Khái niệm giao dịch (Transaction) Giao dịch được tạo bởi một dãy các thao tác đọc và ghi trên CSDL cùng với các bước tính toán cần thiết. Một giao dịch luôn luôn phải kết thúc ngay cả khi có xảy ra sự cố. - Nếu giao dịch có thể hoàn tất thành công tác vụ của nó ta bảo giao dịch có ủy thác (commit). Khi được ủy thác, giao dịch này được phản ánh vào CSDL và kết quả của giao dịch được lưu vào CSDL không thể hồi lại được. - Nếu giao dịch phải ngừng lại khi chưa hoàn tất công việc, ta bảo nó bị hủy bỏ (abort); Khi một giao dịch bị hủy bỏ, quá trình thực thi sẽ ngừng và tất cả mọi hành động đã được thực hiện đều phải được hồi lại (undo), đưa CSDL trở về trạng thái trước khi thực hiện giao dịch. Quá trình này gọi là cuộn ngược (rollback) 1.2.2. Các tính chất của giao dịch: Giao dịch là một đơn vị tính toán nhất quán và tin cậy do 4 tính chất - gọi chung là tính chất ACID: 1.2.2.1. Tính nguyên tử (atomicity): Tính nguyên tử liên quan đến sự kiện là một giao dịch được xử lý như một đơn vị họat tác. Chính vì thế mà các hành động của giao dịch: hoặc tất cả đều hoàn tất hoặc không hành động nào hoàn tất (hồi lại tất cả các hành động đã được thực hiện). 1.2.2.2. Tính nhất quán (consistency): Giao dịch là một chương trình đúng đắn, ánh xạ CSDL từ trạng thái nhất quán này sang trạng thái nhất quán khác. 1.2.2.3. Tính biệt lập (isolation): Một giao dịch đang thực thi không thể làm lộ ra các kết quả của nó cho những giao dịch khác đang cùng họat động trước khi nó ủy thác. Lớp Khoa học máy tính – K11 (2009-2011) 6 Nhóm 8- Đề số 19 Lập trình mạng 1.2.2.4. Tính bền vững (durability): Một khi giao dịch ủy thác, kết quả của nó được duy trì cố định và không bị xóa khỏi CSDL. 1.2.3. Các loại giao dịch: Dựa vào cấu trúc giao dịch được phân thành 3 họ lớn: - Giao dịch phẳng (flat transaction): là giao dịch có một khởi điểm duy nhất và một điểm kết thúc duy nhất. - Giao dịch lồng (nested transaction): đây là mô hình giao dịch cho phép một giao dịch chứa những giao dịch khác với điểm bắt đầu và ủy thác riêng của chúng. Các giao dịch khác này được gọi là giao dịch con. Mức độ lồng nói chung là để ngỏ, cho phép các giao dịch con cũng có thể có các giao dịch lồng. Ta phân biệt 2 kiểu lồng do các đặc trưng kết thúc của chúng: kiểu lồng đóng (closed nesting) và kiểu lồng mở (opened nesting) + Các giao dịch lồng đóng ủy thác theo lối từ dưới lên đến gốc. Vì thế một giao dịch con lồng được thực hiện bắt đầu sau cha và hoàn tất trước nó và việc ủy thác giao dịch con phụ thuộc vào việc ủy thác của giao dịch cha. + Các giao dịch lồng mở cho phép bên ngòai giao dịch thấy được các kết quả một phần của nó. Ưu điểm của giao dịch lồng: * Cung cấp mức độ “đồng thời” cao hơn cho các giao dịch. * Trong giao dịch phẳng, nếu 1 thao tác nào bị thất bại thì toàn bộ giao dịch đều bị hủy bỏ và khởi động lại; Còn trong giao dịch lồng, nếu một thao tác bị thất bại, chỉ có giao dịch con chứa thao tác đó mới cần phải hủy bỏ và khởi động lại. * Có thể tạo giao dịch mới từ giao dịch hiện có bằng cách đưa giao dịch cũ vào trong giao dịch mới làm giao dịch con của nó. - Lưu công (workflow): là tổ hợp các giao dịch lồng mở và lồng đóng. 1.3 Hoạt động phân tán: Từ khái niệm giao dịch ta xem bộ phận theo dõi họat động phân tán hoạt động như thế nào. Bộ phận theo dõi hoạt động phân tán gồm 2 đơn vị: bộ quản lý giao dịch (TM-Transaction Manager) và bộ xếp lịch (SC- Scheduler). Bộ quản lý giao dịch chịu trách nhiệm điều phối việc thực hiện các thao tác CSDL của các ứng dụng. Lớp Khoa học máy tính – K11 (2009-2011) 7 Nhóm 8- Đề số 19 Xếp lịch các thỉnh cầu Lập trình mạng Bộ xếp lịch chịu trách nhiệm cài đặt thuật toán điều khiển nhằm đồng bộ hóa việc truy xuất đến CSDL. Tham gia vào việc quản lý giao dịch phân tán là bộ quản lý khôi phục cục bộ (local recovery manager) có mặt tại mỗi vị trí. Chức năng của chúng là cài đặt các thủ tục khôi phục tại chỗ nhằm đưa CSDL về trạng thái nhất quán sau khi xảy ra sự cố. Mỗi giao dịch đều xuất phát từ một vị trí và ta gọi đó là vị trí khởi nguồn. Việc thực hiện các thao tác CSDL của một giao dịch được điều phối bởi TM tại vị trí khởi nguồn của giao dịch. Bộ quản lý giao dịch cài đặt một giao diện cho các ứng dụng, bao gồm 5 lệnh: begin_transaction, read, write, commit, abort: i. Begin_transaction: chỉ cho TM biết giao dịch mới bắt đầu. ii. Read: Nếu dữ liệu x được lưu cục bộ, giá trị của nó được đọc và chuyển cho giao dịch. Nếu không phải, TM sẽ chọn một bản sao của x và yêu cầu chuyển bản sao đó cho giao dịch. iii. Write: TM điều phối việc cập nhật giá trị x tại mỗi vị trí có chứa nó. Commit: TM điều phối việc cập nhật vật lý của tòan thể CSDL có chứa bản sao của mỗi dữ liệu mà một lệnh Write trước đó đã đưa ra. iv. Abort: TM kiểm tra lại rằng không có tác động nào của giao dịch được phản ánh trong CSDL. Khi cung cấp các dịch vụ này, TM có thể giao tiếp với SC và bộ xử lý dữ liệu tại cùng vị trí hoặc khác vị trí. Begin_transaction Kết quả Read, Write Commit, Abort với các SC khác Với các TM khác với các bộ xử lý dữ liệu Lớp Khoa học máy tính – K11 (2009-2011) 8 Nhóm 8- Đề số 19 Bộ quản lý giao dịch TM Bộ xếp lịch SC Lập trình mạng Đến các bộ xử lý dữ liệu Bộ phận theo dõi hoạt động phân tán Chương 2: KẾT NỐI CÁC CƠ SỞ DỮ LIỆU VỚI JDBC VÀ LẬP TRÌNH MẠNG 2.1. Giới thiệu về JDBC (Java DataBase Connectivity): JDBC của Sun là một công cụ phổ dụng hỗ trợ việc xây dựng những ứng dụng tích hợp, dựa trên những CSDL khác nhau được thiết lập ở nhiều nơi khác nhau trên mạng. JDBC là giao diện để kết nối với CSDL, gồm một tập các lớp đối tượng hỗ trợ để xử lý CSDL quan hệ và để tương tác với các nguồn dữ liệu khác nhau. JDBC API (Application Programming Interface) được JavaSoft phát triển và là một phần của tất cả các cài đặt ứng dụng của JVM. JDBC API cung cấp các chức năng cơ bản để truy nhập đến hầu hết các CSDL thông qua SQL như: - Thực hiệncác truy vấn vào một CSDL. - Xử lý kết quả truy vấn. - Xác định các thông tin về cấu hình hệ thống. JDBC định nghĩa các đối tượng API và các hàm để tương tác với những CSDL. Chương trình ứng dụng Java kết nối các CSDL phải được thực hiện theo các bước sau: 1. Tạo đối tượng kết nối vào CSDL bằng cách gọi hàm getConnection() để nhận đối tượng của lớp Connection. 2. Tạo ra một đối tượng của lớp Statement để xử lý câu lệnh. 3. Truyền tham số cho các lệnh SQL trong các hệ quản trị CSDL và các đối tượng xử lý câu lệnh đó. 4. Kết quả truy vấn là đối tượng của lớp ResultSet. Sau đây là một số giao diện, một số lớp trong gói java.sql và một số hàm chính của chúng. Lớp DriverManager Lớp DriverManager chịu trách nhiệm nạp các bộ điều khiển JDBC và tạo ra sự kết nối giữa các đối tượng của CSDL. Trước khi sử dụng một bộ điều khiển (Driver) thì nó phải đăng ký với DriveManager nhờ hàm forName() của lớp Class: try{ Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); Lớp Khoa học máy tính – K11 (2009-2011) 9 Nhóm 8- Đề số 19 Lập trình mạng Class.foeName(“com.oracle.jdbc.OracleDriver”); } catch (ClassNotFoundException e){ … //xử lý ngọai lệ } Sau đó chương trình phải kết nối với CSDL bằng cách sử dụng DriverManager.getConnection(jdbc:driver:databaseName) Giao diện Connection Giao diện java.sql.Connection phục vụ cho việc kết nối các CSDL Tạo một đối tượng con để kết nối: Connection con = DriverManager.getConnection(“url”,”username”,”password”); Trong đó: url là jdbc:driver:databaseName Một số hàm: Public abstract void commit() throws SQLException; ủy quyền thay đổi những kết quả đã cập nhật, nếu không thì những thay đổi trong quá trình cập nhật CSDL sẽ không được thực thi. Public abstract boolean getAutoCommit() throws SQLException; Public abstract void setAutoCommit(boolean autoCommit) throws SQLException; khôi phục các thông tin nếu giao dịch không thực hiện thành công. Giao diện Statement Giao diện Statement để thực hiện các câu lệnh của SQL. Trong Statement có các hàm: execute(), executeQuery(), executeUpdate(), executeBatch()…. nhận các tham đối là các câu lệnh của SQL để thực hiện như: CREATE, UDATE, INSERT… và có thể xử lý theo lô. Tạo đối tượng của Statement: Statement stmt = con.createStatement(); kết quả truy vấn được từ CSDL chỉ cho phép đọc. Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); kết quả truy vấn được từ CSDL cho phép thay đổi dữ liệu. Hàm addBatch(): cho phép thực hiện cập nhật các trường dữ liệu cùng một lúc. Hàm executeBatch(): chuyển các lệnh SQL thực hiện theo lô và trả về số bản ghi đã được cập nhật theo lô. Trong Statement có các hàm: execute(), executeQuery(), executeUpdate(), executeBatch()…. nhận các tham đối là các câu lệnh của SQL để thực hiện như: Lớp Khoa học máy tính – K11 (2009-2011) 10 Nhóm 8- Đề số 19 [...]... số 19 Lập trình mạng Giả sử có 3 Server được nối với nhau chứa các cơ sở dữ liệu về thông tin các loại hàng hóa - Tại máy khách, Client yêu cầu mua một mặt hàng với một số lượng nào đó Yêu cầu này sẽ được gửi đến 1 server nào đó do ta chọn - server1 chẳng hạn - Nếu tại server này đáp ứng được, thì sẽ thông báo cho Client biết - Nếu không, thì tiếp tục chuyển yêu cầu đến Server2, nếu Server2 đáp ứng được... máy mạng vật lý thực sự Máy khách có địa chỉ IP truy xuất đến bộ đăng ký rmiregistry của máy chủ có địa chỉ IP khác Trên máy chủ có 2 máy ảo hoạt động Máy ảo A chạy chương trình rmiregistry và Máy ảo B chạy phần cài đặt của đối tượng Lớp Khoa học máy tính – K11 (2009-2011) 16 Nhóm 8- Đề số 19 Lập trình mạng PHẦN 2: THUẬT TOÁN LỒNG MỞ VÀ CHƯƠNG TRÌNH Bài toán: Xây dựng chương trình thể hiện quá trình yêu. .. chuyển sang hàng tiếp theo 2.2 Lập trình trên mạng: Để trao đổi được giữa các ứng dụng với nhau trên mạng, Java sử dụng TCP/IP để kết nối mạng thông qua kết nối các socket để gửi và nhận các thông điệp Một socket đóng vai trò như một đầu cuối của quá trình trao đổi trong một hệ thống hay giữa hệ thống với nhau Java cung cấp nhiều lớp để thực hiện các nhiệm vụ của socket trên mạng 2.2.1 Một số lớp cần thiết... học máy tính – K11 (2009-2011) 16 Nhóm 8- Đề số 19 Lập trình mạng PHẦN 2: THUẬT TOÁN LỒNG MỞ VÀ CHƯƠNG TRÌNH Bài toán: Xây dựng chương trình thể hiện quá trình yêu cầu và đáp ứng yêu cầu của hệ phân tán Chương 1 Thuật giải Begin Nhận yêu cầu từ Client Truy vấn CSDL cục bộ D Trạng thái ủy thác Kết thúc GD1 Trả kết quả cho Client Khôi phục Khôi phục Mởgiaodịch 1 Yc thỏa Server 3 Server 2 Server 1 Mởgiaodịch... đến Server2, nếu Server2 đáp ứng được thì gởi thông tin về Server1, Server1 chuyển về Client - Nếu Server2 không đáp ứng được thì chuyển yêu cầu đến Server3 Server3 sẽ gửi thông báo (đáp ứng được hay không) về Server2, rồi Server2 trả về Server1, và Server1 chuyển về Client Chương 2: Chương trình /* Lớp cài đặt Client*/ //Client.java import javax.swing.*; import java.awt.event.*; import java.awt.*; import... nhau được gọi là triệu gọi phương thức cục bộ, đây là cách mà lập trình hướng đối tượng truyền thống vẫn sử dụng Tương tự, tương tác giữa C1, C2 ,C3 là tương tác cục bộ Tuy nhiên, đối tượng Java có thể gọi phương thức của đối tượng nằm trên một máy khác dựa vào giao thức triệu gọi từ xa RMI Lớp Khoa học máy tính – K11 (2009-2011) 12 Lập trình mạng Nhóm 8- Đề số 19 2.2.2.2 Gọi phương thức từ xa và các... khác Lớp Khoa học máy tính – K11 (2009-2011) 15 Lập trình mạng Nhóm 8- Đề số 19 - Sử dụng lớp giao tiếp (Calculator.class) và CalculatorImpl_Stub từ máy khách để gọi phương thức của đối tượng trên máy chủ 2.2.2.6 Bộ đăng ký (Registry) Cơ chế làm việc của máy ảo Java khi đăng ký và gọi đối tượng giữa trình khách và chủ Trên thực tế nếu hoạt động thực sự qua mạng thì chỉ có thể tách ra làm hai máy vật lý... RemoteException; public Vector RequestServerI(int PortI,String itemNo, int Quantity) throws RemoteException; } Lớp Khoa học máy tính – K11 (2009-2011) 27 Nhóm 8- Đề số 19 Lập trình mạng TÀI LIỆU THAM KHẢO -  - [1] Đoàn Văn Ban Lập trình hướng đối tượng với Java NXB Khoa học kỹ thuật Hà Nội – 2005 [2] Hoàng Đức Hải, Phương Lan Java - Tập 2 NXB Lao Động xã hội Hồ Chí Minh – 2005 [3] Lê Văn Sơn Hệ tin... socket của máy khách nơi có yêu cầu nối vào máy chủ public void close() throws IOException: máy chủ cắt đứt mọi kết nối - Lớp DatagramSocket: cài đặt cho giao thức kết nối - Lớp DatagramPacket: mô tả chi tiết về nơi nhận và dữ liệu được gửi đi - Lớp SocketImpl: cài đặt cho Server Socket và Sorket - Lớp SocketImplFactory: một thể hiện cụ thể của SocketImpl 2.2.2 RMI và lập trình phân tán hướng đối tượng... mã lệnh của phương thức) Phía máy khách lớp trung gian này được gọi lớp móc (stub) Phía máy chủ lớp trung gian gọi lớp nối (skeletion) Lớp Khoa học máy tính – K11 (2009-2011) 13 Lập trình mạng Nhóm 8- Đề số 19 2.2.2.4 Cài đặt ứng dụng phân tán của RMI Hình vẽ biểu thị: Triệu gọi đối tượng RMI giữa Server2 và Server1 Đối tượng Calculator/Server2 sẽ được gọi bởi đối tượng CalculatorClient/Server1 Chúng . (2009-2011) 18 Nhóm 8- Đề số 19 Lập trình mạng { super("Client"); contentPane = (JPanel) getContentPane(); contentPane.setLayout(null); contentPane.setSize(new Dimension(460, 180 )); //. Khoa học máy tính – K11 (2009-2011) 3 Nhóm 8- Đề số 19 Hệ thống A phatyeucau(B,yc) nhanlai(ketqua) Lập trình mạng Đà Nẵng, ngày 02 tháng 6 năm 20 08 PHẦN 1: CƠ SỞ LÝ THUYẾT Chương 1: CÁC KIẾN. các SC khác Với các TM khác với các bộ xử lý dữ liệu Lớp Khoa học máy tính – K11 (2009-2011) 8 Nhóm 8- Đề số 19 Bộ quản lý giao dịch TM Bộ xếp lịch SC Lập trình mạng Đến các bộ xử lý dữ liệu Bộ

Ngày đăng: 12/11/2014, 08:51

Từ khóa liên quan

Mục lục

  • Hệ thống A

  • Hệ thống B

  • ĐÀ NẴNG, tháng 03/2009

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

Tài liệu liên quan