Jestem całkiem nowy w usługach internetowych, JAX-WS itp., Więc może noob pytanie ...Architektura wywołania zwrotnego usługi SOAP w sieci Web?
Tak więc, chcę wdrożyć serwis internetowy, aby komunikować się dwa systemy. System "klient" jest zainteresowany zdarzeniami generowanymi w systemie "serwerowym". Ale "system klienta" sam jest serwerem dla innej aplikacji. Serwer to Java (WAR w tomcat). Klientem jest .Net.
Powinien istnieć tylko jeden system klienta, ale kilka procesów klienta w systemie klienta, każdy zainteresowany różnymi kategoriami zdarzeń.
Zaimplementuję klienta po stronie serwera i klienta testowego. Ktoś inny zaimplementuje kod .Net.
Bieg sekwencja powinna być wzdłuż tej linii:
- Server jest uruchomiony ...
- Klient inicjuje rozmowę, „rejestry” do serwera i zapytania pewne wstępne dane.
- Serwer przechowuje listę punktów końcowych zarejestrowanych klientów.
- Na serwerze znajduje się detektor, który jest powiadamiany o wystąpieniu określonych zdarzeń. Następnie przejdzie listę zarejestrowanych klientów i przekaże je każdemu z nich.
- W pewnym momencie klient może "wyrejestrować", nie powiadamia serwera, że nie chce już otrzymywać wydarzeń.
Po pierwsze, czy brzmi to jak racjonalnie wykonalne?
Czy istnieje standardowy wbudowany mechanizm, używając SOAP (JAX-WS na serwerze, cokolwiek jest dostępne z .Net n klientem) - który serwer może wykorzystać do uzyskania punktu końcowego oddzwaniania od klienta?
Na przykład zrobiłem coś bardzo podobnego za pomocą RMI, w tym przypadku klient może wysłać do siebie zdalne odwołanie, które serwer może po prostu przechowywać i odnieść się do niego później.
Wreszcie, czy istnieje standardowa biblioteka do przechowywania odniesień do punktów końcowych, tworzenia (zbiorowych) wywołań zwrotnych i być może aktualizacja jest aktualna, usuwając klientów, którzy nie odpowiadają, aby wywołać "ping"?
Uwaga dla przejrzystości: potrzebuję czegoś więcej niż tylko metody asynchronicznej z funkcją zwrotną: jedna wiadomość od klienta wygeneruje wiele komunikatów oddzwonienia z serwera do klienta.
Powiedziałbym, że to możliwe. Sprawdź asynchroniczne usługi WWW. Jeśli zamierzasz korzystać z JAX-WS, pomocne będzie adresowanie WS. – Xargos