Tìm hiểu về Web services

Một phần của tài liệu Giáo trình xây dựng ứng dụng web(ngành hệ thống thông tin) (Trang 164)

Khi bạn xây dựng và phát triển một ứng dụng phân tán với số lượng người dùng lên đến hàng trăm, hàng nghìn người ở nhiều địa điểm khác nhau, khó khăn đầu tiên mà bạn gặp phải là sự giao tiếp giữa Client và Server bị tường lửa (firewalls) và Proxy Server ngăn chặn lạị

Như các bạn biết DCOM (Distribited Component Object Model) làm việc thông qua việc gởi các thông tin dưới dạng nhị phân (binary) và chủ yếu hoạt động dựa trên giao thức TCP/IP. Thật là không dễ dàng để sử dụng DCOM trong trường hợp nàỵ

Web Services có thể giúp bạn giải quyết vấn đề khó khăn nêu trên. Chúng ta có thể hiểu rằng Web Services (tạm dịch là dịch vụ web) là tập hợp các phương thức của một đối tượng mà các Client có thể gọi thực hiện.

Hình 7-1 Kiến trúc web Services

Web Services được xây dựng dựa trên SOAP (Simple Object Access Protocal). Không giống như DCOM, SOAP có thể được gọi thực hiện và trả về kết quả Text (theo định dạng XML) và có khả năng hoặt động "xuyên qua" tường lửa.

KHOA CÔNG NGHỆ THÔNG TIN 162 Ngoài khả năng ưu việt trên, Web Services có thể phối hợp hoạt động giữa các ứng dụng rất tốt.

Hình minh họa trang bên là một ví dụ minh họa về sự phối hợp hoạt động giữa các ứng dụng.

Các nhà hàng, khách sạn cung cấp các Web Services cho phép đặt phòng, đặt tiệc. Đường sắt Việt Nam cung cấp các Web Services cho phép đặt vé tàụ Việt Nam Airline cung cấp các Web Services cho phép đặt vé cho các chuyến baỵ

Các cơ quan, công ty, hay khách du lịch có nhu cầu tổ chức, tham gia các chuyến du lịch có thể truy cập vào website của các công ty dịch vụ lữ hành đăng ký tham gia các "tour" do họ tổ chức.

Công ty du lịch sẽ sử dụng Web Services được cung cấp đó để tiến hành đặt vé tàu lửa, máy bay và đặt phòng cho chuyến du lịch theo yêu cầu của khách hàng.

Hình 7-2 Mô hình phối hợp hoạt động giữa các ứng dụng

Web Services là một chuẩn mới để xây dựng và phát triển ứng dụng phân tán, có khả năng làm việc trên mọi hệ điều hành, mở rộng khả năng phối hợp giữa các ứng dụng, có thể tái sử dụng, tăng cường sự giao tiếp giữa Client và Server thông qua môi trường Web.

KHOA CÔNG NGHỆ THÔNG TIN 163

Hình 7-3 XML là định dạng chuẩn giữa các Web Services 7.2. Xây dựng Web services

7.2.1. Tạo Web Services trong Visual studio .Net

Trong phần này, chúng ta sẽ xây dựng một Web Service đơn giản có tên

webService1, với phương thức Ađ, Subtract, Multiply, Dividẹ

Từ project chuột phải chọn Ađ -> New Items… từ thực đơn ngữ cảnh của Project. Chọn mục Web Service (ASMX) trong khung Templatẹ Đổi tên Web Service cần tạo thành WebService1.asmx.

KHOA CÔNG NGHỆ THÔNG TIN 164 Trong cửa sổ viết lệnh, có một phương thức mẫu được tạo sẵn là phương thức HelloWorld.

Hình 7-2: Giao diện sau khi tạo Web service thành công

Nhận thấy rằng trước phương thức HelloWorld có sẵn từ khóa <WebMethod()>. Chúng ta sẽ bổ sung vào phương thức:

