Czy JAX-RS może wykonywać żądania asynchroniczne, takie jak JAX-WS?
1) Nie wiem, czy JAX-RS API zawiera określony mechanizm dla żądań asynchronicznych, ale ta odpowiedź może się zmienić w zależności od używanej implementacji klienta.
Czy JAX-RS może uzyskać dostęp do usługi internetowej, która nie działa na platformie Java i odwrotnie?
2) Nie mogę wymyślić żadnego powodu, dla którego nie byłoby to możliwe.
Co to znaczy, że „REST jest szczególnie przydatny w przypadku urządzeń o ograniczonym profilu, takich jak urządzenia PDA i telefony komórkowe”?
3) Architektury oparte na REST zazwyczaj wykorzystują lekki format danych, taki jak JSON, do przesyłania danych tam iz powrotem. W przeciwieństwie do JAX-WS, który używa XML. Nie widzę samego XML'a tak znacznie cięższego niż JSON (co niektórzy mogą twierdzić), ale w przypadku JAX-WS to, ile XML jest używane, sprawia, że REST z JSON jest lżejszą opcją.
Co to znaczy, że „JAX-RS nie wymaga komunikatów XML ani definicji usługi WSDL-API?
4) Jak wspomniano w 3, architektury REST często używają formatu JSON do wysyłania i odbierania danych. JAX-WS używa XML. Nie chodzi o to, że JSON jest znacznie mniejszy niż sam XML. Przede wszystkim specyfikacja JAX-WS zawiera dużo narzutów w sposobie komunikacji.
Jeśli chodzi o definicje WSDL i API, REST będzie częściej używać struktury URI i poleceń HTTP do definiowania API, a nie typów komunikatów, jak to ma miejsce w JAX-WS. Oznacza to, że nie musisz publikować dokumentu WSDL, aby inni użytkownicy Twojej usługi wiedzieli, jak rozmawiać z Twoją usługą. W przypadku REST nadal będziesz musiał udostępniać innym użytkownikom dokumentację dotyczącą organizacji usługi REST oraz tego, jakie dane i polecenia HTTP należy wysłać.
Kolejna ważna kwestia
JAX-WS reprezentuje SOAP
JAX-RS reprezentuje REST
Jak wybrać implementację usług sieciowych JAX-RS i JAX-WS?
źródło
JAX-WS - to Java API dla usług internetowych opartych na XML - standardowy sposób tworzenia usług sieciowych w notacji SOAP (Simple Object Access Protocol).
Wywołanie usług sieci Web odbywa się za pośrednictwem zdalnych wywołań procedur. Do wymiany informacji pomiędzy klientem a serwisem internetowym wykorzystywany jest protokół SOAP. Wymiana komunikatów między klientem a serwerem za pośrednictwem komunikatów SOAP opartych na XML .
Klienci usługi sieciowej JAX-WS potrzebują pliku WSDL w celu wygenerowania kodu wykonywalnego, którego klienci mogą użyć do wywołania usługi sieci Web.
JAX-RS - Java API dla RESTful Web Services. Usługi sieciowe RESTful są reprezentowane jako zasoby i można je zidentyfikować za pomocą jednolitych identyfikatorów zasobów ( URI ). Zdalne wywołanie procedury w tym przypadku jest reprezentowane jako żądanie HTTP, a niezbędne dane są przekazywane jako parametry zapytania. Usługi sieciowe RESTful - bardziej elastyczne, mogą używać kilku różnych typów MIME . Zwykle używany do wymiany danych XML lub wymiany danych JSON (JavaScript Object Notation) ...
źródło
Pracowałem nad Apachi Axis1.1 i Axis2.0 i JAX-WS, ale sugerowałbym, że musisz JAX-WS, ponieważ pozwala na tworzenie wsdl w dowolnym formacie, wykonywałem operację jako GetInquiry () w Apache Axis2. pozwól mi rozpocząć nazwę operacji dużymi literami, więc uważam, że nie jest dobra, więc sugeruję, abyś użył JAX-WS
źródło
Tak, z pewnością może używać @Async
Tak, może to zrobić
Jest używany głównie w publicznych interfejsach API, zależy to od podejścia, którego chcesz użyć.
Ma swoje własne standardy WADL (Web application Development Language) ma żądanie http, dzięki któremu można uzyskać dostęp do zasobów, które są w sumie tworzone przez inny sposób myślenia, W przypadku, gdy w Jax-R trzeba pomyśleć o ujawnieniu zasobów
źródło