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