1. Trang chủ
  2. » Thể loại khá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

20 2 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 159,69 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

-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ê

Trang 1

Xây dựng dựng ứng ứng dụng dụng phân phân tán tán dùng dùng NET Remoting & Windows

.NET Remoting & Windows Service Service

Giáo viên hướng dẫn: TS Hồ Bảo Quốc

Trần Thị Kim Phụng

Võ Ngọc Tân Nguyễn Bá Quang Lâm Nhóm thực hiện:

Đề tài:

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

-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ả

I KHÁI NIỆM NET REMOTING

Trang 6

II KIẾN TRÚC NET REMOTING

Trang 7

Trong đó:

-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

Trang 8

III MỘT SỐ CÁC KHÁI NIỆM

1 Local Object và Remote Object

2 Formatters

3 Channel

4 Đăng ký Channel

Trang 9

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

Trang 10

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

Trang 11

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

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

Trang 12

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

Trang 13

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

Trang 14

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)

Trang 15

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

IV CƠ CHẾ TRUYỀN ĐỐI TƯỢNG

Trang 16

1 Marshal-by-Value

IV CƠ CHẾ TRUYỀN ĐỐI TƯỢNG

-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

Trang 17

1 Marshal-by-Value

IV CƠ CHẾ TRUYỀN ĐỐI TƯỢNG

-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

Trang 18

2 Marshal-by-Reference

IV CƠ CHẾ TRUYỀN ĐỐI TƯỢNG

-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ộ

Trang 19

2 Marshal-by-Reference

IV CƠ CHẾ TRUYỀN ĐỐI TƯỢNG

-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

Trang 20

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

Ngày đăng: 16/05/2022, 23:44

🧩 Sản phẩm bạn có thể quan tâm

w