1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu windows communication foundation

123 417 0

Đ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

Định dạng
Số trang 123
Dung lượng 3,67 MB

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

Nội dung

Các đ c tính k thu t nh WS-Addressing, WS-Security, WS-Trust, WS-Secure Conversation, WS-Reliable Messaging, WS-Coordination và WS-Atomic Transaction, WS-Policy và WS-Metadata exchange..

Trang 1

L I CÁM N

Chúng em chân thành g i l i c m n đ n th y Ninh Xuân H ng, trong th i gian th c hi n khóa lu n, th y đã t n tình h ng d n, ch b o, phân tích nh ng thi u sót, cho chúng em nh ng l i khuyên k p th i và vô cùng quan tr ng, c n thi t trong t ng giai đo n t tìm hi u, nghiên c u đ n hi n th c ng d ng N u không có s h ng d n t n tình c a th y, chúng em đã không th th c hi n đ tài đúng th i gian quy đ nh c a khoa

Chúng em c ng chân thành c m n các th y, cô ph trách v n phòng khoa đã

t o đi u ki n t t nh t đ chúng em hoàn thành khóa lu n t t nghi p

Chúng em c ng chân thành c m n gia đình, b n bè đã ng h chúng em trong th i gian th c hi n khóa lu n

TP HCM, ngày tháng n m 2011

Các sinh viên th c hi n

Phan Kinh Thanh Lâm

Trang 2

NH N XÉT GI NG VIÊN H NG D N

TP H Chí Minh, ngày tháng n m 2011

Trang 3

NH N XÉT GI NG VIÊN PH N BI N

TP H Chí Minh, ngày tháng n m 2011

Gi ng viên ph n bi n

Trang 4

M C L C

DANH M C B NG viii

DANH M C HÌNH ix

DANH M C CÁC T VI T T T x

L I M U xi

T NG QUAN V TÀI 1

Gi i thi u đ tài 1

C s lý thuy t 1

Hi n th c ng d ng minh h a 1

PH N 1 : C S LÝ THUY T 3

CH NG 1 : S L C V WCF 3

1.1 Gi i thi u 3

1.1.1 Gi i thi u s l c WCF 3

1.1.2 Service Oriented Architecture 3

1.1.3 Web Services 4

1.2 c tính k thu t WCF 5

1.2.1 Thông đi p (WS-Addressing) : 5

1.2.2 B o m t (WS-Security, WS-Trust, WS-Secure Conversation): 5

1.2.3 tin c y (WS-Reliable Messaging): 5

1.2.4 Giao d ch (WS-Coordination và WS-Atomic Transaction) : 6

1.2.5 Siêu d li u (WS-Policy và WS-Metadata exchange) : 6

1.3 Ki n trúc WCF (Net Framework 4) 6

1.3.1 H p đ ng và miêu t (Contracts and Descriptions) 7

1.3.2 D ch v th c thi (Service Runtime) 7

1.3.3 B n tin (Messaging) 8

1.3.4 L u tr và kích ho t (Hosting and Activation) 8

CH NG 2 : CONTRACT 9

2.1 Khái ni m h p đ ng (contract) 9

2.2 H p đ ng d ch v (service contract) 9

2.2.1 Khái ni m 9

2.2.2 Cách th c ho t đ ng 9

2.2.3 Thu c tính service contract (Net Framework 4) 11

2.2.4 Thu c tính operation contract 12

2.3 H p đ ng d li u (data contract) 12

2.4 H p đ ng thông đi p (message contract) 13

CH NG 3 : SERVICE 15

3.1 Khái ni m 15

3.2 Các lo i d ch v 17

3.2.1 nh ki u (Typed Service) 17

3.2.2 Không đ nh ki u (Untyped Service) 18

3.2.3 B n tin đ nh ki u 20

Trang 5

CH NG 4 : CHANNEL 21

4.1 Khái ni m 21

4.2 Các d ng kênh (Channel Shape) 22

4.2.1 Mô hình truy n thông m t chi u 22

4.2.2 Mô hình truy n thông song công 22

4.2.3 Mô hình truy n thông yêu c u tr l i 23

4.3 M i quan h gi a Operation Contract và Channel Shape 24

4.4 Channel listener 24

4.5 Channel Factory 25

CH NG 5 : BINDINGS VÀ ADDRESS 26

5.1 Khái ni m ràng bu c (binding) 26

5.2 Các ràng bu c thông d ng 26

5.3 Ch n ràng bu c (bindings) theo yêu c u s d ng 27

5.4 Ràng bu c tùy ch nh(Custom Binding) 28

5.4.1 T o ràng bu c tùy ch nh b ng l p trình 28

5.4.2 T o ràng bu c tùy ch nh b ng c u hình 29

5.4.3 Ràng bu c do ng i dùng đ nh ngh a (User-Defined Binding) 29

5.5 Các thành ph n c a ràng bu c (Binding Elements) 30

5.5.1 V n chuy n (Transport) 30

5.5.2 B mã hóa (Encoder) 31

5.5.3 B o m t (security) 32

5.6 Khái ni m đ a ch trong WCF 33

5.7 Các ki u đ a ch 33

5.7.1 a ch đi m cu i (Endpoint Address) 33

5.7.2 a ch c s (Base Address) 33

5.7.3 a ch MEX (MEX Address) 34

5.8 Các đ nh d ng đ a ch 34

5.8.1 a ch TCP(TCP Address) 35

5.8.2 a ch HTTP (HTTP Address) 35

5.8.3 a ch HTTPS (HTTPS Address) 35

5.8.4 a ch MSMQ (MSMQ Address) 36

5.8.5 a ch IPC (Inter-Process Communication) 37

