intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Windows communication foundation -WCF

Chia sẻ: Phan Minh Truong | Ngày: | Loại File: PDF | Số trang:29

135
lượt xem
22
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đƣợc giới thiệu ở .NET 3  WCF cung cấp mô hình lập trình đơn giản, thống nhất và có thể mở rộng và có thể tƣơng tác với các công nghệ phân tán khác: DCOM, .NET Remoting, XML web service, Sockets, P2P,…  Tích hợp các công nghệ phân tán vào trong API với namespace System.ServiceModel  Cung cấp các công nghệ khác nhau để ngƣời sử dụng service có thể sử dụng dễ dàng. Ví dụ WCF có thể cung cấp service làm việc với giao thức TCP hoặc sử dụng XML web service Wednesday, March 21, 2012...

Chủ đề:
Lưu

Nội dung Text: Windows communication foundation -WCF

  1. Wednesday, March 21, 2012 WINDOWS COMMUNICATION FOUNDATION 1 Khoa Công nghệ Thông tin Ths. Nguyễn Văn Lót
  2. WINDOWS COMMUNICATION FOUNDATION - WCF GIỚI THIỆU  Đƣợc giới thiệu ở .NET 3  WCF cung cấp mô hình lập trình đơn giản, thống nhất và có thể mở rộng và có thể tƣơng tác với các công nghệ phân tán khác: DCOM, .NET Remoting, XML web service, Sockets, P2P,…  Tích hợp các công nghệ phân tán vào trong API với namespace System.ServiceModel  Cung cấp các công nghệ khác nhau để ngƣời sử dụng service có thể sử dụng dễ dàng. Ví dụ WCF có thể cung cấp service làm việc với giao thức TCP hoặc sử dụng XML web service 2 Wednesday, March 21, 2012
  3. WCF CÁC NÉT ĐẶC TRƢNG  Hỗ trợ “strongly typed” định dạng cũng nhƣ “untyped” messages.   Cho phép ứng dụng .net chia sẽ kiểu dữ liệu hiệu quả giữa các nền (ví dụ J2EE)  Hỗ trợ nhiều binding ( HTTP, TCP, MSMQ, named pipes) cho phép chọn loại thích hợp để truyền tải dữ liệu  Hỗ trợ các web service chuyên biệt gần nhất (WS- Policy, WS-Security, WS-Trust,…)  Tích hợp đầy đủ mô hình anh ninh và các kỹ thuật an ninh 3  Hỗ trợ session cũng nhƣ hỗ trợ one-way message Wednesday, March 21, 2012
  4. KIẾN TRÚC CỦA WCF 4 Wednesday, March 21, 2012
  5. CÁC THÀNH PHẦN CƠ BẢN CỦA ỨNG DỤNG WCF  The WCF Service assembly: *.dll chứa đựng các class và interface trình bày các chức năng (functions) để ngƣời khác có thể gọi  The WCF Service host: host WCF Service assembly  The WCF client: đây là một application truy xuất các chức năng của service qua proxy 5 Wednesday, March 21, 2012
  6. ABCS CỦA WCF  Host và client trao đổi với nhau thông qua ABCs (address, binding, contact)  Address: Xác định vị trí của service  Binding: chỉ định kênh trao đổi thông tin  Contract: mô tả các phƣơng thức của service 6 Wednesday, March 21, 2012
  7. WCF CONTRACT  Là key để xây dựng WCF service. Nó giúp mô tả service, kiểu dữ liệu và các hàm của service  [ServiceContract]: mô tả interface của service  [OperationContract]: mô tả hàm/thủ tục của service  [DataContract]: mô tả kiểu dữ liệu mới của service [ServiceContract] public interface IService1 { [OperationContract] string GetData(int value); [DataContract] [OperationContract] public class CompositeType CompositeType GetDataUsingDataContract(CompositeType { composite); 7 bool boolValue = true; } string stringValue = "Hello "; ……. Wednesday, March 21, 2012
  8. WCF BINDING  Binding là đối tƣợng đƣợc sử dụng để chỉ định chi tiết trao đổi dữ liệu đƣợc yêu cầu để nối kết đến endpoint của WCF  Binding có thể chứa các thông tin cơ bản sau:  Protocol: Xác định bộ máy mã bảo mật đƣợc sử dụng  Encoding: xác định mã hoá thông tin: text, binary  Transport: xác định giao thức truyền dữ liệu: tcp, http,… 8 Wednesday, March 21, 2012
  9. WCF BINDING  Một số wcf binding hệ thống thƣờng dùng  HTTP-Based Bindings  BasicHttpBinding: Đƣợc sử dụng để xây dựng WS-Basic Profile (WS-I Basic Profile 1.1). Binding này sử dụng HTTP nhƣ phƣơng tiện vận chuyển và Text/XML nhƣ mã hoá message mặc định  WSHttpBinding: Tƣơng tự BasicHttpBinding, nhƣng cung cấp nhiều tính năng web service: cung cấp giao dịch (transaction), thông tin tin cậy (reliable) và WS-Address  TCP-Based Bindings  NetNamedPipeBinding:Một Binding an ninh, tin cậy cho việc trao đổi trên cùng máy giữa các ứng dụng .NET  MSMQ-Based Bindings  NetMsmqBinding: Binding hàng đợi (queued) thích hợp cho 9 trao đổi giữa các máy giữa các ứng dụng .NET Wednesday, March 21, 2012
  10. WCF ADDRESS  WCF Address giúp xác định endpoint và chỉ cho các customer của service địa chỉ của nó  Address có các thông tin cơ bản sau:  Scheme: giao thức vận chuyển. Ex. http, tcp, msmq  MachineName: Tên domain của máy  Port: Cổng đƣợc sử dụng. Ví dụ port 80 cho http binding  Path: đƣờng dẫn đến WCF Service Scheme://[:Port]/Path http://localhost:8080/MyWCFService net.tcp://localhost:8080/MyWCFService 10 net.msmq://localhost:8080/MyWCFService Wednesday, March 21, 2012
  11. XÂY DỰNG WCF SERVICE  Khi xây dựng wcf service, nó bao gồm 2 phần:  Interface và Implementation [ServiceContract] public interface IServiceTest { [OperationContract] string GetData(int value); [OperationContract] CompositeType GetDataUsingDataContract(CompositeType composite); } public class Service1 : IServiceTest { public string GetData(int value) { 11 return string.Format("You entered: {0}", value); } .... Wednesday, March 21, 2012
  12. XÂY DỰNG WCF SERVICE  Thuộc tính [ServiceContract]  Dùng để mô tả Service [ServiceContract(Namespace="http://minSoft.com")] public interface IServiceTest { .... }  Một số thuộc tính của ServiceContract Đƣợc sử dụng nếu Service yêu cầu callback cho việc trao CallbackContract đổi two-way Đƣợc sử dụng để xác định phần tử service trong ứng ConfigurationName dụng. Mặc định là tên class implementation ProtectionLevel Chỉ định mức độ binding yêu cầu mã hoá, chữ ký số12 SessionMode Đƣợc sử dụng để thiết đặt session Wednesday, March 21, 2012
  13. XÂY DỰNG WCF SERVICE  Thuộc tính [OperationContract]  Chỉ định phƣơng thức thuộc WCF Service Action Get hoặc Set WS-Addressing của message yêu cầu AsyncPattern Xác định toán tử đƣợc thực hiện không đồng bộ Asynchronous IsInitiating Get hoặc set giá trị mà chỉ định có hay không phƣơng thức thực hiện toán tử có thể khởi tạo một session IsOneWay Chỉ định one way message ( chỉ input message, không output hoặc biến tham chiếu) IsTerminating Chỉ định WCF runtime kết thúc giao dịch hiện tại sau khi toán tử thực hiện xong 13 Wednesday, March 21, 2012
  14. XÂY DỰNG WCF SERVICE VÍ DỤ  Toán tử OneWay [OperationContract(IsOneWay = true)] void AddTo(double n); [OperationContract(IsOneWay = true)] void SubtractFrom(double n);  Khởi tạo Session [OperationContract(IsOneWay=true,IsInitiating=true,IsTerminating=false)] public void MethodOne() { return; }  Asyncronous [OperationContract(AsyncPattern = true)] 14 IAsyncResult BeginDoWork(int count, AsyncCallback callback, object state); Wednesday, March 21, 2012
  15. XÂY DỰNG WCF SERVICE  Thuộc tính [DataContract]  Định nghĩa kiểu dữ liệu mới cho phƣơng thức của WCF Service, dùng để mô tả dữ liệu đƣợc trao đổi giữa client and service [ServiceContract] public interface ISampleInterface { [OperationContract] bool ApprovePurchaseOrder(MyTypes.PurchaseOrder po); } 15 Wednesday, March 21, 2012
  16. XÂY DỰNG WCF SERVICE  Thuộc tính [DataContract] (tt) namespace MyTypes { [DataContract] public class PurchaseOrder { private int poId_value; // Apply the DataMemberAttribute to the property. [DataMember] public int PurchaseOrderId { get { return poId_value; } set { poId_value = value; } } } 16 } Wednesday, March 21, 2012
  17. HOST WCF SERVICE  IIS và Window Service thƣờng đƣợc sử dụng để host WCF Service  Thiết đặt ABCs trong Web.config nhằm mục đích phục vụ những nhu cầu khác nhau của service 17 Wednesday, March 21, 2012
  18. SỬ DỤNG WCF SERVICE  Tạo proxy client/gọi service qua Visual Studio 18 Wednesday, March 21, 2012
  19. SỬ DỤNG WCF SERVICE  Sử dụng đối tƣợng proxy để truy xuất các phƣơng thức của service CalculatorClient client = new CalculatorClient("BasicHttpBinding_ICalculator"); ViewBag.Message = client.Subtract(20, 4); Tên endpoint đƣợc sử dụng 19 Wednesday, March 21, 2012
  20. BẢO MẬT WCF  Có 2 cách bảo mật cơ bản trong wcf là: message and transport security. Tuy nhiên có thể kết hợp 2 loại này  Transport Security 20 Wednesday, March 21, 2012
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2