/ / Projektowanie architektury aplikacji Web Services w Javie - java, web-services, design, architecture

Projektowanie architektury aplikacji Web Services w Javie - java, web-services, design, architecture

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 № 1

W 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ł.