public class WebService1 : System.Web.Services.WebService {

[WebMethod]

public int Ađ(int a, int b) {

return (a + b); }

[WebMethod]

KHOA CÔNG NGHỆ THÔNG TIN 165 {

return (A - B); }

[WebMethod]

public System.Single Multiply(System.Single A, System.Single B) {

return A * B; }

[WebMethod]

public System.Single Divide(System.Single A, System.Single B) {

if (B == 0) return -1;

return Convert.ToSingle(A / B); }

}

7.2.2. Kiểm tra Web Service

Sau khi xây dựng thành công Web Service, trước khi đưa vào sử dụng, chúng ta cũng nên tiến hành kiểm tra Web Servicẹ Các Web Service được xây dựng trong Visual StudiọNet tự động phát sinh ra các trang kiểm tra tương ứng. Để thực hiện điều này, ta chọn WebService1.asmx làm trang khởi động, nhấn F5 để thi hành ứng dụng.

KHOA CÔNG NGHỆ THÔNG TIN 166

Hình 7-5 Giao diện kiểm tra Web Service

Trang kiểm tra Web Service sẽ liệt kê các phương thức hiện có trong Web Service được chọn thi hành. Chọn từng phương thức cần kiểm trạ Ở đây, chúng ta chọn phương thức Ađ. Xuất hiện màn hình nhập các tham số cho phương thức:

Hình 7-6 Giao diện nhập tham số kiểm tra Web Service

Nhập các tham số cần thiết và nhấn nút Invoke để thi hành, chúng ta sẽ thấy xuất hiện trang kết quả như hình bên dướị

KHOA CÔNG NGHỆ THÔNG TIN 167

Hình 7-7 Kết quả sau khi chọn Invoke để thực hiện phương thức 7.3. Sử dụng Web services

Sau khi hoàn tất việc xây dựng, kiểm tra độ tin cậy và tính chính xác của Web Service, chúng ta sẽ tiến hành đưa Web Service đi vào sử dụng.

Để sử dụng một Web Service, Client cần phải biết Web Service đó hỗ trợ những phương thức nào, phương thức cần có những tham số nào, kết quả trả về ra sao…

Những thông tin này của một Web Service được mô tả bởi tài liệu WSDL (Web Service Description Language). WSDL là định dạng chuẩn để mô tả các Web Service, sử dụng ngôn ngữ XML.

Chúng ta có thể xem WSDL của một Web Service bằng cách thêm vào chuỗi tham số wsdl vào sau chuỗi URL.

7.3.1. Sử dụng Web Services do người dùng xây dựng

Sử dụng Web Service do chúng ta xây dựng tương tự như việc sử dụng các lớp đối tượng.

Ví dụ:

protected void Page_Load(object sender, EventArgs e) {

webService1.WebService1SoapClient w = new webService1.WebService1SoapClient();

Label1.Text = w.Ađ(5, 8).ToString(); }

KHOA CÔNG NGHỆ THÔNG TIN 168

7.3.2. Sử dụng Web Services được cung cấp miễn phí trên mạng

Để biết được những Web Services được cung cấp miễn phí trên mạng, các bạn có thể dùng google để thực hiện tìm kiếm. Ở đây, chúng tôi giới thiệu đến các bạn trang: http://www.webservicex.net cung cấp khá nhiều các Web Services hữu ích.

Trong phần này, chúng tôi sẽ hướng dẫn bạn sử dụng các Web Services để lấy thông tin tỷ giá ngoại tệ, thông tin thời tiết, các thành phố chính của một quốc gia và các đơn vị tiền tệ của các quốc gia trên thế giớị

Các bước thực hiện:

