W poprzedniej części wpisu rozpoczęliśmy definiowanie modelu naszego Web serwisu zgodnego ze strukturą WSDL. Zakończyliśmy zdefiniowaniem komunikatów jakie będą wymieniane z naszym serwisem. Gdy mamy już zdefiniowane komunikaty możemy przystąpić do definiowania portu naszego serwisu. W tym celu na diagram w pakiecie „PortTypes” przeciągamy z toolbox element „Port Type” i nadajemy mu nazwę „PobierzInformacjeOKsiazce”. Następnie definiujemy operację dla naszego portu przez przeciągnięcie z toolbox „PortType Operation” na port „PobierzInformacjeOKsiazce” na diagramie i uzupełniamy informacje o porcie w otwartym oknie dialogowym, tak jak na rysunku poniżej.
Po zdefiniowaniu portu możemy przejść do specyfikacji formatu komunikatu oraz protokołu wykorzystywanego do komunikacji. W tym celu przeciągamy z toolbox element „Binding” na diagram w pakiecie „Bindings” i w otworzonym przez system oknie dialogowym określamy nazwę elementu, wskazujemy wcześniej zdefiniowany port, protokół wykorzystywany do komunikacji, oraz metodę zapytania HTTP. Na rysunku poniżej został przedstawiona definicja dla naszego przykładu wykorzystująca protokół HTTP.
Po zdefiniowaniu protokołu możemy określić parametry naszego Web serwisu. W tym celu przeciągamy z toolbox element „Service” na diagram w pakiecie „Services. W wyświetlonym oknie dialogowym wprowadzamy nazwę serwisu oraz dodajemy porty dla naszej usługi, tak jak na rysunkach poniżej.
Po zdefiniowaniu serwisu pozostaje nam jeszcze uzupełnić właściwości komponentu ze stereotypem «WSDL», który reprezentuje cały dokument WSDL. Po dwukrotnym kliknięciu na ten element wyświetlone zostanie okno dialogowe, w którym wprowadzamy nazwę serwisu, ścieżkę do pliku, do którego będzie generowany dokument WSDL, przestrzenie nazw używane w dokumencie XML oraz serwisy, które w tym dokumencie zostaną uwzględnione. Rysunek poniżej przedstawia uzupełnione okno dialogowe dla naszego przykładu.
Natomiast na kolejnym rysunku został przedstawiony widok z drzewa projektu zawierający model serwisu.
Po przygotowaniu modelu definicji naszego serwisu w WSDL Enterprise Architect pozwala nam na wygenerowanie definicji Web serwisu do pliku WSDL. W tym celu należy w drzewie projektu zaznaczyć pakiet ze stereotypem «WSDLnamespace» lub komponent «WSDL», a następnie z menu głównego wybrać „Tools | Web Services | Generate WSDL”. W otwartym oknie (rysunek poniżej) możemy ustawić kodowanie dla generowanego pliku oraz wybrać komponenty reprezentujące pliki WSDL.
Po kliknięciu przycisku „Generate” system wygeneruje nam dokument do pliku, który został ustawiony we właściwościach komponentu «WSDL», a podsumowanie operacji wyświetli w panelu „Progress”. Możemy skorzystać w przycisku „View WSDL” aby wyświetlić podgląd wygenerowanego pliku, tak jak na rysunku poniżej.
Import modelu z pliku WSDL
W przypadku, gdy mamy już zdefiniowany plik WSDL, Enterprise Architect daje nam możliwość zaimportowania tego pliku do modelu, który będzie utrzymywany i modyfikowany w naszym repozytorium, a następnie będzie mógł być wygenerowany tak jak to robiliśmy w poprzedniej części. Import pliku WSDL rozpoczynamy przez zaznaczenie w drzewie projektu pakietu, w którym system ma umieścić zaimportowany model, a następnie wybranie opcji z menu głównego programu „Tools | Web Services | Import WSDL”. W otwartym oknie dialogowym wskazujemy ścieżkę do pliku WSDL. Możemy też wskazać nazwę dla docelowego pakietu. Rysunek poniżej przedstawia okno dialogowe importu pliku WSDL.
Po kliknięciu przycisku „Import” system wygeneruje model na podstawie dokumentu WSDL, otworzy utworzone diagramy, a podsumowanie operacji wyświetli w panelu „Progress”.