5.8.6 a ch IIS(IIS Address) 37

CH NG 6 : BEHAVIORS 38

6.1 Khái ni m 38

6.2 Các lo i hành vi 38

6.2.1 Hành vi d ch v (Service Behaviors) 38

6.2.2 Hành vi đi m cu i (Endpoint Behaviors) 38

6.2.3 Hành vi ho t đ ng (Operation Behaviors) 38

6.3 Ch c n ng c a các hành vi 39

6.4 Hành vi d ch v (Service Behavior) 40

6.4.1 Concurrency và Instancing 40

6.4.2 Các ch c n ng khác 41

Trang 6

6.4.3 C u hình ServiceBehaviors 41

6.5 Hành vi ho t đ ng (Operation Behaviors) 43

6.5.1 Giao d ch (Transaction) 43

6.5.2 Xác đ nh hàm g i 43

6.5.3 Vi c s d ng l i đ i t ng 43

6.6 Hành vi b o m t (Security Behaviors) 44

7.1 T l u tr (self-hosting) 45

7.1.1 Khái ni m 45

7.1.2 T l u tr (self-hosting) đ c qu n lý b i d ch v windows (windows service) 45

7.2 L u tr trên Windows Activation Services 46

7.3 L u tr trên IIS (IIS hosting) 49

7.3.1 L u tr d ch v trên IIS 49

7.3.2 Ch c n ng ASMX 51

CH NG 8 : B O M T VÀ X LÝ NGO I L 52

8.1 Khái ni m v b o m t 52

8.1.1 Authentication (xác th c) 52

8.1.2 Authorization ( y quy n) 52

8.1.3 Confidentiality(B o m t) 52

8.1.4 Integrity (tính toàn v n) 52

8.1.5 Ch đ v n chuy n (Transport) and b o m t b n tin 52

8.2 B o m t m c transport 53

8.2.1 Mã hóa s d ng SSL 53

8.2.2 Client Authentication 54

8.2.3 Service Identity (ch ng th c service) 55

8.3 M c đ b o m t b n tin 56

8.3.1 Ch ng th c v i wsHttpBinding 56

8.4 X lý l i b ng cách th c tách bi t 56

8.4.1 Cách th c cô l p 56

8.4.2 L i Kênh (fault channel) 57

8.5 X lý thông báo l i 60

8.5.1 H p đ ng l i (Fault contract) 60

8.5.2 X lý l i t biên d ch 63

8.5.3 Ph c h i (callback) 65

Trang 7

PH N 2 : NG D NG MINH H A 67

CH NG 1 : PHÂN TÍCH VÀ THI T K 67

1.1 Ý t ng 67

1.2 Thi t k c s d li u 68

1.3 Thi t k ng d ng 72

1.3.1 Ph n m m qu n tr h th ng thi tr c nghi m 72

1.3.2 Website TracNghiemOnline 74

CH NG 2 : HI N TH C NG D NG 75

2.1 Ph n m m qu n tr h th ng thi tr c nghi m 75

2.1.1 Phân tích vi c áp d ng c s lý thuy t WCF vào ng d ng 75

2.1.2 Giao di n ph n m m 78

2.2.1 H c Sinh 83

2.2.2 Giáo viên 86

2.3 S đ ho t đ ng gi a ph n m m qu n tr h th ng thi tr c nghi m và Website 91

CH NG 3 : ÁNH GIÁ VÀ H NG PHÁT TRI N 92

3.1 ánh giá k t qu đ t đ c 92

3.2 H ng phát tri n 92

PH L C 93

Ph l c 1 : H ng d n cài đ t 93

1.1 Gi i thi u c u hình c a ng d ng 93

1.2 Yêu c u c u hình 93

1.3 Ghi chú v h đi u hành 93

1.5 C u trúc th m c FTP server 102

Ph l c 2 : H ng d n s d ng 103

2.1 S d ng ph n m m qu n tr h th ng 103

2.2 S d ng trang web 106

GHI CHÚ 111

TÀI LI U THAM KH O 112

Trang 8

DANH M C B NG

2.1 Thu c tính service contract Tài li u tham kh o WCF c a

MSDN Vi t Nam

2.2 Thu c tính operation contract Tài li u tham kh o WCF c a

MSDN Vi t Nam

4.1 M i quan h gi a Operation

Contract và Channel Shape Essential WCF, 2008

5.1 Li t kê các giao th c v n chuy n và

ph ng pháp mã hóa Programming WCF with NET 4.0

5.2 Danh sách các kênh v n chuy n

Trang 9

4.1 Các ch ng kênh (channel stack) Essential WCF, 2008

4.2 Mô hình truy n thông m t chi u Essential WCF, 2008

4.3 Mô hình truy n thông song công Essential WCF, 2008

4.4 Mô hình truy n thông yêu c u tr l i Essential WCF, 2008

5.1 L c đ ph ng pháp ch n ràng bu c Programming WCF with NET 4.0

5.2 Cách làm vi c c a MSMQ Tài li u tham kh o WCF c a MSDN

Vi t Nam 6.1 Mô hình ho t đ ng c a các hành vi Essential WCF, 2008

6.2 Ho t đ ng giao d ch Essential WCF, 2008

7.1 Ki n trúc c a WAS Essential WCF, 2008

7.2 Kích ho t Windows Process

Activation Services Essential WCF, 2008

7.3 Thi t l p WCF non-HTTP activation Essential WCF, 2008

7.4 IIS th c thi trên WAS Essential WCF, 2008

Trang 10

DANH M C CÁC T VI T T T

WCF Windows Communication

SOA Service Oriented Architecture Ki n trúc h ng d ch v

URL Uniform Resource Locator c dùng đ tham chi u t i tài

