Nadzieja w usługach

Usługi sieciowe opierają się na protokole HTTP, toteż odnoszą się do nich wszystkie zagrożenia i odpowiadające im metody zabezpieczeń znane z dotychczasowych aplikacji internetowych. Każda usługa sieciowa powinna zatem spełniać podstawowe wymagania związane z komunikacją za pośrednictwem sieci Web, takie jak: uwierzytelnianie, autoryzacja, zapewnienie prywatności i integralności przesyłanych danych. Wymagania te można osiągnąć przy wykorzystaniu dodatkowych mechanizmów, których dzisiejsze standardy Web Services nie precyzują, pozostawiając dostawcom dowolność implementacji.

Mechanizmy te to w pierwszym rzędzie hasła (przesyłane w nagłówku wiadomości SOAP bądź podawane jako parametr wywołania usługi), certyfikaty X.509, LDAP czy Kerberos, używane w celu uwierzytelnienia klienta usługi. Ale nie tylko. Aby z usług mogli skorzystać tylko autoryzowani użytkownicy, konieczne jest określenie szczegółowych ograniczeń dotyczących wywołania usług i zwracanych przez nie danych.

W celu zapewnienia prywatności przesyłanych danych na każdym etapie komunikacji wydaje się konieczne zastosowanie SSL/TLS i/lub XML Encryption. Niezależnie od zabezpieczeń w warstwie transportowej nieodzowne jest podpisywanie części lub całości dokumentów XML w celu zapewnienia im integralności na każdym etapie przetwarzania.

Nieodpowiednie zabezpieczenie dostępu do usług sieciowych może narazić organizację na ataki (np. DOS, Message of Application Buffer Overflow, słownikowe ataki na hasła, SQL Injection, Cross-Site Scripting, przesyłanie kodów wirusów w zaszyfrowanych danych). Trudnym i wartym rozważania zagadnieniem jest również sposób implementacji mechanizmów zabezpieczeń dotyczących usług sieciowych w organizacji - integracja autonomicznych mechanizmów zabezpieczających w ramach każdej usługi sieciowej lub stworzenie jednej spójnej warstwy zabezpieczającej wszystkie usługi sieciowe danej organizacji.

Kolejnym elementem jest zapewnienie pełnej dostępności usług sieciowych danej organizacji. Zagadnienie to nabiera szczególnego znaczenia w przypadku, gdy organizacja wykorzystuje usługi sieciowe zewnętrznych firm we własnych systemach mission critical. Rozwiązanie tego problemu będzie trudne, zwłaszcza w kontekście aplikacji działających na platformach mobilnych i korzystających z usług sieciowych za pośrednictwem sieci bezprzewodowych.

Dla kogo więcej pracy

Usługi sieciowe, nawet biorąc pod uwagę najbardziej pesymistyczny scenariusz rozwoju tej technologii, ułatwią planowanie i proces integracji systemów informatycznych. Spowodują, że projektanci i analitycy będą mogli poświęcić czas na tworzenie procesów biznesowych, odciążeni zaś zostaną od rozwiązywania technologicznych zagadnień związanych z łączeniem różnorodnych aplikacji działających w środowiskach heterogenicznych.

W dłuższej perspektywie możliwość wielokrotnego wykorzystania komponentów realizujących procesy biznesowe przyczyni się do zmniejszenia pracy wykonywanej obecnie przez developerów. Bez obaw, usługi sieciowe nie przyczynią się do redukcji działów IT. Powodów ku temu jest co najmniej kilka.

Nadal będzie konieczne rozwijanie wewnętrznych aplikacji, które nie będą mogły całkowicie opierać się na usługach sieciowych, np. z powodu specyfiki niektórych procesów biznesowych czy poufności wykorzystanych przez nie danych. Nierozwiązane problemy dotyczące bezpieczeństwa usług sieciowych powodują, że przynajmniej w najbliższym czasie będą one stosowane wyłącznie w rozwiązaniach, które nie korzystają z poufnych danych. Z czasem, w związku z przenoszeniem przynajmniej części logiki biznesowej poza sieć korporacyjną, wzrośnie zapotrzebowanie na usługi z zakresu bezpieczeństwa.

Jednocześnie upowszechnienie modelu komponentowego powinno spowodować wzrost popytu na usługi związane z audytem, opisem procesów biznesowych i projektowaniem usług o dużych możliwościach konfiguracji w celu wielokrotnego ich wykorzystania. Rozproszenie komponentów i zwiększenie ich liczby wymusi wzrost nakładów przeznaczonych na administrację i kontrolę działania infrastruktury sieciowej. Efektem tego będzie rosnące zapotrzebowanie na usługi administratorów, chyba że pojawią się tanie i dostępne narzędzia automatyzujące te zadania.