Bước 1. Chọn Ađ Web Reference… từ thực đơn ngữ cảnh của ứng dụng Bước 2. Nhập thông tin đường dẫn của WebService, nhấn để thực hiện việc xác thực Web Servicẹ (ví dụ: http://localhost:8090/WebService1.asmx)

Bước 3. Nếu Web Service được xác thực thành công, thông tin mô tả về Web Service sẽ được hiển thị ngay phía bên dướị

Bước 4. Đặt tên tham chiếu cho WebService: Web reference namẹ Bước 5. Nhấn Ađ Reference để hoàn tất tham chiếu WebServicẹ

Bước 6. Thiết kế màn hình

KHOA CÔNG NGHỆ THÔNG TIN 169 Mở trang Default.aspx kéo thả 1 control Label vào có id=”Label1” và code xử lý như sau:

protected void Page_Load(object sender, EventArgs e) {

webService1.WebService1SoapClient w = new webService1.WebService1SoapClient();

Label1.Text = w.Ađ(5, 8).ToString(); }

7.4. Xây dựng Web services truy xuất dữ liệu Web Service: wbsListsinhvien.asmx Web Service: wbsListsinhvien.asmx

Trong phần này, chúng ta phối hợp các lớp xử lý đã có để xây dựng Web service hiển thị danh sách sinh viên. Trong ví dụ minh họa dưới đây, chúng ta xây dựng ba thủ tục:

Bước 1: Tạo Web Service với tên wbsListsinhvien.asmx

Bước 2: Viết code hiển thị danh sách sinh viên vào đối tượng DataTable public class wbsListsinhvien : System.Web.Services.WebService

{

[WebMethod]

public DataTable Danh_Sach_SV() {

ClsData cls = new ClsDată); DataTable dt = new DataTable();

string str = "SELECT top 20 MSSV,HỚ '+TEN as 'Họ

tên',MAL,PHAI,NGAYSINH,NOISINH,DCLL,PHONE FROM SINHVIEN"; dt = cls.getTable(str);

if (dt.Rows.Count > 0) return dt;

KHOA CÔNG NGHỆ THÔNG TIN 170 return null;

} }

Bước 3: Chạy kiểm tra web Service hoạt động với tên vừa tạo (wbsListsinhvien.asmx)

Bước 4: Ađ Web Service vào References của project và đặt tên là list_sinhvien

Bước 5: Tạo 1 trang web với tên sinhvien.aspx với 1 control Gridview và code xử lý như sau:

public partial class sinhvien : Page {

protected void Page_Load(object sender, EventArgs e) {

wbsListsinhvien sv = new wbsListsinhvien(); if(!IsPostBack) { this.GridView1.DataSource = sv.Danh_Sach_SV(); this.GridView1.DataBind(); } } }

KHOA CÔNG NGHỆ THÔNG TIN 171

Hình 7-9 Kết quả xem danh sách sinh viên qua Web Service 7.5. Bài tập

1. Áp dụng Web Service cho phép người dùng thao tác thêm sinh viên mớị 2. Áp dụng Web Service cho phép người dùng thao tác xóa sinh viên.

3. Áp dụng Web Service cho phép người dùng thao tác sửa thông tin của một sinh viên. 4. Áp dụng Web Service cho phép người dùng thao tác tìm kiếm thông tin của 1 sinh viên.

5. Vận dụng web Service lấy thông tin thời tiết onlinẻ 6. Vận dụng web Service lấy thông tin tỷ giá USD onlinẻ

KHOA CÔNG NGHỆ THÔNG TIN 172

TÀI LIỆU THAM KHẢO

[1] Nguyễn Minh Đạo, “Giáo trình Lập trình Web với ASP.NET”, ĐHQG TP.HCM, 2014.

[2] Phạm Thi Vương, “Tài liệu hướng dẫn thực hành công nghệ Web ASP.Net”, ĐHQG TP.HCM, 2019.

[3] William Penberthy, “Beginning asp.net for visual studio 2015”, Wrox, 2016. [4] https://docs.microsoft.com/en-us/visualstudio/?view=vs-2019, 12/8/2020.

KHOA CÔNG NGHỆ THÔNG TIN 173

DANH MỤC HÌNH ẢNH

Hình 1-1 Sử dụng chung phần tài nguyên server ... 14

Hình 1-2 Tách biệt hệ thống quản lý database ... 14

Hình 1-3 Mô hình máy chủ load balancer ... 15

Hình 1-4 Mô hình Accelertor ... 16

Hình 1-5 cấu hình master-slave database replicate ... 17

Hình 3-1 Kết quả hộp thoại hỏi tên người dùng ... 34

