28
Windows Communication Foundation - Giáo viên : Phạm Hoàng Hải - Các thành viên nhóm : 1. Đồng Vũ Phương Nam 0867088 2. Phan Minh Trí0867189 3. Trương Đình Chính 0867192 Đề tài tìm hiểu : 06/14/2022 1

Đề tài tìm hiểu WCF

Embed Size (px)

DESCRIPTION

Đề tài, đồ án tìm hiểu WCF (Windows Communication Foundation).

Citation preview

Page 1: Đề tài tìm hiểu WCF

04/13/2023 1

Windows Communication Foundation

- Giáo viên : Phạm Hoàng Hải- Các thành viên nhóm :

1. Đồng Vũ Phương Nam 0867088

2. Phan Minh Trí 0867189

3. Trương Đình Chính 0867192

Đề tài tìm hiểu :

Page 2: Đề tài tìm hiểu WCF

04/13/2023 2

GIỚI THIỆUWCF (Windows Comunication

Foundation) là gì ?Tại sao phải dùng WCF ?Kiến trúc của WCF Các tính năng của WCFMô hình lập trình WCFKiến trúc ABCs của WCFCông cụ phát triển - Demo

Page 3: Đề tài tìm hiểu WCF

04/13/2023 3

Vấn đề phát sinh

Các phần mềm hiện nay yêu cầu khả năng tích hợp cao.

…Xây dựng các hệ thống có tính kết nối là rất khó!

1.Có rất nhiều công nghệ giải quyết cho vấn đề truyền thông và tích hợp hiện nay

->Chọn cái nào?2.Nhu cầu thay đổi nền tảng ứng dụng xảy ra

bất cứ lúc nào->Làm sao để chuyển đổi mà tiết kiệm chi phí

Page 4: Đề tài tìm hiểu WCF

04/13/2023 4

WCF là gì ?

Là một công nghệ nền tảngĐược hỗ trợ trong .NET Frame Work 3.0Sử dụng các bản tin SOAP giữa hai tiến

trình

Page 5: Đề tài tìm hiểu WCF

04/13/2023 5

Tại sao dùng WCF ?

Page 6: Đề tài tìm hiểu WCF

04/13/2023 6

Tại sao dùng WCF ?

Thực hiện được nhiều phương pháp liên lạcĐảm bảo tính ổn địnhBảo mật tốtĐảm bảo giao dịch

Page 7: Đề tài tìm hiểu WCF

04/13/2023 7

Kiến trúc của WCF

Các lớp chủ yếu của kiến trúc WCF

Page 8: Đề tài tìm hiểu WCF

04/13/2023 8

Kiến trúc của WCF

Contracts (Các hiệp định) Data Contract (Contract dữ liệu)

Message Contract (Contract bản tin)

Service Contract (Contract dịch vụ)

Policy and Binding (Chính sách và kết nối)

Page 9: Đề tài tìm hiểu WCF

04/13/2023 9

Kiến trúc của WCFData Contracts

• [DataContract]:cho biết một class được khai báo có thể được serialized và deserialized như một XML stream bởi WCF.• [Datamember] :Cho biết thuộc tính nào sẽ được serialized và deserialized.

Page 10: Đề tài tìm hiểu WCF

04/13/2023 10

Kiến trúc của WCF

Message Contracts

Page 11: Đề tài tìm hiểu WCF

04/13/2023 11

Kiến trúc của WCFService Contracts• [ServiceContract]:cho biết một interface là một service contract. WCF dựa vào thuộc tính này để sinh ra metadata cho client khi sử dụng.• [OperationContract]:Cho biết phương thức nàosẽ được đưa vào sử dụng.

Page 12: Đề tài tìm hiểu WCF

04/13/2023 12

Kiến trúc của WCF

Runtime Service (Dịch vụ thực thi) Throttling behavior Error behavior Metadata behavior Instance behavior Transaction behavior Message inspection Dispatch behavior Concurrency behavior Parameter filtering

Page 13: Đề tài tìm hiểu WCF

04/13/2023 13

Kiến trúc của WCF

Message (Bản tin) Transport Channel (Kênh vận chuyển)

Control Channel (Kênh điều khiển)

Page 14: Đề tài tìm hiểu WCF

04/13/2023 14

Kiến trúc của WCF

Host and activation (Chứa và kích hoạt)

