Użyłem usług RESTful Web Services w Javie i mój projekt wyglądał następująco:
- Warstwa interfejsu użytkownika
- Warstwa kontrolera pobierająca informacje z warstwy interfejsu użytkownika i wysyłająca do warstwy serwisowej
- Warstwa usług pobiera informacje z warstwy kontrolera i wysyła do warstwy bazy danych
- Warstwa bazy danych jest odpowiedzialna za operacje na bazach danych.
Załóżmy, że zapiszę informacje o Studentach do mojej bazy danych. Moja architektura REST działa w ten sposób:
- Użytkownik wypełnia informacje o uczniach na stronie internetowej.
- Informacje przechodzą na stronę kontrolera Java przez REST.
- Odpowiednia metoda wywołuje i wykonuje kontrole (np. Zerowanie)
- Usługa wywołania kontrolera dodaje metodę ucznia i przepływ architektury trwa.
Jednak korzystanie z usługi internetowej zamiast usługi REST będzie wymagać innego projektu. Warstwa kontrolera i warstwa usługi zostaną połączone.
Jakieś pomysły, jak je zaprojektować (połączyć te warstwy lub nie łączyć i tworzyć innego projektu)?
PS: Używam Hibernate i Spring do mojej aplikacji. Miałem część aplikacji REST w Spring, ale jeden z naszych klientów potrzebował usług sieciowych, dlatego muszę go wdrożyć w ten sposób.
Odpowiedzi:
0 dla odpowiedzi № 1W projektowaniu nic nie musi się zmieniać - gdzie administrator bierze informacje o usługach opartych na REST, an endpoint
musi wziąć informacje o ausługa sieci Web i delegować żądanie z kolei do warstwy usług. Punkt końcowy może wykonywać dowolne czynności związane z serwisem internetowym - takie jak uwierzytelnianie, zapewniające obecność wszystkich elementów żądania, zestawianie, rozpoczynanie misji itp.
0 dla odpowiedzi nr 2
O ile wiem, pracowałem nad aplikacjąoddzielono warstwę kontrolera za pomocą (Struts2), a dla warstwy serwisowej mieliśmy serwis internetowy (Axis2), który wchodził w interakcje z DB.So, wszystkie współudziałki znajdowały się wewnątrz usługi internetowej, które ponownie były współdzielone przez różne aplikacje. Zachowanie sesji po stronie kontrolera (Struts2) . Mieliśmy mniej interakcji z bazą danych, więc to działa dobrze.
W innym projekcie użyliśmy UI (Dojo i Jsp) idla kontrolera używamy zwykłego serwletu, a usługa rezyduje w REST. Ta strona generalnie pobiera wymagane dane i przechowuje je w pamięci podręcznej REST, więc cała twoja transakcja zmieni dane w pamięci podręcznej, a na końcu, gdy ją zapiszesz, utrwali dane do DB . Zarządzanie sesją zostało wykonane w stanie spoczynku.
To może pomóc ci uzyskać pewien pomysł.