Hình 3-2 Kết quả tính tổng ... 36

Hình 3-3 Kết quả vòng lặp for ... 41

Hình 3-4 Kết quả xuất mảng ... 45

Hình 3-5 Kết quả sử dụng hàm tính toán ... 47

Hình 3-6 Kết quả hàm chuyển đổi chuỗi ... 48

Hình 3-7 Kết quả chuyển số nguyên ... 49

Hình 3-8 Kết quả chuyển số thực ... 50

Hình 3-9 Dưới đây là mô hình cây DOM ... 51

Hình 3-10 Kết quả sử dụng sự kiện ... 57

Hình 4-1 Internet Information Services ... 61

Hình 4-2 Bảng cấu hình mặt định website ... 61

Hình 4-3 Bảng kiểm tra website ... 62

Hình 4-4 Địa chỉ để nhập vào trang web mớị... 62

Hình 4-5 Thư mục gốc website ... 63

Hình 4-6 Net Phatform ... 63

Hình 4-7 Kiến trúc .Net Framework... 64

Hình 4-8 Mô hình truy cập trang ASP.NET ... 69

Hình 4-9 Quá trình xử lý tập tin ASPX ... 70

Hình 4-10 Tạo mới poject web ... 71

Hình 4-11 Chọn thông tin cho project ... 71

Hình 4-12 Các phiên bản làm việc cho web asp.net ... 72

Hình 4-13 Màn hình Microsoft Visual Studio .Net ... 72

Hình 4-14 Kết quả chạy lần đầu ... 73

Hình 4-15 cửa sổ Solution Explorer ... 74

Hình 4-16 Property/Toolbox ... 76

Hình 4-17 Các điều khiển HTML trên thanh công cụ ... 77

Hình 4-18 Trang Columns ... 93

Hình 4-19 Trang Paging ... 95

Hình 4-20 Trang Format ... 96

Hình 4-21 Hình canh chỉnh Borders ... 97

Hình 4-22 Danh sách nhân viên sắp xếp ... 100

Hình 4-23 Kết quả phân trang ... 101

Hình 4-24 Bổ sung cột phái ... 102

Hình 4-25 Giao diện tạo các lệnh thêm/ xóa/ sửa ... 105

Hình 4-26 Hiển thị danh sách sản phẩm ... 114

Hình 4-27 Giao diện thiết kế DataList ... 121

KHOA CÔNG NGHỆ THÔNG TIN 174

Hình 5-2 Mô hình làm việc của Cookies ... 133

Hình 5-3 Thông báo lỗi trang ... 140

Hình 5-4 Trang lỗi, không hiển thị mã lỗi ... 140

Hình 5-5 Thông báo lỗi trang ASP.NET ... 140

Hình 6-1 Kiến trúc ADỌNET ... 143

Hình 6-2 Mô hình kết nối cơ sở dữ liệu ... 144

Hình 7-1 Kiến trúc web Services ... 161

Hình 7-2 Mô hình phối hợp hoạt động giữa các ứng dụng ... 162

Hình 7-3 XML là định dạng chuẩn giữa các Web Services ... 163

Hình 7-4 Tạo mới Web Service ... 163

Hình 7-5 Giao diện kiểm tra Web Service ... 166

Hình 7-6 Giao diện nhập tham số kiểm tra Web Service ... 166

Hình 7-7 Kết quả sau khi chọn Invoke để thực hiện phương thức ... 167

Hình 7-8 Giao diện Ađ Web Service vào project ... 168

KHOA CÔNG NGHỆ THÔNG TIN 175

DANH MỤC BẢNG BIỂU

Bảng 3-1 Bảng các toán tử ... 38

Bảng 3-2 Bảng một số sự kiện trong javascript ... 57

Bảng 3-3 Bảng một số sự kiện có sẵn của đối tượng ... 57

Bảng 4-1 Phân loại tập tin ... 73

Bảng 4-2 Thuộc tính chung của web Control ... 80

Một phần của tài liệu Giáo trình xây dựng ứng dụng web(ngành hệ thống thông tin) (Trang 164)