Page 15: Đề tài tìm hiểu WCF

04/13/2023 15

Các tính năng của WCF

Các tính năng chính Transaction (Giao dịch) Host (Chứa) Securrity (Bảo mật)

Page 16: Đề tài tìm hiểu WCF

04/13/2023 16

So sánh cấu trúc mô hình dịch vụ: Cấu trúc của một mô hình dịch vụ trong web:

• Service (Dịch vụ)• Binding (Cách thức kết nối)• PortType (Kiểu cổng)

Cấu trúc của một mô hình dịch vụ trong WCF

(được cung cấp trong System.ServiceModel):• Adress (Địa chỉ)• Binding (Cách thức kết nối)• Contract (Phương thức kết nối)

Mô hình lập trình

Page 17: Đề tài tìm hiểu WCF

04/13/2023 17

Mô hình lập trình

Các phương pháp lập trình với WCF: Phương pháp khai báo Phương pháp lập trình trực tiếp Phưng pháp sử dụng tập tin cấu hình

Page 18: Đề tài tìm hiểu WCF

04/13/2023 18

Mô hình lập trìnhPhương pháp khai báo

Được thực hiện thông qua các thuộc tính. Những thuộc tính này được sử dụng để xác định các hợp đồng và hành vi của các dịch vụ.

Page 19: Đề tài tìm hiểu WCF

04/13/2023 19

Mô hình lập trìnhPhương pháp lập trình trực tiếp

Cho phép bạn làm việc trực tiếp với tất cả các lớp và giao diện được cung cấp bởi mô hình đối tượng WCF.

Page 20: Đề tài tìm hiểu WCF

04/13/2023 20

Mô hình lập trìnhPhương pháp sử dụng tập tin cấu hình

Cấu hình tập tin không cần biên dịch lại

Page 21: Đề tài tìm hiểu WCF

04/13/2023 21

Kiến trúc ABCs của WCF

Page 22: Đề tài tìm hiểu WCF

04/13/2023 22

Kiến trúc ABCs của WCFEndpointsAddress: Where?- Chỉ ra nơi nào để gửi và nhận thông điệp

- Chỉ ra nơi nào để tìm ra Endpoints

Binding: How?- Chỉ ra làm cách nào để gửi thông điệp

- Chỉ ra làm sao để client liên lạc với Service endpoints

Contract: What?- Chỉ ra những cái gì được bao gồm trong thông điệp

- Chỉ ra những dịch vụ nào client có thể sử dụng

Page 23: Đề tài tìm hiểu WCF

04/13/2023 23

Kiến trúc ABCs của WCF1.AddressNơi để truyền và nhận thông điệpCung cấp thông tin:Đường dẫnGiao thức vận chuyểnTên HostCổng truy cập

Page 24: Đề tài tìm hiểu WCF

04/13/2023 24

Kiến trúc ABCs của WCF Address URISchemeHostPortPath

Chi sẽ Port thông qua Tcp Port Sharing

ServiceChia sẽ Port

thông qua Http

Page 25: Đề tài tìm hiểu WCF

04/13/2023 25

Kiến trúc ABCs của WCF2.Bindings(Gắn kết)Mô tả cách Client kết nối với serviceĐịnh dạng dữ liệu mong muốnCó thể bao gồm các thông tin

- Giao thức vận chuyển

- Định dạng mã hóa thông điệp

- Cơ chế bảo mật

- Cơ chế giao dịch

- Tính tin cậy trong liên lạc

Page 26: Đề tài tìm hiểu WCF

04/13/2023 26

Kiến trúc ABCs của WCF3.Contract (Hợp đồng)[Service Contract] : Là một Interface[OperationContract]: Mô tả các phép toán

có thể thực thi bởi service - Toàn bộ data phải được serializable

[Data Contract] : Mô tả cấu trúc dữ liệu và cách mà dữ liệu được serializable.

Page 27: Đề tài tìm hiểu WCF

04/13/2023 27

Công cụ phát triển - Demo

.NET Framework 3.0Visual Strudio 2008 hoặc mới hơn

Page 28: Đề tài tìm hiểu WCF

04/13/2023 28

Tham khảo thêm…

Windows Communication Foundation

http://msdn.microsoft.com/en-us/library/dd456779.aspx

http://www.wcftutorial.net/Home.aspx

http://msdn.microsoft.com/en-au/library/ms735119.aspx