nguyên trên Internet

SOAP Simple Object Access Protocol Giao th c d a trên XML đ trao đ i

thông tin ng d ng qua HTTP

XML Extensible Markup Language Ngôn ng xây d ng c u trúc tài li u

v n b n

CLR Common Language Runtime

Môi tr ng th c thi cung c p c s

h t ng c b n c a Microsoft NET framework

SSL Secure Socket Layer Giao th c cho phép b n truy n t i

thông tin m t cách an toàn qua m ng

WAS Windows activation services C ch kích ho t ti n trình m i c a

Trang 11

L I M U

Windows Communication Foundation (WCF) là công ngh n n t ng nh m

th ng nh t nhi u mô hình l p trình giao ti p thành m t mô hình duy nh t giúp cho vi c liên l c gi a các h đi u hành khác nhau, các ngôn ng l p trình khác nhau có th trao đ i v i nhau

Microsoft cung c p các hàm API riêng bi t cho các liên l c d a trên SOAP đ t i u hoá công vi c gi a các n n t ng s d ng Web Services, còn cung c p các API đ t i u vi c liên l c d a trên mã nh phân gi a các ng d ng

ch y trên h th ng Windows g i là NET Remoting, các API cho các giao d ch phân tán, và API cho liên l c d b WCF th ng nh t các API này thành m t mô hình duy nh t nh m đáp ng mô hình l p trình h ng d ch v

ây là m t b c đ t phá c a Microsoft trong vi c t o m t n n t ng th ng

nh t trong công ngh truy n thông 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 Do v y nhà phát tri n ch c n làm ch đ c công ngh WCF là có th xây d ng các ng d ng m t cách nhanh chóng

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í là đ m b o giao d ch phát tri n các ng d ng k t n i và đ a ra cho nhà phát tri n nh ng giá tr ti m

n ng trong t ng lai, đó là cách ti p c n phát tri n h th ng phân tán th ng nh t,

đ n gi n

Vì v y chúng em ch n đ tài này là m t cách ti p c n m t công ngh m i đ y

ti m n ng phát tri n trong t ng lai

Trang 12

T NG QUAN V TÀI

Gi i thi u đ tài

Trong đ tài này t p trung nghiên c u v công ngh WCF và d a trên n n

t ng công ngh này cùng v i nh ng ki n th c đã h c, xây d ng m t h th ng thi

tr c nghi m trong tr ng trung h c ph thông đ làm rõ h n nh ng ti n ích và s

c i ti n công ngh trong WCF

C s lý thuy t

Gi i thi u v s l c, m c tiêu và ý ngh a WCF, mô hình ki n trúc WCF (trên n n t ng NetFramework 4.0) trình bày các khái ni m nh Service Oriented Architecture, Web Services Các đ c tính k thu t nh WS-Addressing, WS-Security, WS-Trust, WS-Secure Conversation, WS-Reliable Messaging, WS-Coordination và WS-Atomic Transaction, WS-Policy và WS-Metadata exchange Các đ nh ngh a riêng trong WCF

Các ch c n ng n i b c c a WCF nh h p đ ng (contract), d ch v (services), kênh(channels), hành vi(behaviors), ràng bu c (binding), đ a ch (address), l u

tr (host), x lý b o m t(security), phân lo i và u đi m v các cách th c l u tr

m t ng d ng WCF

Hi n th c ng d ng minh h a

D a trên nh ng tìm hi u v lý thuy t, xây d ng h th ng thi tr c nghi m trong tr ng trung h c ph thông ng d ng đ c thi t k d a trên mô hình client – server s d ng WCF đ minh h a cho các ch c n ng c a WCF nh :

• C s d li u đ c l u tr bên server và client k t n i đ n service c a server đ truy xu t c s d li u Minh ho kh n ng truy n thông đa

d ng trong WCF

• Hi n th c ch c n ng b o m t trên các đ ng truy n t i và n i dung

b n tin đây s d ng ch c n ng mã hoá và xác nh n ký hi u trên

Trang 13

đ ng truy n t i và n i dung b n tin, qua đó b o m t kênh v n chuy n

và n i dung b n tin

• S d ng DataContract, DataMember, OperationContract,

ServiceContract,…Các ch c n ng trên minh ho tính đa d ng trong

ki n trúc d ch v Trao đ i d li u d a trên các b n tin xây d ng, do

đó có th t ng tác v i các h đi u hành khác nhau, các ngôn ng khác nhau

• Xây d ng ch đ x lý l i và ngo i l d a trên ch c n ng FaultContract

• H tr đa d ng k t n i nh MSMQ, named pipes, TCP,… ng d ng minh ho ch c n ng TCP

Trang 14

PH N 1 : C S LÝ THUY T

1.1 Gi i thi u

1.1.1 Gi i thi u s l c WCF

WCF là mô hình l p trình th ng nh t đ l p trình các ng d ng phân b trên

n n t ng Microsoft WCF có ý ngh a quan tr ng trong vi c t o ra m t ki n trúc chung đ h tr cho các phong cách giao ti p truy n thông khác nhau Hai ý

t ng này là kênh (channels) và ràng bu c (bindings)

Kênh (channel) : M i kênh đ c dành riêng cho m t khía c nh c s h t ng

c th , ví d nh an ninh, đ tin c y Vi c thi t l p đ y đ các nhu c u c s h

t ng c a m t công ngh truy n thông đ n l đ c x lý b i m t ng n x p kênh (stack of channels) đ c xác đ nh tr c ho c tùy ch nh

B ng cách xác đ nh m t ràng bu c (binding) c th , m t máy khách ho c

d ch v WCF ng m t o ra m t ng n x p kênh (stack of channels) đ th c hi n

