Bài giảng Công nghệ Web -
Bài 13: Dịch vụ Web
» Giới thiệu WCF
» Kiến trúc WCF
» Phát triển WCF
» Sử dụng WCF
15 trang |
Chia sẻ: phuongt97 | Lượt xem: 433 | Lượt tải: 0
Nội dung tài liệu Bài giảng Công nghệ Web - Bài 13: Dịch vụ Web - Lê Quang Lợi, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 14: Dịch vụ Web
Lê Quang Lợi
Email: loilequang@gmail.com
loilq@utehy.edu.vn
Bài 14: Dịch vụ Web
» Giới thiệu WCF
» Kiến trúc WCF
» Phát triển WCF
» Sử dụng WCF
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
14.1: Dịch vụ Web
» Windows Communication Foundation (WCF)
» Thể hiện ứng dụng dịch vụ trên nền tảng Windows
» Hỗ trợ các ứng dụng dịch vụ phân tán Service
. Webservice:Remoting, COM+, Websercice, MobileService
. WinService: SystemCall, Remoting
» WCF được xây dựng cho các ứng dụng phân tán
» WCF ra đời thay thế cho các ứng dụng thế hệ cũ
» Tạo một nền tảng thống nhất cho tất cả thành phần
DOTNet giao tiếp với nhau
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
14.2: Kiến trúc WCF
» Contracts
» Service Runtime
» Messaging
» Activation
» and hosting
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
14.2: Kiến trúc WCF
» Contracts: chứa các thành phần được xây dựng
» ServiceContract, DataContract, Messaging
» Service Runtime: Quản lý, thực thi các thành phần
» Messaging: cơ chế truyền thông điệp giữa các ứng dụng
» Activation and hosting: cơ chế đăng ký dịch vụ và triển
khai dịch vụ trên nền tảng vật lý và hệ thống
Chú ý: WCF có thể đồng thời chạy trên các giao thức khác nhau
(TCP, HTTP, FTP, )
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
14.2.1 Các thành phần WCF
» EndPoint : Điểm truy nhập thông tin cho phép
» Client và server giao tiếp với nhau.
» ServiceHost: Thể hiện một ứng dụng dịch vụ. Mỗi một kết
nối tạo ra một endpoint
» DataContact: Đối tượng gói dữ liệu truyền trên mạng
» Message và Channel: Các thông tin được truyền qua SOAP
» WCFClient : Ứng dụng kết nối với WCF (winform, web, )
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
EndPoint
» Điểm giao tiếp: tồn tại cả Server và Client
. Address: thể hiện địa chỉ của Endpoint (ip:port)
. Contact: Các đối tượng thao tác (trao đổi dữ liệu)
. Binding: Thể hiện các giao thức/các cổng khác nhau
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
Service Host
» ServiceHost: Dịch vụ phía server
» Thành phần Service
Services
. Address Service
. Binding Protocols
Service1 Service2
. Các EndPoints
» Chạy trên: IIS
Service2
Service3
winXP, vista, win7, server 2003, server 2008
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
Kiến trúc WCF
Message
Service Contract Data Contract
Contract
hàm, hoạt Định nghĩa cấu
động cần trao trúc cần trao đổi
đổi dữ liệu Cấu trúc cơ chế
gói
Các Quy trình
WCF cần thực Cấu trú dữ liệu
thi cần sử dụng Dựa trên SOAP
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
14.3 Xây dựng ứng dụng WCF
» Tạo service với ServiceContract
» Mô tả các hàm từ Interface Service
» Cài đặt các hàm trên đối tượng servicecontract
» Cài đặt đối tượng DataContract
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
14.3.1 Service Interface
using System.ServiceModel;
[ServiceContract]
public interface ICalculate{
[OperationContract]
double Add( double a, double b);
[OperationContract]
double Sub(double a, double b);
}
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
14.3.2 Cài đặt Service
public class SimpleCalculator : ISimpleCalculator {
public int Add (int num1, int num2) {
return num1 + num2;
}
Public double Sub (double a, double b){
return a-b;
}
}
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
14.3.3 Xây dựng DataContract
[DataContract]
public class ComplexNumber {
[DataMember]
public double Real = 0.0D;
[DataMember]
public double Imaginary = 0.0D;
public ComplexNumber (double r, double i) {
this.Real = r;
this.Imaginary = i;
}
}
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
14.4 Gọi dịch vụ WCF
Cấu hình cho phép chạy ứng dụng WCF triên IIS
<endpoint address="" contract="HelloWorld,
IndigoConfig, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"
binding="basicHttpBinding" />
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
14.4 Gọi dịch vụ WCF
» Đăng ký sử dụng dịch vụ
. Tạo ứng dụng sử dụng
. Thêm web Reference trong ứng dụng
. Đặt tên cho Reference
» Sử dụng dịch vụ phía Client
CalculatorClient wcfClient = new CalculatorClient();
Console.WriteLine(wcfClient.Add(4, 6));
wcfClient.Close();
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
Các file đính kèm theo tài liệu này:
- bai_giang_cong_nghe_web_bai_13_dich_vu_web_le_quang_loi.pdf