Co to są usługi internetowe?
Różne książki i różne organizacje podają różne definicje usług internetowych. Niektóre z nich są wymienione tutaj.
Usługa sieciowa to dowolne oprogramowanie, które udostępnia się w Internecie i wykorzystuje ustandaryzowany system przesyłania wiadomości XML. XML jest używany do kodowania całej komunikacji w usłudze sieciowej. Na przykład klient wywołuje usługę internetową, wysyłając wiadomość XML, a następnie czeka na odpowiednią odpowiedź XML. Ponieważ cała komunikacja odbywa się w języku XML, usługi sieciowe nie są powiązane z żadnym systemem operacyjnym ani językiem programowania - Java może komunikować się z Perlem; Aplikacje Windows mogą komunikować się z aplikacjami Unix.
Usługi sieciowe to samodzielne, modułowe, rozproszone, dynamiczne aplikacje, które można opisywać, publikować, lokalizować lub wywoływać w sieci w celu tworzenia produktów, procesów i łańcuchów dostaw. Aplikacje te mogą być lokalne, rozproszone lub oparte na sieci WWW. Usługi internetowe są oparte na otwartych standardach, takich jak TCP / IP, HTTP, Java, HTML i XML.
Usługi sieci Web to oparte na języku XML systemy wymiany informacji, które wykorzystują Internet do bezpośredniej interakcji między aplikacjami. Systemy te mogą obejmować programy, obiekty, wiadomości lub dokumenty.
Usługa internetowa to zbiór otwartych protokołów i standardów używanych do wymiany danych między aplikacjami lub systemami. Aplikacje napisane w różnych językach programowania i działające na różnych platformach mogą wykorzystywać usługi sieciowe do wymiany danych w sieciach komputerowych, takich jak Internet, w sposób podobny do komunikacji między procesami na jednym komputerze. Ta interoperacyjność (np. Między aplikacjami Java i Python lub Windows i Linux) wynika z wykorzystania otwartych standardów.
Podsumowując, kompletna usługa internetowa to każda usługa, która -
Jest dostępny przez Internet lub sieci prywatne (intranet)
Używa ustandaryzowanego systemu przesyłania wiadomości XML
Nie jest powiązany z żadnym systemem operacyjnym ani językiem programowania
Samoopisuje się za pomocą wspólnej gramatyki XML
Można go znaleźć za pomocą prostego mechanizmu wyszukiwania
Składniki usług internetowych
Podstawową platformą usług internetowych jest XML + HTTP. Wszystkie standardowe usługi sieciowe działają przy użyciu następujących komponentów -
SOAP (Simple Object Access Protocol)
UDDI (uniwersalny opis, wykrywanie i integracja)
WSDL (język opisu usług sieci Web)
Wszystkie te komponenty zostały omówione w rozdziale Architektura usług internetowych .
Jak działa usługa sieciowa?
Usługa sieciowa umożliwia komunikację między różnymi aplikacjami przy użyciu otwartych standardów, takich jak HTML, XML, WSDL i SOAP. Usługa internetowa korzysta z -
XML do oznaczania danych
SOAP do przesłania wiadomości
WSDL opisujący dostępność usługi.
W systemie Solaris można zbudować usługę internetową opartą na języku Java, do której można uzyskać dostęp z poziomu programu Visual Basic działającego w systemie Windows.
Możesz również użyć C # do tworzenia nowych usług internetowych w systemie Windows, które mogą być wywoływane z aplikacji internetowej opartej na JavaServer Pages (JSP) i działającej w systemie Linux.
Przykład
Rozważ prosty system zarządzania kontami i przetwarzania zamówień. Księgowi używają aplikacji klienckiej zbudowanej w języku Visual Basic lub JSP do tworzenia nowych kont i wprowadzania nowych zamówień klientów.
Logika przetwarzania tego systemu jest napisana w języku Java i rezyduje na komputerze z systemem Solaris, który również współdziała z bazą danych w celu przechowywania informacji.
Kroki do wykonania tej operacji są następujące -
Program klienta pakuje informacje o rejestracji konta do komunikatu SOAP.
Ten komunikat SOAP jest wysyłany do usługi internetowej jako treść żądania HTTP POST.
Usługa internetowa rozpakowuje żądanie SOAP i konwertuje je na polecenie zrozumiałe dla aplikacji.
Aplikacja przetwarza informacje zgodnie z wymaganiami i odpowiada nowym unikalnym numerem konta dla tego klienta.
Następnie usługa sieciowa pakuje odpowiedź do innego komunikatu SOAP, który odsyła z powrotem do programu klienta w odpowiedzi na jego żądanie HTTP.
Program kliencki rozpakowuje komunikat SOAP w celu uzyskania wyników procesu rejestracji konta.