m t t p h p các hành vi giao ti p D ch v đ c xác đ nh b i m t giao di n WCF c th có th đ c truy c p thông qua m t ràng bu c ho c đ ng th i truy

c p thông qua nhi u h n m t ràng bu c

D a trên d ch v WCF có th ng d ng vào h u h t các môi tr ng ng d ng

nh ASP.NET hay ph n m m, ti n trình Khi s d ng WCF, l p trình viên ch

c n t p trung vào ng d ng không c n quan tâm đ n các giao th c giao ti p

1.1.2 Service Oriented Architecture

Ki n trúc h ng d ch v là m t h ng ti p c n v i vi c thi t k và tích h p các ph n m m, ch c n ng, h th ng theo d ng module, trong đó m i module đóng vai trò là m t d ch v có k t n i l ng l o (loose coupling service) và có kh

n ng truy c p qua môi tr ng m ng

SOA không ph i là m t công ngh c th và c ng không là m t ngôn ng c

th Nó ch là m t k ho ch chi ti t ho c m t cách ti p c n thi t k h th ng ây

Trang 15

là m t mô hình ki n trúc nh m nâng cao hi u qu , t c đ x lý, và n ng su t c a

đ a ra các d ch v , khách hàng có th g i nó và s d ng nó Các thông tin liên

l c gi a m t d ch v web và ng d ng phía khách hàng s d ng thông đi p XML M t d ch v web đ c l u tr trong m t máy ch web và HTTP đ c s

d ng nh các giao th c v n chuy n gi a các máy ch và các ng d ng phía máy khách

M i d ch v web có m t URL duy nh t và bao g m các ph ng th c khác nhau Khi g i m t d ch v web, ph i xác đ nh ph ng th c nào mu n g i, và

v t qua các thông s c n thi t c a ph ng th c d ch v web M i ph ng th c

d ch v web c ng s cung c p cho m t gói đáp ng đ cho ng i g i bi t k t qu

th c hi n

Trang 16

1.2 c tính k thu t WCF

1.2.1 Thông đi p (WS-Addressing) :

WS-Addressing là m t c ch cho phép các d ch v web giao ti p thông tin

đ a ch V i các d ch v web truy n th ng, thông tin đ a ch đ c th c hi n b i

t ng v n chuy n (transport), và các thông đi p c a d ch v web không bi t v

đi m đ n c a nó V i tiêu chu n m i này, thông tin đ a ch đ c ch a trong thông đi p XML M t tiêu đ SOAP (SOAP header) có th đ c thêm vào thông

đi p cho m c đích này T ng v n chuy n ch ch u trách nhi m cung c p thông

đi p đó đ n m t đi u ph i có kh n ng đ c các siêu d li u

1.2.2 B o m t (WS-Security, WS-Trust, WS-Secure Conversation): WS-Security mô t làm th nào đ x lý các v n đ an ninh trong thông đi p SOAP Nó đính kèm ch ký, mã hóa thông tin và các token b o m t trong thông

đi p SOAP Ngoài ph ng pháp xác th c HTTP / HTTPS truy n th ng, nó còn

k t h p thêm các tính n ng b o m t trong tiêu đ c a thông đi p SOAP, đ c

th c hi n trong l p ng d ng (Application layer) Vì v y nó đ m b o b o m t cho vi c g i nh n thông đi p

Có m t s chi ti t k thu t liên quan v i WS-Security, ví d nh WS-SecureConversation, WS-Federation, WS-Authorization, WS-Policy, WS-Trust, WS-Privacy

WS-ReliableMessaging mô t m t giao th c cho phép thông đi p SOAP

đ c v n chuy n đáng tin c y gi a các ng d ng phân tán

Các mô hình WS-ReliableMessaging th c hi n vi c v n chuy n thông đi p

m t cách tin c y gi a ngu n và đích đ n N u m t thông đi p không th g i đ n đích, thông báo m t ngo i l ho c báo cho ngu n thông đi p không th đ n đích Có m t s tùy ch n đ m b o v n chuy n cho WS-ReliableMessaging, bao

g m AtLeastOnce, AtMostOnce, Exactly Once, and InOrder

Trang 17

1.2.4 Giao d ch (WS-Coordination và WS-Atomic Transaction) :

Hai tiêu chu n cho phép giao d ch v i các thông đi p c a SOAP

1.2.5 Siêu d li u (WS-Policy và WS-Metadata exchange) :

WSDL [Web Service Description Language] là hi n th c c a WS-Metadata Exchange

WS-Policy đ nh ngh a các ch c n ng linh đ ng h n c a d ch v mà không

th hi n đ c b ng WSDL

1.3 Ki n trúc WCF (Net Framework 4)

Hình 1.1 : Các l p chính trong ki n trúc WCF

Trang 18

1.3.1 H p đ ng và miêu t (Contracts and Descriptions)

H p đ ng đ nh ngh a các khía c nh khác nhau c a thông đi p h th ng Các

chính sách và ràng bu c quy đ nh các đi u ki n giao ti p trong d ch v Bao g m

các chính sách b o m t và các đi u ki n khác khi k t n i Ví d : Xác đ nh s

d ng giao th c nào HTTP ho c TCP, Có s d ng mã hóa không ?

• H p đ ng d li u (data contract) miêu t các tham s c a b n tin mà

m t d ch v có th t o ra và s d ng Các tham s c a b n tin đ c

đ nh ngh a b ng ngôn ng XML T o đi u ki n thu n l i cho các h

th ng có h tr XML

• H p đ ng thông đi p (message contract) đ nh ngh a nh ng thông

đi p đ c bi t s d ng giao th c SOAP Và cho phép qu n lý chi ti t

