intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tiểu luận: Xây dựng ứng dụng phân tán dùng .NET Remoting & Windows Service

Chia sẻ: Sdgvfcxg Sdgvfcxg | Ngày: | Loại File: PDF | Số trang:77

152
lượt xem
27
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung chính của bài thuyết trình Xây dựng ứng dụng phân tán dùng .NET Remoting & Windows Service nhằm giới thiệu .NET Remoting, các bước xây dựng một ứng dụng phân tán dùng .NET Remoting, Windows Service.

Chủ đề:
Lưu

Nội dung Text: Tiểu luận: Xây dựng ứng dụng phân tán dùng .NET Remoting & Windows Service

  1. 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ồ Bảo Quốc Nhóm thực hiện: Trần Thị Kim Phụng Võ Ngọc Tân Nguyễn Bá Quang Lâm 1 1
  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 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
  3. 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
  4. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM I. KHÁI NIỆM .NET REMOTING TRUNG TÂM TIN HỌC - 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
  5. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM I. KHÁI NIỆM .NET REMOTING TRUNG TÂM TIN HỌC - 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
  6. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM II. KIẾN TRÚCTRUNG TÂM TIN HỌC .NET REMOTING 6 6
  7. 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
  8. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM III. MỘT SỐ CÁC KHÁI NIỆM TRUNG TÂM TIN HỌC 1. Local Object và Remote Object 2. Formatters 3. Channel 4. Đăng ký Channel 8 8
  9. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM III. MỘT SỐ CÁC KHÁI NIỆM TRUNG TÂM TIN HỌC 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
  10. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM III. MỘT SỐ CÁC KHÁI NIỆM TRUNG TÂM TIN HỌC 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
  11. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM III. MỘT SỐ CÁC KHÁI NIỆM TRUNG TÂM TIN HỌC 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 có tên System.Runtime.Remoting - 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
  12. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM III. MỘT SỐ CÁC KHÁI NIỆM TRUNG TÂM TIN HỌC 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 - ChannelProtocol 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
  13. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM III. MỘT SỐ CÁC KHÁI NIỆM TRUNG TÂM TIN HỌC 3. Channel - Có ba loại: HTTP, TCP và IPC • TCP: chuyển dữ liệu qua mạngtheo 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
  14. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM III. MỘT SỐ CÁC KHÁI NIỆM TRUNG TÂM TIN HỌC 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ácPort 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
  15. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM IV. CƠ CHẾ TRUYỀN ĐỐI TƯỢNG TRUNG TÂM TIN HỌC 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
  16. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM IV. CƠ CHẾ TRUYỀN ĐỐI TƯỢNG TRUNG TÂM TIN HỌC 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
  17. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM IV. CƠ CHẾ TRUYỀN ĐỐI TƯỢNG TRUNG TÂM TIN HỌC 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
  18. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM IV. CƠ CHẾ TRUYỀN ĐỐI TƯỢNG TRUNG TÂM TIN HỌC 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
  19. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM IV. CƠ CHẾ TRUYỀN ĐỐI TƯỢNG TRUNG TÂM TIN HỌC 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
  20. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM V. CÁC LOẠI TRUNG TÂM TIN HỌC OBJECT REMOTE 1. Single call object (Marshal-by-Value) - Cácobject 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2