Dịch vụ Web XML
Dịch vụ web là các thành phần ứng dụng web.
Các dịch vụ Web có thể được xuất bản, tìm thấy và sử dụng trên Web.
Hướng dẫn này giới thiệu WSDL, SOAP, RDF và RSS.
WSDL
- WSDL là viết tắt của Ngôn ngữ mô tả dịch vụ web
- WSDL là ngôn ngữ dựa trên XML để mô tả các dịch vụ Web.
- WSDL là khuyến nghị của W3C
XÀ BÔNG
- SOAP là viết tắt của Giao thức truy cập đối tượng đơn giản
- SOAP là một giao thức dựa trên XML để truy cập các Dịch vụ Web.
- SOAP dựa trên XML
- SOAP là khuyến nghị của W3C
RDF
- RDF là viết tắt của Khung mô tả tài nguyên.
- RDF là một framework mô tả các tài nguyên trên web
- RDF được viết bằng XML
- RDF là Khuyến nghị của W3C
RSS
- RSS là viết tắt của Phân phối thực sự đơn giản
- RSS cho phép bạn cung cấp nội dung trang web của bạn
- RSS xác định một cách dễ dàng để chia sẻ và xem các tiêu đề và nội dung
- Các tập tin RSS có thể được cập nhật tự động
- RSS cho phép chế độ xem được cá nhân hóa cho các trang web khác nhau
- RSS được viết bằng XML
Những gì bạn nên biết
Trước khi nghiên cứu các dịch vụ web, bạn nên có hiểu biết cơ bản về XML và Không gian tên XML.
Nếu bạn muốn nghiên cứu những chủ đề này trước, vui lòng đọc Hướng dẫn XML của chúng tôi.
Dịch vụ web
- Dịch vụ web là các thành phần ứng dụng
- Các dịch vụ web giao tiếp bằng các giao thức mở
- Các dịch vụ web có tính khép kín và tự mô tả
- Các dịch vụ web có thể được phát hiện bằng UDDI
- Dịch vụ web có thể được sử dụng bởi các ứng dụng khác
- HTTP và XML là nền tảng cho các dịch vụ Web
Khả năng tương tác có mức độ ưu tiên cao nhất
Khi tất cả các nền tảng chính có thể truy cập Web bằng trình duyệt Web thì các nền tảng khác nhau không thể tương tác. Để các nền tảng này hoạt động cùng nhau, các ứng dụng Web đã được phát triển.
Ứng dụng web đơn giản là các ứng dụng chạy trên web. Chúng được xây dựng dựa trên các tiêu chuẩn của trình duyệt Web và có thể được sử dụng bởi bất kỳ trình duyệt nào trên bất kỳ nền tảng nào.
Dịch vụ Web đưa ứng dụng Web lên một tầm cao mới
Bằng cách sử dụng các dịch vụ Web, ứng dụng của bạn có thể xuất bản chức năng hoặc thông điệp của nó tới phần còn lại của thế giới.
Các dịch vụ web sử dụng XML để mã hóa và giải mã dữ liệu cũng như SOAP để truyền dữ liệu đó (sử dụng các giao thức mở).
Với các dịch vụ Web, hệ thống thanh toán của máy chủ Win 2k của bộ phận kế toán của bạn có thể kết nối với máy chủ UNIX của nhà cung cấp CNTT của bạn.
Dịch vụ web có hai loại sử dụng
Các thành phần ứng dụng có thể tái sử dụng.
Có những thứ ứng dụng cần rất thường xuyên. Vậy tại sao lại làm đi làm lại những điều này?
Các dịch vụ web có thể cung cấp các thành phần ứng dụng như: chuyển đổi tiền tệ, báo cáo thời tiết hoặc thậm chí dịch ngôn ngữ dưới dạng dịch vụ.
Kết nối phần mềm hiện có.
Các dịch vụ web có thể giúp giải quyết vấn đề về khả năng tương tác bằng cách cung cấp cho các ứng dụng khác nhau cách liên kết dữ liệu của chúng.
Với các dịch vụ Web, bạn có thể trao đổi dữ liệu giữa các ứng dụng khác nhau và các nền tảng khác nhau.
Bất kỳ ứng dụng nào cũng có thể có thành phần Dịch vụ Web.
Dịch vụ web có thể được tạo bất kể ngôn ngữ lập trình.
Một ví dụ về dịch vụ web
Trong ví dụ sau, chúng ta sẽ sử dụng ASP.NET để tạo một Dịch vụ Web đơn giản chuyển đổi nhiệt độ từ độ F sang độ C và ngược lại:
<%@ WebService Language="VBScript" Class="TempConvert" %>
Imports System
Imports System.Web.Services
Public Class TempConvert :Inherits WebService
<WebMethod()> Public Function FahrenheitToCelsius(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,",","."))
if fahr="" or IsNumeric(fahr)=false then return "Error"
return ((((fahr) - 32) / 9) * 5)
end function
<WebMethod()> Public Function CelsiusToFahrenheit(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,",","."))
if cel="" or IsNumeric(cel)=false then return "Error"
return ((((cel) * 9) / 5) + 32)
end function
end class
Tài liệu này được lưu dưới dạng tệp .asmx. Đây là phần mở rộng tệp ASP.NET cho Dịch vụ web XML.
Ví dụ giải thích
Lưu ý: Để chạy ví dụ này, bạn sẽ cần một máy chủ .NET.
Dòng đầu tiên trong ví dụ cho biết đây là một Dịch vụ Web, được viết bằng VBScript và có tên lớp là "TempConvert":
<%@ WebService Language="VBScript" Class="TempConvert" %>
Các dòng tiếp theo nhập không gian tên "System.Web.Services" từ .NET framework:
Imports System
Imports System.Web.Services
Dòng tiếp theo định nghĩa rằng lớp "TempConvert" là loại lớp WebService:
Public Class TempConvert :Inherits WebService
Các bước tiếp theo là lập trình VB cơ bản. Ứng dụng này có hai chức năng. Một để chuyển đổi từ độ F sang độ C và một để chuyển đổi từ độ C sang độ F.
Sự khác biệt duy nhất so với một ứng dụng thông thường là hàm này được định nghĩa là "WebMethod()".
Sử dụng "WebMethod()" để chuyển đổi các chức năng trong ứng dụng của bạn thành dịch vụ web:
<WebMethod()> Public Function FahrenheitToCelsius(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,",","."))
if fahr="" or IsNumeric(fahr)=false then return "Error"
return ((((fahr) - 32) / 9) * 5)
end function
<WebMethod()> Public Function CelsiusToFahrenheit(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,",","."))
if cel="" or IsNumeric(cel)=false then return "Error"
return ((((cel) * 9) / 5) + 32)
end function
Sau đó kết thúc buổi học:
end class
Xuất bản tệp .asmx trên máy chủ có hỗ trợ .NET và bạn sẽ có Dịch vụ Web hoạt động đầu tiên của mình.
Đặt dịch vụ web trên trang web của bạn
Sử dụng biểu mẫu và phương thức HTTP POST, bạn có thể đặt dịch vụ web trên trang web của mình, như sau:
Làm thế nào để làm nó
Đây là mã để thêm Dịch vụ Web vào một trang web:
<form
action='tempconvert.asmx/FahrenheitToCelsius'
method="post" target="_blank">
<table>
<tr>
<td>Fahrenheit to Celsius:</td>
<td>
<input class="frmInput" type="text"
size="30" name="Fahrenheit">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input type="submit"
value="Submit" class="button">
</td>
</tr>
</table>
</form>
<form
action='tempconvert.asmx/CelsiusToFahrenheit'
method="post" target="_blank">
<table>
<tr>
<td>Celsius to Fahrenheit:</td>
<td>
<input class="frmInput" type="text"
size="30" name="Celsius">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input type="submit"
value="Submit" class="button">
</td>
</tr>
</table>
</form>
Thay thế "tempconvert.asmx" bằng địa chỉ dịch vụ web của bạn như:
https://www.example.com/xml/tempconvert.asmx