Front End - Backe End komunikacja pomiędzy nimi

Odpowiedz Nowy wątek
2018-10-30 18:30
0

Cześć,
Mam nadzieję że dobry dział. Mamy taką konstrukcję

  • Serwer(w C# ale to mało ważne)
  • Front end (nie jest na tej samej maszynie co serwer), niestety jeden z front endów jest na badziewiu typu bubbels
  • Baza danych

Nie mam za bardzo doświadczenia w front end ale umyśliłem sobie taką uniwersalną komunikację:

  • Front end wypełnia odpowiednio bazę danych (wrzuca też m.in zdjęcia jako Blob)
  • Po manipulacjach na bazie, front end wysyła Post(JSON po http) do serwera z typem operacji i ID w bazie danych z którego można pobierać dane
  • Serwer wykonuje operacje i zwraca odpowiedź do frontendu

Co o tym myślicie? Zawsze można by też wrzucić wszystko do JSON http i przesłać do apliakcji ale mi sięto nie podoba.


We are the 4p. Existence, as you know it, is over. We will add your biological and technological distinctiveness to our own. Resistance is futile
edytowany 1x, ostatnio: revcorey, 2018-10-30 18:31

Pozostało 580 znaków

2018-10-30 20:31
1

Front end wypełnia odpowiednio bazę danych (wrzuca też m.in zdjęcia jako Blob)

Chcesz front-endem grzebać bezpośrednio po bazie danych? To nie ma sensu.

Pozostało 580 znaków

2018-10-30 22:47
0

Tyle że zastanawiałem się nad tym dlatego ze względu że dane które trzeba wrzucić mogą być trochę duże. Głównie pliki jpg. Na stacku widziałem propozycję takiego rozwiązania. Czyli co wysyłać po http spore jsony?


We are the 4p. Existence, as you know it, is over. We will add your biological and technological distinctiveness to our own. Resistance is futile

Pozostało 580 znaków

2018-10-30 23:37
0

Ja korzystam z PostgREST - czy o takie rozwiązanie Tobie chodzi?
Serializing JSON responses directly in SQL; data validation; authorization; combined row counting and retrieval; data post in single command (returning *)
Finally it uses the database efficiently with the Hasql library by : keeping a pool of db connections; using the PostgreSQL binary protocol; being stateless to allow horizontal scaling.

Może coś takiego - jamstack.org : All server-side processes or database actions are abstracted into reusable APIs, accessed over HTTPS with JavaScript. These can be custom-built or leverage third-party services.

Pozostało 580 znaków

2018-10-30 23:58
0

niestety sobie sprawdziłem tzn. jestem mocno zależny od bubbels jako front end. To jest taki graficzny język programowania front-end. Ma to pluginy do mysql albo może wysłać POST http z json. Ale nie ma tam javascript jako takiego dostępnego.

Generalnie jak napisałem trzeba załadować dane do bazy np. użytkownika czyli dane, zdjęcie itd. a później trykać backend żeby to przetwarzał. I po prostu zastanawia mnie jak to powinno być. ja sam jedynie obawiam się przypadku wysyłania Posta z wieloma zdjęciami(zakodowane jako base64). Wtedy to by działało tak. Wyślij do backendu post z wszystkimi danymi i tyle a on się ogarnie bazą danych. I pozostaje jeszcze kwestia bezpieczeństwa.


We are the 4p. Existence, as you know it, is over. We will add your biological and technological distinctiveness to our own. Resistance is futile
Jakiej wielkości te zdjęcia? - WeiXiao 2018-10-31 00:01
png do 2-3 mega. Jeszcze zostaje kwestia bezpieczeństwa POST. - revcorey 2018-10-31 09:11
rozumiem, że zdjęcie może zładować randomowy user, ale przetwarzać tylko zarejestrowany. Zrób sobie API część usług wystaw dla randomów (i tak backend musi zwalidować format obrazu, czy metoda jest poprawna, czy nie ma czasami jakiś dodatkowych smutnych hederów w zapytaniu), część wystaw po autoryzacji - custom user, inne dla admina. Wystawianie bazy dla frontu, to proszenie się o kłopoty - Firebase by tu może pasowało. - donPietro 2018-10-31 10:54
to jest tak. Trzeba to rozbić na dwa scenariusze. Zalogowany user może dodawać nowych(dodanie wymaga zdjęcia). Backend przetwarza to tak że dodaje to do innych API(może ich być wiele w zależności od tego jaki plan wybrał zamawiający, api od microsoft,amazon itd.). Nie zalogowany user może wysłać tylko zdjęcie. Kwestią dla mnie jest tylko to oc będzie wydajnieszje i bezpieczniejsze. Czy słanie wszystkiego Postami do backendu i on działa na bazie czy. Ładowanie do bazy przez frontend i triggerowanie backendu przez front end po tym. - revcorey 2018-10-31 10:59
@donPietro: co to znaczy smutnych headerów? - WeiXiao 2018-10-31 18:32

Pozostało 580 znaków

2018-10-31 07:51
2

Backend masz po to, aby robić po jego stronie wszelkie operacje na bazie danych. Frontend ma tylko prezentować dane zwrócone przez backend. Frontend wysyła dany model, który chce zapisać w bazie danych do backendu poprzez odpowiedni endpoint i to backend zajmuje się zapisaniem danych w bazie. Frontend nic nie powinien wiedzieć o bazie danych.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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