Usługi sieciowe - architektura
Istnieją dwa sposoby przeglądania architektury usług internetowych -
- Pierwszym jest zbadanie indywidualnych ról każdego aktora usługi sieciowej.
- Drugim jest zbadanie pojawiającego się stosu protokołów usług sieciowych.
Role usługi sieci Web
W architekturze usług internetowych istnieją trzy główne role -
Dostawca usługi
To jest dostawca usługi internetowej. Usługodawca realizuje usługę i udostępnia ją w Internecie.
Żądający usługi
To jest dowolny konsument usługi internetowej. Żądający wykorzystuje istniejącą usługę internetową, otwierając połączenie sieciowe i wysyłając żądanie XML.
Rejestr usług
To jest logicznie scentralizowany katalog usług. Rejestr stanowi centralne miejsce, w którym programiści mogą publikować nowe usługi lub znajdować istniejące. W związku z tym służy jako scentralizowana izba rozliczeniowa dla firm i ich usług.
Stos protokołu usługi sieci Web
Drugą opcją przeglądania architektury usług internetowych jest zbadanie powstającego stosu protokołów usług internetowych. Stos wciąż się rozwija, ale obecnie składa się z czterech głównych warstw.
Service Transport
Ta warstwa jest odpowiedzialna za przesyłanie wiadomości między aplikacjami. Obecnie warstwa ta obejmuje Hyper Text Transport Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP) i nowsze protokoły, takie jak Blocks Extensible Exchange Protocol (BEEP).
Wiadomości XML
Ta warstwa jest odpowiedzialna za kodowanie wiadomości w typowym formacie XML, tak aby wiadomości były zrozumiałe na każdym końcu. Obecnie ta warstwa obejmuje XML-RPC i SOAP.
opis usługi
Ta warstwa jest odpowiedzialna za opisanie publicznego interfejsu do określonej usługi internetowej. Obecnie opis usługi jest obsługiwany przez język opisu usługi sieci Web (WSDL).
Wykrywanie usług
Ta warstwa jest odpowiedzialna za scentralizowanie usług we wspólnym rejestrze i zapewnienie łatwej funkcji publikowania / znajdowania. Obecnie wykrywanie usług jest obsługiwane za pośrednictwem uniwersalnego opisu, wykrywania i integracji (UDDI).
Wraz z rozwojem usług internetowych można dodawać kolejne warstwy, a do każdej warstwy mogą być dodawane dodatkowe technologie.
W następnym rozdziale opisano składniki usług internetowych.
Kilka słów o transporcie usług
Dolna część stosu protokołów usług sieci Web to transport usług. Ta warstwa jest odpowiedzialna za rzeczywisty transport wiadomości XML między dwoma komputerami.
Hyper Text Transfer Protocol (HTTP)
Obecnie HTTP jest najpopularniejszą opcją transportu usług. Protokół HTTP jest prosty, stabilny i szeroko stosowany. Ponadto większość zapór zezwala na ruch HTTP. Pozwala to wiadomościom XMLRPC lub SOAP podszywać się pod wiadomości HTTP. Jest to dobre, jeśli chcesz zintegrować zdalne aplikacje, ale powoduje to szereg problemów związanych z bezpieczeństwem.
Bloki Extensible Exchange Protocol (BEEP)
To obiecująca alternatywa dla HTTP. BEEP to nowa struktura Internet Engineering Task Force (IETF) służąca do tworzenia nowych protokołów. BEEP jest nakładany bezpośrednio na TCP i zawiera wiele wbudowanych funkcji, w tym wstępny protokół uzgadniania, uwierzytelnianie, bezpieczeństwo i obsługę błędów. Używając BEEP, można tworzyć nowe protokoły dla różnych aplikacji, w tym komunikatorów, przesyłania plików, syndykacji treści i zarządzania siecią.
SOAP nie jest powiązany z żadnym określonym protokołem transportowym. W rzeczywistości możesz używać protokołu SOAP przez HTTP, SMTP lub FTP. Dlatego jednym obiecującym pomysłem jest użycie SOAP zamiast BEEP.