Usługi sieciowe XML
Usługi sieci Web to składniki aplikacji sieci Web.
Usługi sieciowe mogą być publikowane, znajdowane i używane w sieci.
Ten samouczek przedstawia WSDL, SOAP, RDF i RSS.
WSDL
- WSDL oznacza język opisu usług internetowych
- WSDL to oparty na XML język opisujący usługi sieciowe.
- WSDL jest rekomendacją W3C
MYDŁO
- SOAP oznacza prosty protokół dostępu do obiektów
- SOAP to oparty na XML protokół dostępu do usług sieci Web.
- SOAP jest oparty na XML
- SOAP jest rekomendacją W3C
RDF
- RDF to skrót od Resource Description Framework
- RDF to framework do opisywania zasobów w sieci
- RDF jest napisany w XML
- RDF jest rekomendacją W3C
RSS
- RSS to skrót od Really Simple Syndication
- RSS umożliwia dystrybucję treści witryny
- RSS definiuje łatwy sposób udostępniania i przeglądania nagłówków i treści
- Pliki RSS mogą być automatycznie aktualizowane
- RSS umożliwia spersonalizowane widoki dla różnych witryn
- RSS jest napisany w XML
Co powinieneś już wiedzieć
Zanim zaczniesz studiować usługi sieciowe, powinieneś mieć podstawową wiedzę na temat XML i przestrzeni nazw XML.
Jeśli chcesz najpierw przestudiować te przedmioty, przeczytaj nasz samouczek XML .
Usługi internetowe
- Usługi sieciowe to komponenty aplikacji
- Usługi internetowe komunikują się za pomocą otwartych protokołów
- Usługi internetowe są samowystarczalne i samoopisujące
- Usługi sieciowe można wykryć za pomocą UDDI
- Usługi sieciowe mogą być używane przez inne aplikacje
- HTTP i XML to podstawa usług internetowych
Interoperacyjność ma najwyższy priorytet
Gdy wszystkie główne platformy miały dostęp do sieci za pomocą przeglądarek internetowych, różne platformy nie mogły współdziałać. Aby te platformy współpracowały ze sobą, opracowano aplikacje internetowe.
Aplikacje internetowe to po prostu aplikacje działające w sieci. Są one oparte na standardach przeglądarek internetowych i mogą być używane przez dowolną przeglądarkę na dowolnej platformie.
Usługi sieciowe przenoszą aplikacje internetowe na wyższy poziom
Korzystając z usług sieci Web, Twoja aplikacja może publikować swoje funkcje lub komunikaty reszcie świata.
Usługi sieciowe używają XML do kodowania i dekodowania danych oraz SOAP do ich transportu (przy użyciu otwartych protokołów).
Dzięki usługom internetowym serwer rozliczeniowy Win 2k Twojego działu księgowości może łączyć się z serwerem UNIX Twojego dostawcy IT.
Usługi sieciowe mają dwa rodzaje zastosowań
Komponenty aplikacji wielokrotnego użytku.
Są rzeczy, których aplikacje potrzebują bardzo często. Więc po co robić je w kółko?
Usługi internetowe mogą oferować komponenty aplikacji, takie jak: przeliczanie walut, prognozy pogody, a nawet tłumaczenie językowe jako usługi.
Podłącz istniejące oprogramowanie.
Usługi sieci Web mogą pomóc w rozwiązaniu problemu ze współdziałaniem, dając różnym aplikacjom możliwość łączenia ich danych.
Dzięki usługom internetowym możesz wymieniać dane między różnymi aplikacjami i różnymi platformami.
Każda aplikacja może mieć składnik Web Service.
Usługi sieciowe można tworzyć niezależnie od języka programowania.
Przykład usługi internetowej
W poniższym przykładzie użyjemy ASP.NET do stworzenia prostej usługi sieciowej, która konwertuje temperaturę ze stopni Fahrenheita na stopnie Celsjusza i na odwrót:
<%@ 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
Ten dokument jest zapisywany jako plik .asmx. Jest to rozszerzenie pliku ASP.NET dla usług sieci Web XML.
Przykład wyjaśniony
Uwaga: Aby uruchomić ten przykład, potrzebujesz serwera .NET.
Pierwsza linia w przykładzie wskazuje, że jest to usługa sieciowa napisana w języku VBScript i ma nazwę klasy „TempConvert”:
<%@ WebService Language="VBScript" Class="TempConvert" %>
Kolejne wiersze importują przestrzeń nazw „System.Web.Services” z platformy .NET:
Imports System
Imports System.Web.Services
Kolejna linia określa, że klasa „TempConvert” jest typem klasy WebService:
Public Class TempConvert :Inherits WebService
Kolejne kroki to podstawowe programowanie VB. Ta aplikacja ma dwie funkcje. Jeden do konwersji ze stopni Fahrenheita na stopnie Celsjusza, a drugi do konwersji ze stopni Celsjusza na stopnie Fahrenheita.
Jedyną różnicą w stosunku do normalnej aplikacji jest to, że ta funkcja jest zdefiniowana jako „WebMethod()”.
Użyj "WebMethod()", aby przekonwertować funkcje w swojej aplikacji na usługi sieciowe:
<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
Następnie zakończ zajęcia:
end class
Opublikuj plik .asmx na serwerze z obsługą platformy .NET, a uzyskasz pierwszą działającą usługę sieci Web.
Umieść usługę sieciową w swojej witrynie internetowej
Korzystając z formularza i metody HTTP POST, możesz umieścić usługę sieciową na swojej stronie w następujący sposób:
Jak to zrobić
Oto kod do dodania usługi sieciowej do strony internetowej:
<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>
Zastąp "tempconvert.asmx" adresem swojej usługi internetowej, np.:
http://www.example.com/xml/tempconvert.asmx