Szczegóły aukcyjnej usługi Web Service

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.

W aplikacji aukcyjnej usług Web Services operacje udostępniają następujące funkcje:
  • Dodawanie przedmiotu do katalogu
  • Usuwanie przedmiotu z katalogu
  • Wyświetlanie informacji o konkretnym przedmiocie
  • Wyświetlanie listy wszystkich przedmiotów w katalogu
Aby można było wykonać te operacje, musi istnieć identyfikator użytkownika oraz identyfikator kategorii.

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.

Ten diagram ilustruje narzędzia i procesy służące do projektowania usługi Web Service.

Definiowanie plików WSDL i XSD za pomocą edytorów WSDL i XSD

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. Ten diagram przedstawia edytor schematów WSDL.

Generowanie szkieletu komponentu bean Java za pomocą kreatora usług Web Services

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.

Oprócz tworzenia szkieletu usługi Web Service postanowiono również użyć kreatora do utworzenia dwóch innych elementów:
  • Serwera proxy Java: Serwer proxy jest klientem usługi Web Service umożliwiającym klientowi komunikację z dostawcą usług.
  • Przykładowego pliku JSP: Przykładowy plik JSP jest plikiem JavaServer Pages współpracującym z klientem usługi Web Service w celach testowych.

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.

Ten diagram przedstawia trzy ramki wygenerowanej strony JSP.

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ę.

Temat nadrzędny: Aukcyjna usługa Web Service

Opinia