2010-10-18 13 views
6

Mam usługę internetową wdrożoną i gotową do użycia. Aplikacja kliencka będzie korzystać z tej usługi synchronicznie i bardzo często. Ilość danych zwracanych z usługi sieciowej jest również znaczna.Wzorzec projektu klienta usług sieci Web (najlepsza praktyka)

Klient usługi internetowej to aplikacja internetowa (portlet liferay). Wygenerowałem część klienta z osią w czasie zaćmienia.

W moich pierwszych testach, w każdym żądaniu tworzę nowy ServiceProxy i wywołuję jego metody. Nie jestem pewien co do solidności i niezawodności tej struktury (tworzenia nowego obiektu proxy za każdym razem).

Zmieniłem go na klasy statyczne z pojedynczym proxy, ale nie jestem pewien, co się stanie podczas jednoczesnych wywołań klienta aplikacji sieciowej (problemy z współbieżnością).

Chcę, żeby projekt oddzielił moją aplikację od klienta usług sieciowych i miał coś takiego jak pamięć podręczna proxy klienta (nie pamięć podręczna danych, jak moja aplikacja jest w czasie rzeczywistym) lub coś podobnego.

Myślę, że powinien istnieć wzór projektu lub najlepsza praktyka dla części klienta usług sieci Web.

Odpowiedz

1

Wygląda na to, że twoja usługa internetowa korzysta z protokołu HTTP, więc nie ma powodu, aby mieć jakąś pamięć podręczną proxy lub coś takiego, połączenie jest tworzone dla każdego połączenia, więc możesz jednocześnie wywoływać raz inicjowaną instancję klienta WS.

Ale tak czy inaczej zapłacisz 200ms za każde połączenie (z mojej praktyki), i to głównie przetwarzanie XML, jeśli sieć jest super.

+0

Zaletniy, dzięki. W końcu złapał czyjąś uwagę po miesiącu! Aby ponownie sformułować to, co powiedziałeś, czy możliwe jest posiadanie pojedynczego obiektu proxy, z którego korzysta każdy klient, aby uzyskać dostęp do usługi? –

+0

Tak, n.p. Myślę. Ponadto chciałbym zasugerować wykonanie ciężkiego testu wielowątkowego, ponieważ musiałem stawić czoła, gdy struktura przetwarzania xml została zadeklarowana jako bezpieczna dla wątków, ale w rzeczywistości pojawiają się współistniejące problemy. – zaletniy

Powiązane problemy