h n các ph n c a b n tin khi c n s chính xác cao

• H p đ ng d ch v (service contract) đ c t các ph ng th c c a d ch

v Và đ c hi u nh là giao di n trong các ngôn ng l p trình

1.3.2 D ch v th c thi (Service Runtime)

L p d ch v th c thi (service runtime) ch a các s ki n trong quá trình th c

• Instance behavior : Quy đ nh các tr ng h p service có th th c thi

• Transaction behavior : Thi t l p ph c h i h th ng giao d ch khi có

l i x y ra

• Dispatch behavior : Quy đ nh cách th c x lý c a b n tin và đ c x

lý b i WCF

Trang 19

• Message inspection : Qu n lý các b ph n c a tin nh n, có ch c n ng

l c và x lý

1.3.3 B n tin (Messaging)

L p b n tin (Messaging) là t p h p các kênh Kênh là m t thành ph n x lý

b n tin M t t p h p các kênh g i là ng n x p kênh Kênh ho t đ ng d a trên

b n tin và tiêu đ b n tin i m khác bi t gi a l p này v i l p service runtime là

s x lý các khác bi t trong n i dung b n tin G m hai kênh : Kênh v n chuy n

và các kênh giao th c

• Kênh v n chuy n : c và ghi các b n tin t m ng Có x lý mã hóa

khi v n chuy n (đ c bi u di n nh là Infosets XML)

• Kênh giao th c : X lý các b n tin theo giao th c, đ c ho c ghi b sung tiêu đ vào b n tin

L p b n tin (Messaging) xác đ nh các đ nh d ng có th có và các mô hình

c a d li u nh WS-Security quy đ nh ch đ b o m t trong bàn tin, Reliable Messaging đ m b o ch đ tin c y khi v n chuy n b n tin H tr ch

WS-đ mã hóa WS-đa d ng cho t ng kênh Nh HTTP, TCP, Named Piped …m i kênh

D ch v c ng có th th c thi t đ ng nh m t d ch v trên windows (windows service) Các thành ph n COM+ c ng đ c l u tr nh các d ch v WCF

Trang 20

CH NG 2 : CONTRACT 2.1 Khái ni m h p đ ng (contract)

H p đ ng là t p h p các ho t đ ng quy đ nh s truy n t i gi a thi t b đ u

cu i v i môi tr ng giao ti p M i ho t đ ng là s trao đ i b n tin đ n gi n

Trang 21

thành công Ho t đ ng d ch v đ c đánh d u là m t chi u nên c s h t ng s

t i u hóa cho tr ng h p trên

Ho t đ ng hai chi u : Yêu c u đáp ng thông tin liên l c là mô hình trao đ i thông tin ph bi n nh t gi a máy khách và d ch v Do tính ch t yêu c u và đáp

ng, n u x y ra tr ng h p quá nhi u máy khách cùng k t n i vào m t d ch v

s gây ra b t đ ng b trong ng d ng, WCF s s d ng tính ch t g i l i (callback) đ x lý

Hình 2.1 : Mô t ho t đ ng hai chi u c a d ch v h p đ ng

Trang 22

2.2.3 Thu c tính service contract (Net Framework 4)

Thu c tính service contract đ c s d ng đ mô t giao di n

CallbackContract Thi t l p ho c tr v ki u c a callback contract khi t ng tác

ch đ song công

ConfigurationName Thi t l p ho c tr v tên c a t p tin c u hình

Name Thi t l p ho c tr v tên c a thành ph n <portType> trong

phép, không cho phép, ho c có đi u ki n

HasProtectionLevel Tr v m c đ b o v c a thành viên đ c thi t l p

TypeId Tr v đ nh danh c a thu c tính

B ng 2.1 : Thu c tính service contract

Trang 23

2.2.4 Thu c tính operation contract

Ph ng th c xác đ nh các ho t đ ng c a service contract trong ng d ng

Action Thi t l p ho c tr v ho t đ ng c a WS-Addressing trong

IsTerminating Quy đ nh ph ng th c k t thúc trong m t phiên làm vi c Name Tr v tên c a ph ng th c đang ho t đ ng

ProtectionLevel Thi t l p ho c tr v s mã hóa, ký k t ho c c hai t b n

tin c a m t ho t đ ng

ReplyAction Thi t l p ho c tr v giá tr c a hành đ ng SOAP cho các

tin nh n tr l i trong ho t đ ng đó

TypeId Tr v đ nh danh c a thu c tính

B ng 2.2 : Thu c tính operation contract

2.3 H p đ ng d li u (data contract)

H p đ ng d li u mô t các vi c trao đ i d li u c a d ch v (service WCF)

v i máy khách Qua đó máy khách và d ch v có th t ng tác v i nhau mà không c n ph i qua b t k khai báo trung gian nào.H p đ ng d li u đ nh ngh a cách s p x p th t cho t ng tham s và ki u tr v

Quá trình serialization d li u là quá trình chuy n m t c u trúc d li u thành

m t đ nh d ng s d ng trong d ch v WCF cho quá trình g i đi c a d ch v Quá trình deserialization là quá trình nh n d li u t d ch v và chuy n

ng c l i thành c u trúc d li u[2]

Trang 24

H p đ ng d li u g m hai thu c tính là DataContract và DataMember

Thu c tính DataContract dùng đ đ nh ngh a các l p, thu c tính DataMember dùng đ đ nh ngh a các ph ng th c mà h p đ ng d ch v (service contract) s

d ng

C u trúc m t DataContract :

Cách th c s d ng DataContract :

2.4 H p đ ng thông đi p (message contract)

H p đ ng thông đi p là tính n ng c i ti n cho vi c s d ng đi u khi n toàn

