Jaki jest powód stosowania WADL?

Aby opisać RESTful możemy powiedzieć, że każdy zasób ma swój własny URI. Korzystając z HTTP GET, POST, PUT i DELETE, możemy operować na tych zasobach. Wszystkie zasoby są reprezentacyjne. Kto chce korzystać z naszych zasobów, może to zrobić za pośrednictwem przeglądarki lub klienta REST.

To główna idea architektury odpoczynku. Ta architektura umożliwia usługi w Internecie. Po co więc tej architekturze WADL? Co oferuje WADL, czego nie oferuje standardowy HTTP? Dlaczego WADL musi istnieć?

 73
Author: DavidRR, 2009-08-21

8 answers

Celem WADL jest zdefiniowanie Umowy . Umowa określa, w jaki sposób jedna strona może zadzwonić do drugiej.

TworzÄ…c aplikacjÄ™ internetowÄ… od podstaw, nie potrzebujesz umowy i WADL .

Kiedy integrujesz swój system z innym systemem i możesz wyraźnie komunikować się z zespołem programistów, nie potrzebujesz kontraktu i WADL (ponieważ możesz zadzwonić, aby wszystko było jasne).

Jednak gdy integrujesz kompleks system korporacyjny z kilkoma innymi złożonymi systemami korporacyjnymi utrzymywanymi przez kilka różnych firm( lub instytucji federalnych), uwierz mi chcesz mieć umowę komunikacyjną zdefiniowaną tak ściśle, jak to możliwe. następnie potrzebujesz WADL lub Open Specification. Potrzebuję go bardzo .

Ludzie ze słabym zapleczem korporacyjnym zazwyczaj postrzegają całość IT jako zbiór oddzielonych aplikacji internetowych opracowanych niezależnie. Ale rzeczywistość przedsiębiorstwa jest czasami trudna. Czasami nie możesz nawet zadzwonić ani napisać do osób tworzących aplikację, z którą musisz się zintegrować. Czasami komunikujesz się ze starszą aplikacją, która nie jest już utrzymywana-po prostu działa i musisz dowiedzieć się, jak prawidłowo się z nią komunikować. w takich warunkach potrzebujesz umowy, ponieważ to ratuje twój tyłek .

W rzeczywistości generowanie klientów jest drobną cechą definicji umowy. To tylko zabawka. Umowa zmusza złych komunikatorów do komunikowania się zasady integracji jasno. Jest to główny powód, dla którego należy używać WADL lub Open Specification lub czegokolwiek innego.

 139
Author: Henryk Konsek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-29 17:09:53

Korzystanie z WADL oznacza, że możesz być na tyle łaskawy, aby faktycznie zdefiniować dane / dokumenty, które przekazujesz tam iz powrotem. Powiedzmy, że przekazujesz fragmenty XML, mogą one być częścią zdefiniowanego schematu.

To, czy używasz DL do generowania kodu, nie jest dla mnie bardzo ważne. Moim subiektywnym zdaniem ważne jest formalne porozumienie w sprawie interfejsów między partnerami biznesowymi. Nawet jeśli to, co zostało przekazane jest oczywiste, to pomaga zidentyfikować, kto ma naprawić co później, jeśli ktoś zmieni poprzedni interfejs.

Format danych jest tak samo częścią interfejsu jak nazwy czasowników.

 36
Author: Roboprog,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-21 21:41:54

WADL odwołuje się do ludzi wywodzących się ze świata SOAP, gdzie do tworzenia kodu po stronie klienta bazującego na WSDL często używa się generatora kodu. Nie sądzę, aby ten mechanizm był przydatny w REST, ponieważ tworzy kod klienta, który jest sprzężony z punktami końcowymi serwera.

Wierzę, że jeśli poprawnie zdefiniujesz swoje typy multimediów i użyjesz hypermedii w tych typach multimediów, to nie jest konieczne posiadanie WADL. Opis dostępnych punktów końcowych znajduje się w definicjach typów nośników siebie. A jeśli teraz mówisz sobie, ale application / xml nie zawiera żadnych informacji o dostępnych hiperłączach, to mówię BINGO. Dlatego uważam, że application / xml I application / json nie są odpowiednimi rodzajami mediów do REST. Nie mówię, że nie używaj XML lub JSON, po prostu nie używaj ogólnej nazwy typu nośnika.

Drugi apel WADL ma na celu dokumentowanie usług wypoczynku. Niestety, prowadzi deweloperów na złą drogę, ponieważ WADL próbuje punkty końcowe po stronie serwera dokumentu. Dokumentowanie usług wypoczynkowych powinno koncentrować się przede wszystkim na rodzajach mediów. Programista Klienta powinien być w stanie napisać klienta REST bez znajomości żadnego adresu url innego niż adres główny.

 28
Author: Darrel Miller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-21 21:30:59

WADL pozwala na generowanie kodu, testów i dokumentacji. W rzeczywistości jest kilka bardzo przydatnych narzędzi wykorzystujących WADL, możesz zobaczyć kilka przykładów tutaj. Problem z" czystym " odpoczynkiem, jak opisano w pracy doktorskiej Fieldinga, polega na pisaniu klientów wspierających Hypermedia (wyobraźmy sobie na przykład pisanie aplikacji klienckich opartych na Javie). Dzięki WADL to zadanie jest w pełni zautomatyzowane i jest to moim zdaniem ogromna zaleta. Testowanie staje się również o wiele łatwiejsze.

 16
Author: Constantine,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-28 09:03:17

Zanim dam swoje wyjaśnienie, powiem, że większość czystych ekstremistów odpoczynku wyśmieje się z tego aż po krańce ziemi. Nie zgadzam się z nimi, bo wolałbym coś zrobić, ale tak dla twojej wiadomości.

WADL jest opisem API usług internetowych, trochę jak WSDL jest dla usług internetowych typu SOAP, który jest zaprojektowany, aby być bardziej dopasowany do interfejsów RESTful(coś WSDL jest słabe).

Z mojego doświadczenia wynika, że głównym zastosowaniem jest umożliwienie generowania kodu klienta, który może wywoływać usługa (przydatna, jeśli jest to bardzo duże API, które dosłownie oszczędza godziny pracy). Służy również do dokumentowania interfejsu przypominającego odpoczynek.

 16
Author: Brill Pappin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-26 21:14:42
 6
Author: aehlke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-21 14:40:14

Jeśli chcesz ujawnić usługi REST ,najlepszym sposobem jest wygenerowanie WADL i udostępnienie go konsumentowi(podobnie jak WSDL w usługach internetowych opartych na SOAP).WADL jest używany do opisania usługi all in on place.

 3
Author: rajendra.penumalli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-05 13:04:11

WADL nie jest konieczny do użycia. Ale jeśli pracujesz ze złożoną istniejącą aplikacją i chcesz zaimplementować wywołanie usługi REST, zastępując wywołanie usługi EJB / SOAP, to jest bardzo bezpieczne i dobrą praktyką, że używasz WADL. Używając WADL generate client side java stubs, będziesz zsynchronizowany z usługą.

Możesz wygenerować java stub po stronie klienta używając pliku WADL za pomocą wtyczki wadl2java maven.

 0
Author: R.Ranjan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-02 19:20:08