introduction wcf service

22
GIỚI THIỆU VỀ WCF SERVICE NHÓM 3: BÙI XUÂN QUANG NGUYỄN HỮU TRÍ 1

Upload: cong-thanh-nguyen

Post on 21-Jan-2017

602 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Introduction WCF Service

1

GIỚI THIỆU VỀ WCF SERVICE

NHÓM 3: BÙI XUÂN QUANG

NGUYỄN HỮU TRÍ

Page 2: Introduction WCF Service

Nội dung báo cáo

1. WCF là gi?2. Tại sao sử dụng WCF?

3. Declarative programming.4. Service Contract

1. Thuộc tính ServiceContract.2. Thuộc tính OperationContract.

5. Data Contract

2

Page 3: Introduction WCF Service

WCF là gì?

WCF là từ viết tắt của Windows Communication Foundation. Nó cho phép triển khai ứng dụng trong môi trường phân tán gồm nhiều

client giao tiếp với Server Service và kết hợp nhiều phương pháp giao tiếp trên các nền tảng khác nhau.

WCF là mô hình lập trình hợp nhất của Microsoft để xây dựng các ứng dụng hướng dịch vụ. Nó tích hợp nhiều nền tảng và các ứng dụng đã được xây dựng trước đó.

Được xây dựng trên .Net 2.0 và làm đơn giản hóa sự phát triển của các hệ thống kết nối.

Tạo ra một công nghệ thống nhất cho các công nghệ giao tiếp trước như: Web Services, .NET Remoting, COM+ …

3

Page 4: Introduction WCF Service

Tại sao sử dụng WCF ?

.NET 2.0 hỗ trợ rất nhiều phương pháp liên lạc giữa các ứng dụng khác nhau.

Với việc ra đời của WCF, mọi phương pháp liên lạc trước kia đều có thể thực hiện trên WCF.

WCF là một mô hình lập trình cho phép nhà phát triển xây dựng các giải pháp dịch vụ đảm bảo tính ổn định, bảo mật và thậm chí đảm bảo giao dịch.

Do WCF được xây dựng trên cơ sở .NET Framework 2.0 CLR, nó tập hợp các lớp cho phép nhà phát triển xây dựng các ứng dụng hướng dịch vụ bằng môi trường VB.NET hay C#.

4

Page 5: Introduction WCF Service

Kiến trúc WCF5

Page 6: Introduction WCF Service

Các Contracts

Data Contract môt tả các tham số cho các bản tin mà một dịch vụ có thể tạo hay sử dụng.

Message Contract định nghĩa các phần có trong bản tin sử dụng các giao thức SOAP.

Service Contract đặc tả chi tiết các phương thức của dịch vụ. Policy and Binding mô tả các điều kiện cần có để giao tiếp cới một dịch

vụ.

6

Page 7: Introduction WCF Service

Runtime Service

Throttling behavior điều kiển luồn. Error behavior quy định những hành động xảy ra khi lỗi. Metadata behavior hành xử với các siêu dữ liệu. Instance behavior hành xử thực thể, quy định bao nhiêu thực thể được chạy. Transaction behavior hành xử giao tiếp cho việc rollback. Message inspection kiểm tra bản tin. Dispatch behavior xác định bản tin được xử lý như thế nào. Concurrency behavior điều kiển số lượng luồng truy cập tới thực thể dịch vụ. Parameter filtering.

7

Page 8: Introduction WCF Service

Message

Tập hợp các kê. Mỗi kê là một thành phẩn xử lý bản tin theo cách nào đó. Có 2 kênh khác nhau:

Transport Channel: đọc và ghi bản tin. Control Channel: thực hiện xử lý bản tin.

8

Page 9: Introduction WCF Service

Declarative programming:

Lập trình khai báo thông qua các thuộc tính, những thuộc tính này được sử dụng để định nghĩa các contract và xác định hành xử của dịch vụ.

Thuộc tính ServiceContract dùng để quy định là interface này định nghĩa chứa năng của một dịch vụ. Thuộc tính OperationContract được sử dụng ở các hàm để quy định rằng hàm này được khai báo là một phần của dịch vụ.

9

Page 10: Introduction WCF Service

Declarative programming:

Chúng ta sử dụng phương pháp nạp chồng tên trong C# và sử dụng thêm tham số Name để quy định thêm tên hàm ở dịch vụ.

Ngoài ra còn cho ta thêm linh hoạt trong việc đổi tên các hàm trong giao diện mà không làm thay đổi định nghĩa dịch vụ.

10

Page 11: Introduction WCF Service

Service Contracts Định nghĩa các phương thức của một dịch vụ, thực chất là các hành động

mà client có thể sử dụng. Để định nghĩa cho Contract ta sử dụng: ServiceContract định nghĩa contract dịch vụ OperationContract định nghĩa các phương thức cho dịch vụ.

Sau khi định nghĩa cho Contract ta tiến hành cài đặt một lớp cho giao diện trên.

11

Page 12: Introduction WCF Service

