Usługa Web Service została zaprojektowana jako inny sposób współpracy (za pomocą języka XML) z bazą danych przedmiotów używaną przez aplikację aukcyjną. Użytkownicy aukcyjnej usługi Web Service mogą dodawać i usuwać przedmioty w bazie danych oraz przeglądać informacje o jednym lub wszystkich aktualnych przedmiotach na aukcji.
Usługa Web Service jest to zbiór powiązanych funkcji aplikacji, które można publikować, wyszukiwać i wywoływać przez Internet. Usługi Web Service umożliwiają aplikacjom działającym na różnych platformach i zaprojektowanym w różnych językach współpracę przy użyciu komponentów XML.
Istnieją dwa podstawowe podejścia do projektowania usługi Web Service: zstępujące i wstępujące. W podejściu zstępującym usługa Web Service jest oparta na interfejsie usługi i typach XML zdefiniowanych w plikach WSDL (Web Services Description Language) i XSD (XML Schema Definition). Programista modyfikuje następnie implementację szkieletową w celu powiązania jej z logiką biznesową. W podejściu wstępującym usługa WWW jest tworzona na podstawie istniejącej logiki biznesowej w komponentach bean Java lub EJB. Plik WSDL jest generowany w celu opisania wynikowego interfejsu usługi Web Service. Podejście zstępujące zapewnia większą kontrolę nad interfejsem usługi Web Service oraz użytymi typami XML i stanowi zalecane podejście podczas projektowania usługi Web Service.
Aukcyjna usługa Web Service została zaprojektowana przy zastosowaniu podejścia zstępującego poprzez zdefiniowanie na początku plików WSDL i XSD. Plik WSDL definiuje dostępne interfejsy, wywoływane operacje i komunikaty przekazywane podczas tych operacji. Plik WSDL odwołuje się do pliku XSD zawierającego dokładne definicje tych komunikatów.
Poniższy diagram ilustruje etapy projektowania usługi Web Service. Edytory WSDL i XSD służą do zdefiniowania plików WSDL i XSD. Drugi komponent, szkielet komponentu bean Java, zawiera trzy różne fragmenty, które są projektowane przy użyciu kreatora. Ponieważ fragmenty te są generowane jednocześnie i testowane łącznie jako jednostka, zostaną one opisane razem.
Interfejs usługi Web Service i typy XML zdefiniowane w plikach WSDL (Web Services Description Language) i XSD (XML Schema Definition) opisują wygląd i działanie usługi Web Service, definiując elementy i powiązane z nimi czynności.
Podczas opracowywania aukcyjnej usługi Web Service przy pomocy edytora schematu XML został utworzony nowy plik XSD w celu zdefiniowania typów schematu XML przekazywanych w usłudze Web Service.
Następnie za pomocą kreatora nowego pliku WSDL został utworzony nowy plik WSDL tworzący plik szkieletu WSDL za pomocą domyślnego stylu i przy zastosowaniu literału dokumentu. Jest to wybór zalecany przez organizację WS-I (Web Services Interoperability). Organizacja WS-I jest otwartą organizacją przemysłową publikującą wytyczne zapewniające wzajemną współpracę usług Web Services pochodzących od różnych dostawców.
Po utworzeniu pliku szkieletu WSDL użyty został edytor WSDL do zmodyfikowania tego pliku WSDL. W pliku WSDL są tworzone nowe operacje, komunikaty i fragmenty wraz z nowo wygenerowanym wiązaniem. Edytor WSDL jest ściśle powiązany z edytorem schematów XML, który można otworzyć z poziomu edytora WSDL. Dzięki temu części pliku WSDL mogą się odwoływać do typów schematu XML zdefiniowanych w pliku XSD, co zostało przedstawione na poniższym zrzucie ekranu.
Szkielet komponentu bean Java jest tworzony na podstawie plików WSDL i XSD przy użyciu kreatora usług Web Services. Kreator usług Web Services generuje kod Java zgodnie z modelem programowania JAX-RPC. Deskryptory wdrażania usługi Web Service są generowane zgodnie ze specyfikacją usług Web Service dla platformy J2EE.
Jednoczesne utworzenie serwera proxy Java i przykładowego pliku JSP jako szkieletu usługi Web Service znacznie ułatwia testowanie wszystkich elementów usługi Web Service w jednym czasie.
Po utworzeniu szkieletu usługi Web Service wygenerowany plik implementacji szkieletu Java zostanie otwarty w edytorze Java zawierającym wymagane interfejsy dla metod zgodnie z definicją w pliku WSDL. Na tym etapie programista zmodyfikował plik implementacji szkieletu w celu uzyskania dostępu do logiki biznesowej zaplecza.
Wygenerowany przykładowy plik JSP jest prosty i funkcjonalny oraz jest podzielony na trzy ramki. Lewa ramka zawiera listę wszystkich metod, które użytkownik może wykorzystywać do współpracy. Kliknięcie jednej z tych metod otwiera obszar wprowadzania w prawej górnej ramce. Po wprowadzeniu danych do formularza kliknięcie przycisku Wywołaj powoduje wywołanie metody przetwarzania danych wejściowych i wyświetlenie wyniku w prawej dolnej ramce.
W przypadku aukcyjnej usługi Web Service wygenerowany przykładowy plik JSP został zmieniony w celu utworzenia bardziej przyjaznego interfejsu oraz została dodana obsługa tablic, ponieważ operacja zwracająca listę wszystkich przedmiotów w bazie danych zwraca tablicę.