1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

tiểu luận xây dựng ứng dụng phân tán dùng .net remoting & windows service

77 534 1
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xây dựng Ứng dụng Phân Tán Dùng .NET Remoting & Windows Service
Tác giả Trần Thị Kim Phụng, Võ Ngọc Tân, Nguyễn Bá Quang Lâm
Người hướng dẫn TS. Hồ Bảo Quốc
Trường học Trường Đại Học Khoa Học Tự Nhiên TP.HCM
Chuyên ngành Computer Science
Thể loại Đề tài
Năm xuất bản 2023
Thành phố TP.HCM
Định dạng
Số trang 77
Dung lượng 0,92 MB

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

Nội dung

TRUNG TÂM TIN HỌCNỘ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... -Remoting giúp việc gọi thực hiệ

Trang 1

.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

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

Trang 3

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

Trang 4

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

Trang 5

-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

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

TRUNG TÂM TIN HỌC

II KIẾN TRÚC NET REMOTING

Trang 7

-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

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

Trang 9

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

MarshalByRefObject

Trang 10

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

Trang 11

TRUNG TÂM TIN HỌC

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

3 Channel

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

TRUNG TÂM TIN HỌC

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

3 Channel

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

hợp cho sự truyền thông giữa client và server được thành công

Trang 13

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

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

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

TRUNG TÂM TIN HỌC

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

4 Đăng ký 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

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

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

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

Trang 16

TRUNG TÂM TIN HỌC

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

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

TRUNG TÂM TIN HỌC

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

TRUNG TÂM TIN HỌC

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

TRUNG TÂM TIN HỌC

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

TRUNG TÂM TIN HỌC

1 Single call object (Marshal-by-Value)

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)

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

Trang 22

TRUNG TÂM TIN HỌC

“Hello” và tên của người dùng.

Trang 24

TRUNG TÂM TIN HỌC

+ Chọn File\New\Project để tạo một Project mới + Trong cửa sổ New Project chọn Class Library

Xây dựng một ứng dụng phân tán

Trang 25

TRUNG TÂM TIN HỌC

+ Đặt tên cho đơi tượng vừa tạo ra là

Xây dựng một ứng dụng phân tán

Trang 26

TRUNG TÂM TIN HỌC

Xây dựng một ứng dụng phân tán

Trang 28

TRUNG TÂM TIN HỌC

+ Chọn File\New\Project để tạo một Project mới

+ Trong cửa sổ New Project chọn Windows

Form Application, đặt tên là Server

Xây dựng một ứng dụng phân tán

Trang 29

TRUNG TÂM TIN HỌC

Xây dựng một ứng dụng phân tán

Trang 30

TRUNG TÂM TIN HỌC

+ Thiết kế giao diện cho phép người dùng nhập

vào số hiệu một cổng để khởi động Server

Xây dựng một ứng dụng phân tán

Trang 32

TRUNG TÂM TIN HỌC

+ Tham chiếu đến MyRemoteClass đã tạo

Xây dựng một ứng dụng phân tán

Trang 34

TRUNG TÂM TIN HỌC

+ Thêm các namespace cần thiết

Xây dựng một ứng dụng phân tán

Trang 35

TRUNG TÂM TIN HỌC

+ Đăng ký kênh truyền và đăng ký đối tượng

remote

+ Chọn Build Solution

Xây dựng một ứng dụng phân tán

Trang 36

TRUNG TÂM TIN HỌC

Bước 3 :

Xây dựng Client Application

(Windows application)

Xây dựng một ứng dụng phân tán

Trang 37

TRUNG TÂM TIN HỌC

+ Các bước tạo Project (đặt tên là Client), thêm

các tham chiếu, không gian tên tương tự với Project Server.

+ Thiết kế giao diện cho phép người dùng nhập

tên máy tính, số hiệu cổng cần kết nối và tên người dùng

Xây dựng một ứng dụng phân tán

Trang 38

TRUNG TÂM TIN HỌC

+ Kết nối đến máy chủ thông qua tên, số hiệu

cổng và giao thức

Xây dựng một ứng dụng phân tán

Trang 40

TRUNG TÂM TIN HỌC

NỘI DUNG

Phần 3: Windows Windows Services Services

Trang 41

TRUNG TÂM TIN HỌC

Nội dung

Giới thiệu Windows Service

Các bước tạo Service Project

Trang 42

TRUNG TÂM TIN HỌC

Giới thiệu Windows Service

Windows service là những tiến trình thực thi

hậu cảnh, không hỗ trợ giao diện

Service có thể khởi động tự động khi khởi động

máy tính ngay cả khi người dùng chưa đăng

nhập

Service là cách lý tưởng để hiện thực một ứng dụng chạy hậu cảnh và không cần tương tác với người dùng

Trang 43

TRUNG TÂM TIN HỌC

Trang 44

TRUNG TÂM TIN HỌC

Trang 45

TRUNG TÂM TIN HỌC

Thiết lập thuộc tính

Trang 46

TRUNG TÂM TIN HỌC

Các bước tạo Windows Service

Thêm các control vào project

Người lập trình cần hiện thực các phương thức

OnStart và OnStop, đồng thời override bất kỳ phương thức nào mình cần

Build project

Thêm bộ installer cần thiết cho ứng dụng

service vừa tạo

Trang 47

