Co to jest usługa sieci
Bohater usług sieciowych w .NET - WCF
Architektura usługi sieciowej
- Simple Object Access Protocol (SOAP)
- Representational State Transfer (REST)
Usługa SOAP
Rola SOAP
- Forma wiadomości SOAP
- Jak dane są kodowane
- Jak dane są wysłane
- Jak proces odpowiada
Jaki język opisuje usługę sieciową
Wymagania co do usług sieciowych
- Bezpieczeństwo – Czy istnieje pewność ,że wiadomości SOAP, które są wysłane pomiędzy klientem a serwerem nie zostaną prześwietlone, bądź zmienione przez osoby trzecie. Skąd możemy być pewni, że wiadomości SOAP zostały faktycznie wysłane przez serwer, a nie przez stronę (Spoofing attack*), która próbuje wyłudzić informacje. Jak możemy określić odpowiedni dostęp dla określonych użytkowników. To są istotne kwestie: spójność, poufność i autentykacja.Bez nich budowanie aplikacji, która ma korzystać z internetu nie ma sensu.
- Do tych problemów odniosła się specjalna organizacja o bardzo długiej nazwie:“Organization for the advancement of structured information standards”* w skrócie OASIS. W wielkim skrócie organizacja stworzyła odpowiednie standardy znane dzisiaj jako specyfikacja WS-Security. Specyfikacja WS-Security opisuje jak chronić wiadomości, które są wysłane przez usługi sieciowe. Dostawcy WS-Security mają własne implementacje zgodne z tą specyfikacją. Zazwyczaj używa się tutaj technologii do szyfrowania danych jak ich certyfikowania.
- Policy –Specyfikacja WS-Security definiuje jak zabezpieczyć, jednak wciąż programiści muszą wiedzieć jak napisać kod spełniający ten cel. Usługa sieciowa stworzona przez różnych programistów może mieć różne mechanizmy zabezpieczające o różnym poziomy efektowności. Przykładowo, jeśli usługa używa słabego szyfrowania cele bezpieczeństwa nie są wciąż spełnione. Odbiorca, który wysłałby poufne dane chciałby mieć 100% pewności, że dane są bezpieczne, czyli musiałby być one szyfrowane starannie. Właśnie wykazałem tutaj jedną z zasad polityki. Inne zasady mówią o jakości usługi sieciowej, jak i o jej niezawodności. Aplikacja kliencka powinna być w stanie,, w zależności od potrzeb ustawić odpowiedni poziom szyfrowania i tak dalej. Jednakże to wymaga od klienta, jak i od usługi sieciowej znajomości podstawowych zasad polityki. Specyfikacja WS-Policy określa model głównych celów, jak i ich składnię, która jest potrzebna do opisania polityki, którą usługa implementuje.
- Adresowanie i Przekierowanie –Usługa sieciowa jest użyteczna, gdy jest w stanie operować i wysłać dalej zapytanie do jednego z wielu komputerów hostujących instancje tej usługi. Jeden serwer nie da sobie rady z operowaniem na wielu zapytaniach od wielu komputerów. Dlatego w systemach istnieją specjalne algorytmy, które sprawdzają, który serwer jest najmniej obciążony i do niego wysyłają to zapytanie. Istotną rzeczą tutaj jest fakt, że klient nie powinien być świadomy tego procesu. Przekierowanie służy też administratorom, gdy trzeba jeden z serwerów tymczasowo zamknąć, bądź naprawić. Specyfikacja WS-Addresing opisuje jak zapytania powinny być przekierowywane.
Usługa REST
- XML (“Plain Old XML” albo POX)
- JavaScript Object Notation (JSON)
- ODATA (produkt Microsoftu)
<Pracownik>
<PracownikID> 3</PracownikID>
<Nazwisko> Walenciuk</Nazwisko>
<Imie> Cezary</Imie>
<Tytul> Inżynier Programista .NET</Tytul>
</Pracownik>
Kluczem w projektowaniu rozwiązań typu REST jest podzielenie modelu biznesowego na zbiory zasobów. W tym wypadku “pracownicy” nie sprawili żadnych problemów jednak w innych sytuacjach może to wymagać sporych przemyśleń.
Oczywiście , że nie. Podejście REST polega na minimalizacji i w niektórych przypadkach jest on bardziej efektywny niż SOAP. Przykładowo usługa REST może być używana do wyświetlania danych, które nie są w żadne sposób poufne.
W następnym wpisie opiszę krok po kroku utworzenie usługi SOAP.