b đ nh d ng c a các b n tin SOAP, t ng tác tr c ti p v i thông đi p SOAP (tiêu đ và n i dung), mô t c u trúc c a b n tin SOAP và có th t ng tác thông qua các chu n XML Schema Definition (XSD), vì v y có th t ng tác v i b t

k h th ng nào qua SOAP

Có th chuy n đ i t DataContractSerializer qua XmlSerializer khi c n ki m soát hoàn toàn thay vì tu n t hóa d li u Và chuy n đ i t h p đ ng d li u (data contract) sang h p đ ng thông đi p (message contract) khi c n s ki m soát toàn di n trong b n tin SOAP

Trang 25

H p đ ng thông đi p còn cung c p các kh n ng tùy ch nh trong b o m t

(không s d ng WS-Security), ch ký c ng nh mã hóa trên các tiêu đ SOAP

Nh ng nh c đi m c a h p đ ng thông đi p (message contract) là máy khách (client) và d ch v (service) ph i t thêm các thông tin c a tiêu đ

H p đ ng thông đi p có hai đ nh d ng :

H p đ ng thông đi p mang đ n tính đa d ng trong vi c đ nh d ng các tham

s trong các b n tin SOAP, ví d xác đ nh b n tin có n i dung b n tin hay đ u đ hay không đ nh ngh a h p đ ng thông đi p ta s d ng các l p thu c tính mô

t sau : MessageContract, MessageHeader, và MessageBodyMember cùng v i các tham s t ng ng v i t ng l p

Trang 26

CH NG 3 : SERVICE 3.1 Khái ni m

D ch v (service) là m t ch c n ng k t n i đ n các máy khác trên m ng theo

mô hình d ch v D ch v đ nh h ng (service orientation) là cách th c thi t l p

th c hi n trên các m c th i gian khác nhau

Khi nghiên c u v d ch v s th y các khái ni m nh là ngôn ng , công ngh

n n t ng, phiên b n…và gi a các d ch v ch đ c quy đ nh theo mô hình truy n thông

Máy khách c a d ch v ch s d ng các ph ng th c mà d ch v cung c p

ng d ng client có th là ng d ng window, website hay m t l p Silverlight

Trang 27

ho c nh ng ng d ng khác Máy khách và d ch v t ng tác v i nhau b ng b n tin, b n tin có th đ c g i tr c ti p ho c qua trung gian

Vì d ch v có th đ c l p trình t nh ng ngôn ng khác nhau nên m t d ch

v WCF th ng có nhi u siêu liên k t Ch ng h n nh WSDL (Web Services Description Language) qua giao th c HTTP ho c m t giao th c chu n nào đó

N u nh s t ng tác gi a máy khách và d ch v mà m t bên không s d ng WCF có th giao ti p qua các l p CLR

V i WCF, máy khách không th t ng tác tr c ti p v i d ch v ngay c khi

đ a ph ng hay b nh c a d ch v Thay vào đó máy khách th ng s d ng

d ch v thông qua proxy

WCF cho phép máy khách k t n i b ng nhi u cách th c khác nhau Trên cùng m t máy khách có th s d ng d ch v trong ng d ng mi n (domain), ng

d ng mi n thông qua nh ng ti n trình khác, ho c qua các ti n trình khác

Hình 3.2 : T ng tác WCF trên cùng m t máy

Trang 28

Lo i d ch v này th ng đ c g i là “mô hình tham s ”, mô hình này đ nh ngh a m t cách chính xác cách th c làm vi c c a

d ch v , các d ch v ki u này có th ch p nh n các ki u đ n gi n c ng nh ph c

t p, không gi i h n vi c đ nh ki u c a các tham s hay k t qu tr v Nh ng

c n l u ý là ph i đ nh ngh a datacontract cho các d ch v khi truy n các tham s hay tr v giá tr ki u ph c t p d ch v này không c n làm vi c tr c ti p

m c b n tin, d ch v này còn h tr các ki u tham s ref và out

Trang 29

3.2.2 Không đ nh ki u (Untyped Service)

D ch v ki u này ph c t p h n so v i d ch v đ nh ki u (Typed Service) Trong ki u d ch v này ph i làm vi c tr c ti p m c b n tin, các đ i t ng b n tin đ c chuy n qua l i gi a máy khách và d ch v , và d ch v có th tr v m t

đ i t ng b n tin n u đ c yêu c u Trong ki u d ch v này còn có th truy c p

Trang 30

public class BookOrder

{

private string isbn;

private int quantity;

private string ordernumber;

public BookOrder(BookOrder message) {

isbn = message.isbn;

quantity = message.quantity; }

public class ServiceClass : IServiceClass {

string IServiceClass.InitiateOrder() ; {

Trang 31

return "Initiating Order ";

} public BookOrder PlaceOrder(BookOrder request) {

BookOrder response = new BookOrder(request);

response.OrderNumber = "12345678";

return response;

} string IServiceClass.FinalizeOrder() {

return "Order placed successfully.";

} } }

3.2.3 B n tin đ nh ki u

Ki u d ch v này còn đ c g i là “ mô hình h p đ ng b n tin ”[4]

Trong ki u

d ch v này, ph i đ nh ngh a các b n tin và n i dung c a chúng Trong ki u d ch

v này, các b n tin đ c mô t v i thu c tính MessageContract, là các h p đ ng

b n tin th ng đ c s d ng đ đ nh ngh a các l p b n tin Các b n tin này s

đ c s d ng đ g i qua l i trong các thao tác c a d ch v

Trang 32

CH NG 4 : CHANNEL 4.1 Khái ni m

