AgnularJS i Cassandra

0

Hej,

Mamy do zrealizowania zapisywanie relacji w GUI w angularJS, a baza danych to cassandra ( nosql ).

Encja A ma relacje 1 do wielu do Encji B ,a encja B ma relacje 1:1 do encji C.

Encja A ma relacje 1 do wielu do encji D, encja D ma relacje 1:1 na encje E. Encja E moze zawierac wiele encji E ( zdaje sie ze to jest kompozyt ? )

W cassandra robimy samodzielnie relacje bo jezyk ich nie wspiera czyli zapisujemy UUID albo List<UUID> w encji glownej gdzie zapisujemy UUID encji zaleznych.

Pozniej po stronie JAVA juz updateujemy encje zalezne i encje glowna na zmiany wyklikane ze strony gui.

Te wszystkie encje maja swoj poczatek od encji A. Pytanie jest o wersje backendowa tego zapisu do bazy danych.

**1. Pomysl **: wyslac grubego DTO ktora bedzie zawieral encje A wraz ze wszystkmi encjami zaleznymi, a cala logike backendowa zrealizowac po stronie JAVA. I gruby DTO wyslac do gui i z gui.

**2. Pomysl ** Odpytywac na biezaco po stronie AngularJS o potrzebne informacje przez REST-a . POST i GET-y o encje A,B,C itp .. oraz logike ich zapisywania zrealizowac w AngularJS wykorzstujac REST.

Mnie pomysl 1 wydaje sie latwiejszy. Kolegom pomysl 2 wydaje sie byc bardziej naturalny.

A Wy jak myslicie ?

1

Jest wiele zależy...
ale ogólnie zwykle najlepiej się sprawdza podejście od klienta.
Czyli zaprojektujcie front - i z tego wyjdzie jakie operacje są wam od serwera potrzebne. Czyli raczej wariant 2. Chyba, że front ma jeden load i jeden save.. wtedy 1.

0

Zaprojektowany byl juz front i od servera potrzebna jest tylko jedna metoda zeby zrobic update na glownej encji od ktorej sa encje zalezne.

W hibernate encje zalezne sa juz wstrzykniete w Parenta i ja zrobilem tak samo dla gui od strony backendu.

Po stronie Service dowiazalem encje zalezne i takie DTO wyslalem do GUI.

W gui edytuje tylko DTO parenta i wszystkie encje zalezne bez zapisu a , click update wysylalem DTO parenta do service i tam juz sobie rozdzielam gdzie jakie encje powinny sie updatedowac w cassandra.

Wzorze MVC mowi ze po stronie VIEW powinny sie robic operacje na widoku a po stronie CONTROLLERA zapis do bazy ( MODELU ) .

Zapis Parenta z Childami i tak powinien byc ATOMIC ( wszystko albo nic ) a jeslibym po kolei wykonywal posty w angularJS to tak by nie bylo prawda ?

Jeszcze moge zmienic ;)

0

Hej,

A jednak miales racje. Nie latwo tworzyc jednego duzego DTO, lepiej po kolei zapisywac posty i put-y przez resta.

solved.

1 użytkowników online, w tym zalogowanych: 0, gości: 1