Usługa Web Service to zestaw pokrewnych funkcji aplikacji, które można programowo wywoływać przez Internet. Jednostki biznesowe mogą dynamicznie łączyć i dopasowywać usługi Web Services, aby wykonywać złożone transakcje przy minimalnym wkładzie pracy programistów. Usługi Web Services umożliwiają kupującym i sprzedającym z całego świata wzajemne wykrywanie się, dynamiczne łączenie i wykonywanie transakcji w czasie rzeczywistym przy jak największej automatyzacji.
Usługi Web Services to autonomiczne, samoczynnie się opisujące modułowe aplikacje, które mogą być publikowane, znajdowane i wywoływane przez sieć WWW.
Usługi Web Services są autonomiczne. Po stronie klienckiej nie jest wymagane żadne dodatkowe oprogramowanie. Na początek wystarczy język programowania z obsługą klienta HTTP i XML. Po stronie serwera wymagany jest serwer WWW i mechanizm serwletów. Klient i serwer może być wdrożony w różnych środowiskach. Usługa Web Service może umożliwić korzystanie z istniejącej aplikacji bez pisania ani jednej linijki kodu.
Usługi Web Services samoczynnie się opisują. Klient i serwer muszą tylko rozpoznać format i zawartość wiadomości żądania i odpowiedzi. Definicja formatu wiadomości jest do niej zawsze dołączona; nie są wymagane żadne zewnętrzne repozytoria metadanych ani narzędzia do generowania kodu.
Usługi Web Services są modułowe. Z prostych usług Web Services można utworzyć usługi bardziej skomplikowane, agregując je przy użyciu technik przepływu pracy lub wywołując usługi Web Services warstwy niższej z implementacji usługi Web Services.
Usługi Web Services są niezależne od platformy. Usługi Web Services wykorzystują zwięzły zestaw otwartych standardów związanych z XML, które zostały zaprojektowane, aby promować współdziałanie między usługą Web Service a klientami z różnych platform komputerowych i języków programowania.
Usługi Web Services mogą być wszystkim, np. krytykami przedstawień teatralnych, prognozami pogody, kontrolami zdolności kredytowej, kursami akcji, wskazówkami dojazdu lub procesami rezerwacji biletów lotniczych. Każda z tych autonomicznych usług Web Services to aplikacja, którą można zintegrować z innymi usługami, tej samej lub innej firmy, aby utworzyć pełny proces biznesowy. Dzięki temu współdziałaniu jednostki biznesowe mogą dynamicznie publikować, wykrywać i wiązać szereg usług Web Services przez Internet.
Usługi Web Services można podzielić na trzy kategorie:
Informacje o jednostce biznesowej. Jednostka biznesowa udostępnia informacje klientom lub innym jednostkom. W tym przypadku jednostka biznesowa korzysta z usług Web Services, aby rozszerzyć swój zakres. Przykładami usług Web Services należącymi do kategorii informacji biznesowych są strumienie aktualności, prognozy pogody i kursy akcji.
Integracja jednostek biznesowych. Jednostka biznesowa świadczy transakcyjne, "odpłatne" usługi swoim klientom. W tym przypadku jednostka biznesowa staje się częścią globalnej sieci dostawców tworzących wartość dodaną, którą można wykorzystać do prowadzenia działalności handlowej. Przykłady usług Web Services należących do kategorii integracji jednostek biznesowych obejmują elektroniczne aukcje i licytacje, systemy rezerwacji i kontrole zdolności kredytowej.
Eksternalizacja procesu biznesowego. Jednostka biznesowa różni się od konkurentów tworzeniem globalnego łańcucha wartości. W tym przypadku jednostka biznesowa korzysta z usług Web Services, aby dynamicznie zintegrować swoje procesy. Przykładem usług Web Services należących do kategorii eksternalizacji procesu biznesowego są powiązania między różnymi jednostkami biznesowymi, które łączą produkcję, montaż, dystrybucję hurtową i sprzedaż detaliczną danego produktu.
Komponent sieciowy w architekturze usług Web Services może odgrywać jedną lub więcej zasadniczych ról: dostawcy usług, brokera usług i klienta usług.
Powiązanie polega na spełnieniu wszystkich środowiskowych wymagań wstępnych, które są niezbędne, aby skutecznie realizować usługi. Przykłady środowiskowych wymagań wstępnych obejmują zabezpieczenia, monitorowanie transakcji i dostępność HTTP. Relacje między tymi rolami są opisane na Rysunku 1.
Rysunek 1. Role i interakcje usług.
Więcej informacji na temat usług Web Services zawiera strona www.ibm.com/developerworks/webservices.