Kênh (channel) chính là đ ng d n truy n t i các b n tin trong các ng d ng WCF, th c hi n nh t quán các b n tin Quy đ nh thông s cho các giao th c v n chuy n, giao th c và c cách th c ch n nh ng b n tin không mong đ i

T p h p các kênh (channel) g i là các ch ng kênh (channel stack) Ch ng kênh là t p h p các ti n trình c a b n tin Ch ng kênh đ c t o nên b ng cách

s d ng m t giao th c TCP c a kênh v n chuy n (transport channel) và m t giao

th c c a kênh giao d ch (protocol channels) Vì v y nó cho phép g i nh n các

b n tin trên m ng b ng giao th c TCP

Nhi m v c a ch ng kênh là chuy n đ i các b n tin sang đ nh d ng chung

c a d ch v và máy khách Có hai lo i kênh đ c s d ng đ làm đi u này : Kênh v n chuy n (transport channel) và kênh giao th c (transport channel) WCF cung c p nhi u kênh v n chuy n (transport channel) nh HTTP, TCP, MSMQ, peer-to-peer, và named pipes cho các vi c nh b o m t, giao d ch và truy n t i tin c y Và m t vài giao th c v n chuy n (transport) khác có s n ho c thông qua trung gian cho nhi u các ph ng ti n v n chuy n (transport) nh SMTP, FTP, UDP, WebSphere MQ, và SQL Service Broker

Hình 4.1 : Các ch ng kênh (channel stack)

Trang 33

4.2 Các d ng kênh (Channel Shape)

WCF h tr ba mô hình trao đ i b n tin : M t chi u, song công, và yêu c u

tr l i ng v i m i mô hình, WCF cung c p nh ng giao di n riêng bi t, các giao di n đó đ c g i là các d ng kênh

M t s d ng kênh nh : IOutputChannel, IInputChannel, IDuplexChannel, IResquestChannel, IReplyChannel ng v i các d ng kênh trên có các d ng khác

h tr ho t đ ng trên phiên làm vi c nh : IOutputSessionChannel,

IInputSessionChannel, IDuplexSessionChannel, IResquestSessionChannel,

IReplySessionChannel

4.2.1 Mô hình truy n thông m t chi u

Là liên l c ch theo m t chi u duy nh t Là chi u t phía máy khách t i d ch

v M t chi u ph bi n khi máy khách không c n thông tin tr v Sau khi b n tin đ c g i đi, thì k t thúc c a vi c trao đ i thông tin liên l c t o ra d ch v cho liên l c m t chi u, ta đ t tham s IsOneWay c a thu c tính mô t

B n tin

Hình 4.2 Mô hình truy n thông m t chi u

4.2.2 Mô hình truy n thông song công

Là s k t h p c a hai mô hình truy n thông m t chi u v i m t giao di n IDuplexChannel D ch v không ch có th tr l i các b n tin đ n mà còn có th

Trang 34

kh i t o liên l c v i máy khách b ng cách g i b n tin yêu c u ph n h i t phía máy khách

Hình 4.3 Mô hình truy n thông song công

4.2.3 Mô hình truy n thông yêu c u tr l i

Máy khách g 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 Trong th i gian ch ph n h i t d ch v , máy khách s không th c hi n

b t k thao tác nào M c đ nh trong WCF là mô hình yêu c u và tr l i

Hình 4.4 Mô hình truy n thông yêu c u tr l i.

Trang 35

4.3 M i quan h gi a Operation Contract và Channel Shape

B ng 4.1 : M i quan h gi a Operation Contract và Channel Shape

4.4 Channel listener

K th a t d ch v truy n thông c a WCF c s d ng đ t o b ph n ch

x lý cho b n tin g i đ n Và t o ra các ch ng kênh (channel stack), thi t l p

Trang 36

con tr cho các ng d ng Thông th ng không x lý tr c ti p trên channel shape mà thông qua ServiceHost

4.5 Channel Factory

Channel Factory t o ra m t kênh (channel) đ g i các b n tin và duy trì tr ng thái ho t đ ng mà các kênh do nó t o ra Nh ng thông th ng không s d ng channel factory m t cách tr c ti p, thay vào đó th ng s d ng các l p k th a

t ClientBase<>, t o t svcutil.exe ho c Service Reference trong Visual Studio

Trang 37

CH NG 5 : BINDINGS VÀ ADDRESS 5.1 Khái ni m ràng bu c (binding)

Ràng bu c là t p h p các c u hình m c đ nh c a kênh Qui đ nh gi a máy khách (client) và d ch v (service) nh giao th c (protocol), mã hóa (encoding), giao th c

v n chuy n (transport)

• Giao th c (protocol) : nh ngh a tính b o m t, kh n ng th c hi n giao

d ch, ho c kh n ng truy n b n tin m t cách tin c y

• Giao th c v n chuy n (transport) : nh ngh a giao th c c b n đ c s

d ng trong truy n thông

• Mã hoá (encoding) : nh ngh a vi c mã hoá trong b n tin

5.2 Các ràng bu c thông d ng

Có 5 lo i ràng bu c đ c s d ng th ng xuyên là:

• Ràng bu c c b n (Basic Binding) : c cung c p b i l p BasicHttpBinding, ràng bu c c b n đ c thi t k đ làm cho các d ch v WCF gi ng nh các d ch v Web ASMX, đ các máy khách c có th làm

vi c v i các d ch v m i

• Ràng bu c TCP (TCP Binding) : c cung c p b i l p NetTcpBinding, ràng bu c TCP s d ng giao th c TCP cho vi c giao ti p gi a các máy trong m ng n i b (intranet) Có m t s tính n ng n i b c nh đ tin c y, giao d ch, b o m t, và t i u hóa giao ti p WCF – to – WCF, m c đích là đ

