Xây dựng ứng dụng phân tán dùng .net remoting windows service

  • Số trang: 77 |
  • Loại file: PDF |
  • Lượt xem: 18 |
  • Lượt tải: 0
nganguyen

Đã đăng 34173 tài liệu

Mô tả:

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Đề tài: Xây dựng ứng dụng phân tán dùng .NET Remoting & Windows Service Giáo viên hướng dẫn: TS.Hồ Nhóm thực hiện: Bảo Quốc Trần Thị Kim Phụng Võ Ngọc Tân Nguyễn Bá Quang Lâm 1 1 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC NỘI DUNG Phần 1: Giới thiệu .NET Remoting Phần 2: Các bước xây dựng một ứng dụng phân tán dùng .NET Remoting Phần 3: Windows Service 2 2 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC NỘI DUNG Phần 1: Giới thiệu .NET Remoting I. Khái niệm .NET Remoting II. Kiến trúc .NET Remoting III. Một số khái niệm IV. Cơ chế truyền đối tượng V. Các loại Remote Object 3 3 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC I. KHÁI NIỆM .NET REMOTING - Remoting là kỹ thuật cho phép ứng dụng gọi các đối tượng khai báo ở những tiến trình trên máy tính khác thông qua hệ thống mạng 4 4 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC I. KHÁI NIỆM .NET REMOTING - Remoting là kỹ thuật tách các thành phần xử lý của ứng dụng khỏi các ràng buộc vị trí vật lý - Có thể định vị thành phần xử lý trên cùng máy, trên cùng hệ thống mạng, trên các máy nằm trên các hệ thống mạng khác - Remoting giúp việc gọi thực hiện các phương thức và truyền giá trị giữa các tiến trình thực hiện đơn giản - Remoting được xây dựng trên nền Common Language Runtime (CLR) và được sử dụng để xây dựng các ứng dụng phân tán một cách hiệu quả 5 5 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TÂM TIN HỌC II. KIẾN TRÚCTRUNG .NET REMOTING 6 6 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM Trong đó: TRUNG TÂM TIN HỌC - Client Object: đối tượng cần giao tiếp với Remote Object - Server (Remote) Object: nhận yêu cầu/xử lý và trả kết quả cho Client Object - Proxy: miêu tả Client Object trong Client Application, sẽ xúc tiến việc gọi của Client và trả lại kết quả của Server - Formatter: định dạng dữ liệu (SOAP, Binary,…) - Channel: kênh truyền dữ liệu (TCP, HTTP,…) - Dispatcher: tiến trình quản lý danh sách các xử lý được gởi đến Sever (Remote) Object 7 7 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC III. MỘT SỐ CÁC KHÁI NIỆM 1. Local Object và Remote Object 2. Formatters 3. Channel 4. Đăng ký Channel 8 8 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC III. MỘT SỐ CÁC KHÁI NIỆM 1. Local Object và Remote Object - Local Object là đối tượng trong phạm vi cùng application domain - Đối tượng gọi là Remote Object nếu nó được đặt bên trong một application domain khác - Remote Object kế thừa từ class có tên MarshalByRefObject 9 9 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC III. MỘT SỐ CÁC KHÁI NIỆM 2. Formatters - Formatters chịu trách nhiệm mô tả và mã hóa dữ liệu của đối tượng để có thể gởi đi qua mạng (serialization) - SOAP formatter sử dụng định dạng của XML để ghi thông tin theo cách đã được chuẩn hoá mà ứng dụng có thể hiểu được - Binary formatter tạo một binary data stream được hiểu bởi các trình ứng dụng .NET khác 10 10 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC III. MỘT SỐ CÁC KHÁI NIỆM 3. Channel - Các Channel được dùng để thiết lập việc truyền thông giữa .NET Server và .NET Client - Là lớp của namespace System.Runtime.Remoting có tên - Là đối tượng vận chuyển các thông điệp và dữ liệu từ tiến trình này đến tiến trình khác 11 11 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC III. MỘT SỐ CÁC KHÁI NIỆM 3. Channel - Một channel được đăng ký bởi ứng dụng remote server có thể lắng nghe điểm cuối (endpoint), chờ một thông điệp đến, và gởi đáp trả về sau đó cho ứng dụng client - Channel Protocol và Port number phải phù hợp cho sự truyền thông giữa client và server được thành công 12 12 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC III. MỘT SỐ CÁC KHÁI NIỆM 3. Channel - Có ba loại: HTTP, TCP và IPC • TCP: chuyển dữ liệu qua mạng theo dạng nhị phân bằng giao thức TCP để xử lý thông điệp từ remote objects • HTTP: chuyển dữ liệu qua mạng theo định dạng XML bằng giao thức SOAP • IPC (interprocess communication): cung cấp thêm các lựa chọn khi các xử lý xảy ra trong cùng một máy 13 13 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC III. MỘT SỐ CÁC KHÁI NIỆM 4. Đăng ký Channel - Ứng dụng server phải đăng ký một channel trước khi các client có thể liên lạc nó - Khi đăng ký một TCP channel hoặc một HTTP channel, phải gán một Port number - Các Port numbers từ 0 cho đến 1023 được dành riêng cho các ứng dụng chung - Có thể chỉ định Port number khác (lên tới 65,535) 14 14 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC IV. CƠ CHẾ TRUYỀN ĐỐI TƯỢNG Marshaling là quá trình chuẩn bị một đối tượng để di chuyển qua một ranh giới nào đó. Marshaling có thể được tiến hành theo 2 cách: 1. Marshal-by-Value 2. Marshal-by-Reference 15 15 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC IV. CƠ CHẾ TRUYỀN ĐỐI TƯỢNG 1. Marshal-by-Value - Khi một đối tượng marshal-by-value được gởi đi giữa các thành phần, một bản sao chép toàn bộ đối tượng sẽ được “tuần tự hóa” (serialized) và được gởi đi thông qua Remoting Channel tới bên gọi - Đối tượng sau đó được tái tạo bên trong tiến trình gọi, nhờ vậy bên gọi có thể sử dụng được đối tượng này 16 16 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC IV. CƠ CHẾ TRUYỀN ĐỐI TƯỢNG 1. Marshal-by-Value - Tất cả các lời gọi tiếp theo trên đối tượng được thực hiện bên tiến trình bên gọi - Việc sao chép và tái tạo toàn bộ đối tượng có thể tốn một ít thời gian, làm chậm khi lần đầu tiên gọi đối tượng, đôi khi lại có hiệu quả hơn việc tạo ra các “chuyến đi vòng qua vòng lại” giữa client và server khi muốn có nhiều lời gọi tới đối tượng 17 17 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC IV. CƠ CHẾ TRUYỀN ĐỐI TƯỢNG 2. Marshal-by-Reference - Khi một đối tượng marshal-by-reference được chuyển giữa các thành phần, một đối tượng proxy được tạo trong tiến trình gọi - Đối tượng này là một thay thế (stand-in) cho đối tượng remote, nó hiện diện ở client giống như là đối tượng ở xa và cho phép mã lệnh client tạo các lời gọi phương thức như thể là nó đang gọi một đối tượng cục bộ 18 18 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC IV. CƠ CHẾ TRUYỀN ĐỐI TƯỢNG 2. Marshal-by-Reference - Khi đối tượng gọi tạo nên các lời gọi phương thức trên đối tượng proxy, cơ sở hạ tầng .NET Remoting gởi các lời gọi này tới remote server - Sử dụng các đối tượng marshal-by-reference khi đối tượng phụ thuộc vào việc sử dụng nguồn tài nguyên 19 19 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TÂM TIN HỌC V. CÁC LOẠI TRUNG REMOTE OBJECT 1. Single call object (Marshal-by-Value) - Các object này thực hiện một phương thức nhưng không làm thay đổi trạng thái của nó - Đối tượng chỉ sử dụng để chia sẻ dữ liệu cho một client và có nhiều đối tượng được tạo ra 2. Singleton object (Marshal-by-Reference) - Các object này được sử dụng phục vụ cho nhiều client và chúng có thể thay đổi trạng thái - Sử dụng khi muốn chia sẻ dữ liệu cho nhiều client khác nhau và có một đối tượng được tạo ra 20 20
- Xem thêm -