Nadzieja w usługach

Testowanie usług sieciowych nie różni się od testowania innych komponentów serwerowych i może się odbywać bez konieczności tworzenia interfejsu użytkownika. Są już dostępne tego typu narzędzia służące do automatycznego testowania rozwiązań.

Etap wdrożenia usługi sieciowej jest często wspomagany przez narzędzia wykorzystane do jej implementacji (pakiety instalacyjne) i niejednokrotnie może być wykonany automatyczne. Wykorzystanie usługi sieciowej w aplikacji wiąże się z identycznym nakładem pracy, jak w przypadku używania każdego innego komponentu (pod warunkiem że klient ma dostęp do dokumentu WSDL opisującego usługę). W przypadku braku dokumentu WSDL korzysta się z katalogu UDDI, by odnaleźć żądaną usługę.

Zarządzanie niewielką liczbą usług sieciowych nie nastręcza problemu. Przy większej ich liczbie stają się pożądane mechanizmy umożliwiające czasowe wyłączenie, ponowne udostępnienie usługi i jej odinstalowanie. Na razie dostawcy oprogramowanie nie oferują dużego wyboru narzędzi do zarządzania Web Services.

Również koszty związane z wyszkoleniem kadry informatycznej nie powinny zniechęcać do stosowania technologii usług sieciowych. Podstawą usług jest język XML, którego wykorzystanie nawet w tradycyjnych systemach informatycznych staje się coraz bardziej powszechne. Ponadto narzędzia programistyczne niejednokrotnie umożliwiają tworzenie usług sieciowych za pomocą kilku prostych czynności wykonywanych z użyciem kreatora. Nie ma powodów, które pozwalałyby sądzić, że ten kierunek rozwoju narzędzi zostanie w przyszłości zahamowany. Można więc zakładać, że programista będzie dysponował narzędziami umożliwiającymi mu wykorzystanie technologii usług sieciowych przy stosunkowo niewielkim nakładzie pracy. W efekcie koszty ewentualnych szkoleń powinny być niewielkie.

Czy to się opłaca

Analiza zwrotu z inwestycji koniecznych do poniesienia przez organizacje planujące wykorzystanie technologii usług sieciowych powinna przebiegać dwutorowo.

Z biznesowego punktu widzenia, w długiej perspektywie czasowej, inwestycje dziś poniesione na wykorzystanie usług sieciowych z pewnością zwrócą się w przyszłości. Organizacja będzie mogła znacznie szybciej i taniej wdrażać nowe rozwiązania, wykorzystując gotowe usługi sieciowe dostępne na rynku. Dodatkowym atutem jest również możliwość czerpania zysków z udostępnionych kontrahentom własnych usług sieciowych.

Te same komponenty będzie można zastosować w różnych systemach, co z biznesowego punktu widzenia jest dodatkową korzyścią. W długim okresie będzie możliwe uzyskanie oszczędności w związku z wyeliminowaniem błędów ludzkich dzięki automatyzacji często bardzo złożonych procesów, wymagających obecnie działania użytkownika. Z drugiej strony, w krótkiej perspektywie, m.in. ze względu na konieczne inwestycje w zapewnienie bezpieczeństwa, wykorzystanie usług sieciowych może nie przynieść spodziewanych korzyści.

Z technologicznego punktu widzenia usługi sieciowe mogą być postrzegane jako kolejny etap rozwoju przetwarzania rozproszonego. Czynione dzisiaj próby standaryzacji ułatwią integrację systemów informatycznych w przyszłości. Dodatkowym profitem będą lepsze niż dotychczas możliwości wielokrotnego wykorzystania funkcji i komponentów. Biorąc pod uwagę te aspekty, wykorzystanie technologii usług sieciowych z dużym prawdopodobieństwem ograniczy koszty związane z integracją systemów informatycznych.

Wydajność, bezpieczeństwo, dostępność

Architektura usług sieciowych umożliwia w dużej mierze użycie istniejących w organizacji rozwiązań, niemniej wprowadza kolejną warstwę w modelu oprogramowania, co może skutkować koniecznością zwiększenia wydajności platformy sprzętowej i infrastruktury sieciowej. Wykorzystanie formatów i protokołów opartych na XML na każdym etapie przetwarzania wymaga wydajnych parserów XML, a ponadto ich ścisłej integracji ze wszystkimi typami oprogramowania - począwszy od baz danych, poprzez warstwy pośrednie, skończywszy na interfejsach komunikacyjnych.

Kolejna kwestia to bezpieczeństwo. Usługi sieciowe wymagają dodatkowych form zabezpieczeń i narzędzi kontrolnych działających - tak jak same usługi sieciowe - w warstwie aplikacyjnej, np. tzw. firewalle XML. Oprócz tego, ponieważ usługi sieciowe opierają się na protokole HTTP, odnoszą się do nich wszystkie zagrożenia i odpowiadające im metody zabezpieczeń znane z dotychczasowych aplikacji internetowych. Opracowywane w ramach WS-I specyfikacje WS-Security obejmujące kwestie takie jak uwierzytelnianie wciąż są wzbogacane i rozwijane. Zagadnieniem, które wraz z popularyzacją usług sieciowych nabierze podstawowego znaczenia, będzie zapewnienie poszczególnym usługom wysokiej dostępności - zwłaszcza gdy organizacja miałaby wykorzystywać w swoich aplikacjach zewnętrzne usługi sieciowe. Rozwiązanie tego problemu będzie trudne, szczególnie w kontekście aplikacji działających na platformach mobilnych i korzystających z usług sieciowych za pośrednictwem sieci bezprzewodowych.