c máy khách và d ch v đ u s d ng WCF

• Ràng bu c IPC (IPC Binding) : c cung c p b i l p NetNamedPipeBinding, ràng bu c IPC s d ng giao th c đ ng ng đ t tên cho vi c giao ti p trong cùng m t máy ây là ràng bu c an toàn nh t vì không nh n k t n i t bên ngoài, ràng bu c IPC có các tính n ng t ng t

nh ràng bu c TCP

• Ràng bu c d ch v Web (Web Service Binding) : c cung c p b i l p WSHttpBinding, ràng bu c d ch v Web s d ng giao th c HTTP và

Trang 38

HTTPS làm giao th c v n chuy n, có các tính n ng t ng t nh ràng bu c TCP trên m ng Internet c bi t ràng bu c này s d ng tiêu chu n WS-*

• Ràng bu c MSMQ (MSMQ Binding) : c cung c p b i l p NetMsmqBinding, ràng bu c MSMQ s d ng giao th c MSMQ làm giao

B ng 5.1 : li t kê các giao th c v n chuy n và ph ng pháp mã hóa

5.3 Ch n ràng bu c (bindings) theo yêu c u s d ng

N u d ch v có nhu c u giao ti p v i các máy khách không s d ng WCF

Non-WCF client và máy khách này c n các d ch v web c b n, chúng ta ch n lo i ràng

bu c c b n (Basic Binding), nh ng n u máy khách có th hi u đ c tiêu chu n

WS-*, có th s d ng ràng bu c d ch v web (Web Service Binding) đ có th s d ng các

N u máy khách và d ch v cùng n m trên cùng m t máy thì ràng bu c đ ng ng

đ t tên (IPC Binding) là l a ch n t t nh t

Trang 39

Hình 5.1 : L c đ ph ng pháp ch n ràng bu c

5.4 Ràng bu c tùy ch nh(Custom Binding)

N u nh c 5 ràng bu c thông d ng đ u không th a đ c yêu c u s d ng, có th

t đ nh ngh a m t lo i ràng bu c riêng, ràng bu c này đ c g i là ràng bu c tùy ch nh (Custom Binding)

Trang 40

Ví d :

CustomBinding customBinding = new CustomBinding() ;

customBinding.Elements.Add(new BinaryMessageEncodingBindingElement ()) ; customBinding.Elements.Add(new UdpBindingElement ()) ;

5.4.2 T o ràng bu c tùy ch nh b ng c u hình

Thành ph n customBinding trong c u hình h tr l p trình viên t o ra m t ràng

bu c tùy ch nh Khi t o m t ràng bu c tùy ch nh c n quan tân đ n các ràng bu c v giao th c v n chuy n và b mã hóa N u mu n t o m t ràng bu c tùy ch nh có th thay đ i, dùng ph ng pháp c u hình, tr ng h p ng c l i, ph ng pháp l p trình s thích h p h n

Ngày đăng: 12/05/2015, 21:08

HÌNH ẢNH LIÊN QUAN

Hình 1.1 : Các l p chính trong ki n trúc WCF. - Tìm hiểu windows communication foundation
Hình 1.1 Các l p chính trong ki n trúc WCF (Trang 17)
Hình 2.1 : Mô t  ho t  đ ng hai chi u c a d ch v  h p  đ ng. - Tìm hiểu windows communication foundation
Hình 2.1 Mô t ho t đ ng hai chi u c a d ch v h p đ ng (Trang 21)
Hình 3.2 : T ng tác WCF trên cùng m t máy - Tìm hiểu windows communication foundation
Hình 3.2 T ng tác WCF trên cùng m t máy (Trang 27)
Hình 3.3 : T ng tác WCF trên m ng n i b  và internet. - Tìm hiểu windows communication foundation
Hình 3.3 T ng tác WCF trên m ng n i b và internet (Trang 28)
Hình 4.2 Mô hình truy n thông m t chi u. - Tìm hiểu windows communication foundation
Hình 4.2 Mô hình truy n thông m t chi u (Trang 33)
Hình 4.3  Mô hình truy n thông song công. - Tìm hiểu windows communication foundation
Hình 4.3 Mô hình truy n thông song công (Trang 34)
Hình 5.1 : L c  đ  ph ng pháp ch n ràng bu c - Tìm hiểu windows communication foundation
Hình 5.1 L c đ ph ng pháp ch n ràng bu c (Trang 39)
Hình 5.2 : Cách làm vi c c a MSMQ. - Tìm hiểu windows communication foundation
Hình 5.2 Cách làm vi c c a MSMQ (Trang 48)
Hình 6.1 : Mô hình ho t  đ ng c a các hành vi - Tìm hiểu windows communication foundation
Hình 6.1 Mô hình ho t đ ng c a các hành vi (Trang 50)
Hình 6.2 : Ho t  đ ng giao d ch - Tìm hiểu windows communication foundation
Hình 6.2 Ho t đ ng giao d ch (Trang 54)
Hình 7.1: Ki n trúc c a WAS. - Tìm hiểu windows communication foundation
Hình 7.1 Ki n trúc c a WAS (Trang 58)
Hình 7.2: kích ho t Windows Process Activation Services. - Tìm hiểu windows communication foundation
Hình 7.2 kích ho t Windows Process Activation Services (Trang 59)
Hình 7.3 : Thi t l p WCF non-HTTP activation. - Tìm hiểu windows communication foundation
Hình 7.3 Thi t l p WCF non-HTTP activation (Trang 60)
Hình 7.4 : IIS th c thi trên WAS. - Tìm hiểu windows communication foundation
Hình 7.4 IIS th c thi trên WAS (Trang 61)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w