Service Contracts Bạn cũng có thể định nghĩa dịch vụ ở trong lớp cài đặt dịch vụ.

12

Page 13: Introduction WCF Service

Thuộc tính Service Contracts CallbackContract: Khi liên lạc giữa client và server được thiết lập,

tham số này chỉ ra rằng client cần đợi lời gọi hàm từ phía dịch vụ thông qua kiểu của callbackcontract đã định nghĩa.

13

Page 14: Introduction WCF Service

Thuộc tính Service Contracts ConfigurationName: Thiết lập/ trả về tên được sử dụng để xác định

thành phần dịch vụ trong tệp tin cấu hình.

Name: Thiết lập/ trả về tên thành phần <portType>. Giá trị mặc định chính là tên của giao diện hay lớp có gắn thuộc tính ServiceContract.

Namespace: Thiết lập/ trả về namespace cho thành phần <portType>. Giá trị mặc đinh là http://tempuri.org.

ProtectionLevel: Quy định về mức bảo vệ trong binding. Bao gồm quy định về mã hóa.

14

Page 15: Introduction WCF Service

Thuộc tính Service Contracts SessionMode: Quy định kiểu hỗ trợ cho các phiên làm việc mà một dịch

vụ đòi hỏi hoặc hỗ trợ.

15

Page 16: Introduction WCF Service

Thuộc tính OperationContracts Action: Quy định hành động chỉ ra một cách duy nhất phương thức này. AsyncPattern: IsInitiating: Quy định phương thức này có phải là phương thức để khởi

tạo một phiên hay không. IsOneWay: Chỉ ra rằng phương thức này chỉ chứa bản tin đầu vào duy

nhất. IsTerminating: Quy định WCF có kết thúc phiên làm việc hiện tại sau

khi phương thức này thực hiện xong. Name: Quy định tên cuối cùng của phương thức sẽ có trong dịch vụ. ProtectionLevel: Quy định sự bảo vệ. ReplyAction: Quy định hành động của bản tin trả lời cho phương thức

này.

16

Page 17: Introduction WCF Service

DataContractĐịnh nghĩa các kiểu dữ liệu được sử dụng ở các phương thức của dịch vụ.Để định nghĩa DataContract ta sử dụng thuộc tính DataContract và DataMember.

17

Page 18: Introduction WCF Service

Kiến trúc của client Giao diện IClientChannel: Giao diện này định nghĩa các thao

tác cho phép nhà phát triển điều khiển các chức năng của kênh, như đóng phiên làm việc của client và huỷ một kênh (để thu hồi tài nguyên).

Các đối tượng phía client: Có hai giao diện cơ sở là:+ ICommunicationObject+ IExtensibleObject

18

Page 19: Introduction WCF Service

Kiến trúc của client

Các đối tượng của client

ICommunicationObjectĐịnh nghĩa contract cho trạng thái cơ bản của tất cả các đối

tượng trong hệ thống.

IExtensibleOjectThuộc tính này được sử dụng để trả về một tập hợp các đối

tượng mở rộng có thể được sử dụng để mở rộng các lớp thực thi đã có.

19

Page 20: Introduction WCF Service

Các kênh client Hai giao diện cơ bản cho kênh giao diện: IClientChannel

Định nghĩa các thao tác được hỗ trợ bởi tất cả các kênh. Giao diện này chứa các phương thức và thuộc tính có thể sử dụng để định nghĩa các hành xử kênh cho các yêu cầu bên ngoài và hành xử kênh cho yêu cầu/trả lời của chương trình client. IContextChannel

Định nghĩa trạng thái của phiên làm việc của một kênh. Những thông tin này bao gồm SessionId, phiên Input và phiên Output, cùng với các điểm cuối cục bộ và từ xa đang được sử dụng để liên lạc với client trong phiên làm việc.

20

Page 21: Introduction WCF Service

Các cách liên lạc của client

Một chiều (One-Way)+ Là liên lạc chỉ theo một hướng duy nhất. Là hướng từ

phía client tới dịch vụ. Không có trả lời từ phía dịch vụ.

Yêu cầu-Trả lời (Request-Reply)+ Được thực hiện như sau: client gửi đi một bản tin cho

dịch vụ, nó sẽ chờ để nhận một phản hồi từ dịch vụ. Kiểu liên lạc này đồng thời còn có nghĩa là khi client gửi đi bản tin, nó sẽ không thực hiện thao tác khác cho tới khi nó nhận được một phản hồi từ phía dịch vụ.

21

Page 22: Introduction WCF Service

Các cách liên lạc của client Song công (Duplex) + Là khả năng mà cả client và dịch vụ đều có thể khởi tạo liên lạc, cũng như phản hồi các bản tin đến, nói cách khác đây là liên lạc hai chiều.

Dị bộ (Asynchronous) + Việc liên lạc dị bộ cho phép chương trình tiếp tục thực

hiện những việc khác trong khi hàm được gọi vẫn đang thực hiện. Cũng giống như trong liên lạc song công, các thao tác dị bộ yêu cầu một số thay đổi về phía client và dịch vụ.

22