TRUNG TÂM TIN HỌC

Tạo Install Project cho một Service

Không giống với các ứng dụng khác, người lập

trình không thể đơn giản chỉ thực thi file service

Các Service phải được cài đặt trước khi thực thi

.NET Framework cung cấp lớp ServiceInstaller

ServiceProcessInstaller cho mục đích này

Sử dụng ServiceInstaller để định nghĩa các thông tin:

mô tả service, tên hiển thị, tên service và loại khởi động

Sử dụng ServiceProcessInstaller định nghĩa các

thông tin tài khoản cho service

Trang 48

TRUNG TÂM TIN HỌC

Tạo Installer Project: Bước 1

Trang 49

TRUNG TÂM TIN HỌC

Tạo Installer Project: Bước 2, 3

Thiết lập StartType property của ServiceInstaller

Automatic: service sẽ tự động khởi đông sau khi máy

tính khởi đông

Manual (mặc định): người dùng phải khởi động

service

Disabled: service không khởi đông và người dùng

phải thay đổi thay đổi kiểu của StartType thành các giá trị ở trên

Thiết lập thuộc tính Description DisplayName

cho ServiceInstaller component

Trang 50

TRUNG TÂM TIN HỌC

Tạo Installer Project: Bước 4

Thiết lập thuộc tính Account cho ProjectInstaller của

ServiceProcessInstaller để cho biết security context

LocalService: tài khoản là một user không có quyền ưu tiên Sử

dụng LocalService để tối thiểu hóa các vấn đề bảo mật

NetworkService: Cho phép service đăng nhập vào máy khác

trên mạng

LocalSystem: Service thực thi với quyền gần như không giới

hạn

User (mặc định): Hệ thống cần chứng thực username và

password khi service được cài đặt

Có thể thiết lập Username và Password trong thuộc tính của lớp ServiceProcessInstaller

Trang 51

TRUNG TÂM TIN HỌC

Tạo Installer Project: Bước 5,6

Xác định startup project

Nhấp chuột phải lên Solution Explorer và sau đó

chọn Properties

Trong Project Designer, ở tab Application, chon

service từ danh sách Startup Object

Build project

Trang 52

TRUNG TÂM TIN HỌC

Triển khai dịch vụ - Deploy Service

Dùng InstallUtil

Deploy: InstallUtil yourservice.exe

Undeploy: InstallUtil /u yourservice.exe.

Trang 54

TRUNG TÂM TIN HỌC

Bước 1 Xây dựng Remote Object

Tạo class library

Trang 56

TRUNG TÂM TIN HỌC

public DataTable Doc_Bang(string

tenthutuc,Tham_So[] pts )

{ } Truyển vào tên của thủ tục nội tại và danh sách

tham số, trả về một bảng dữ liệu

Trang 57

tham số, trả về kết quả thực hiện TTNT

Trang 58

TRUNG TÂM TIN HỌC

Định nghĩa lớp tham số

Trang 59

TRUNG TÂM TIN HỌC

Bước 2 :Tạo Remote Server

Application

Trang 60

TRUNG TÂM TIN HỌC

Tạo Remote Server Application

Tham chiếu đến các thư viện

Trang 61

TRUNG TÂM TIN HỌC

Tạo Remote Server Application

Khai báo các biến

Trang 62

TRUNG TÂM TIN HỌC

-khai báo đối tượng Formatters

Trang 63

TRUNG TÂM TIN HỌC

Trang 64

TRUNG TÂM TIN HỌC

Trang 65

TRUNG TÂM TIN HỌC

đăng ký

Trang 66

TRUNG TÂM TIN HỌC

thống :Khởi động Visual Studio

Command với administrator

Trang 67

TRUNG TÂM TIN HỌC

thống :Khởi động Visual Studio

Command với administrator

Trang 68

TRUNG TÂM TIN HỌC

Proxy Object

Proxy object biểu diễn cho remote object được

tạo ra

Proxy object là một con trỏ đến remote object Nó

chứa các thông tin như vị trí server, kênh thông tin liên lạc được đăng ký

Một proxy object được tạo ra khi có một yêu

cầu của client

Trang 69

TRUNG TÂM TIN HỌC

Bước 3 :Tạo Clien Remoting

Trang 70

TRUNG TÂM TIN HỌC

Bước 3 :Tạo Clien Remoting

Tham chiếu đến các thư viện

Trang 71

TRUNG TÂM TIN HỌC

Bước 3 :Tạo Clien Remoting

Khai báo các biến toàn cục

Trang 72

TRUNG TÂM TIN HỌC

Bước 3 :Tạo Clien Remoting

Xây dựng thủ tục tạo Remoting Object

Trang 73

TRUNG TÂM TIN HỌC

Bước 3 :Tạo Clien Remoting

Trang 74

TRUNG TÂM TIN HỌC

Bước 3 :Tạo Clien Remoting

Trong sự kiện Click của nút Ghi

Trang 75

TRUNG TÂM TIN HỌC

Bước 3 :Tạo Clien Remoting

Xây dựng thủ tục trong sqlserver

Trang 76

TRUNG TÂM TIN HỌC

Bước 3 :Tạo Clien Remoting

Xây dựng thủ tục trong sqlserver

Trang 77

TRUNG TÂM TIN HỌC

bạn

Ngày đăng: 07/04/2014, 21:26

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w