Transcript File

.NET remoting
Nội dung
• Trong phần này sẽ thực hiện các vấn đề sau:
– Thực thi ứng dụng remote server
– Sử dụng ứng dụng remote Server để phân phối tool
admin và các component của PTSLibrary.
Hệ thống phân tán trong .NET
• Có hai cách xây dựng hệ thống phân tán trong .NET để
khởi tạo một đối tượng của máy tính khác qua local
proxy.
– Webservice: thực hiện thông qua platform, do đó được sử dụng
để cung cấp các dịch vụ cho Client và có thể viết bằng ngôn
ngữ lập trình bất kỳ.
– .NET Remoting: Thực hiện chỉ khi giữa Client và Server được
viết bởi công nghệ .NET.
Kiến trúc .NET Remoting
Dịch chuyển dữ liệu
• Dịch chuyển dữ liệu xác định cách thức chuyển một đối
tượng đến Client.
• Đối tượng có thể được dịch chuyển:
– Bằng các giá trị: bản copy của đối tượng server được gửi đi và
giữ lại trong miền Client.
– Bằng tham chiếu: Client chỉ giữ phần tham chiếu đến Client
Dịch chuyển dữ liệu bằng giá trị
• Trong ứng dụng, chúng ta sẽ dịch chuyển các đối tượng
Business bằng giá trị
• Các đối tượng sẽ được lưu lại trên Client, nên sẽ thực thi
nhanh hơn khi thực hiện bằng tham chiếu.
• Để thực hiện điều này, ta thêm thuộc tính [Serializable]
vào class mà muốn dịch chuyển.
Dịch chuyển dữ liệu bằng giá trị
• Thêm thuộc tính [Serializable] vào các lớp trong project
PTSLibrary.
–
–
–
–
–
–
Customer
Project
Task
Team
TeamLeader
User
Dịch chuyển dữ liệu bằng tham chiếu
• Chúng ta sẽ dịch chuyển lớp PTSAdminFacade bằng
tham chiếu
• Đối tượng sẽ lưu lại trên server và tất cả việc gọi thực thi
qua proxy.
• Để thực hiện được điều này, cần tạo ra sự kế thừa từ
MarshalByRefObject
Tạo Project
Tạo Project
Tạo Project
• Cũng như ứng dụng remote server truy cập đến các class
trong PTSLibrary, trong project này cần phải thêm tham
chiếu đến PTSLibrary.
• Ngoài ra, khi truy cập đến các lớp của .NET remoting ta
cần phải thêm tham chiếu đến namespace
System.Runtime.Remoting
Tạo Project
• Chọn System.Runtime.Remoting từ trong .NET
Tạo Project
• Thêm các tham chiếu trực tiếp đến class
Tạo Project
• Thực thi project
Admin Tool
•
•
•
•
Ứng dụng remote server đã được sẵ sàng
Cần thay đổi tool Admin để làm việc với .NET remoting
Mở project AminAplication
Thêm tham chiếu đến System.Runtime.Remoting và
thêm trực tiếp tham chiếu vào frmAdmin
– using System.Runtime.Remoting;
– using System.Runtime.Remoting.Channels;
– using System.Runtime.Remoting.Channels.Http;
Admin Tool
Tương tự như trong ứng dụng
remote server
Tạo ra một proxy
Ký hiệu server
Ký hiệu port
Ký hiệu URI
Thử nghiệm .NET remotting
• Chạy ứng dụng remote server
• Khi remote server đang được thực thi, chạy ứng dụng
admin tool.
Tổng kết
• Đã xây dựng được project hoạt động như một ứng dụng
remote server.
• Các thành phần business đã được thay đổi, vì cần phải
dịch chuyển dữ liệu.
• Công cụ admin tool thực hiện với .NET remoting