Baza danych na serwerze

0

Cześć. Marzy mi się stworzenie aplikacji, w której bazę danych przechowywałbym na jakimś serwerze, a do elementów tej bazy danych odwoływałbym się poprzez użycie protokołu HTTP, wysyłając różne requesty wg architektury RESTful API.

Czy moglibyście mi doradzić jakiej technologii mam się nauczyć, by umieć

  • postawić serwer
  • umieścić na nim bazę danych
  • przygotować tą bazę danych na nadchodzące requesty i zdefiniować odpowiedzi z bazy ( w postaci JSON'ów )

A może znacie jakiś kurs który tego elegancko i kompleksowo uczy ? Byłbym bardzo wdzięczny

1

Czy dobrze zgaduję że chcesz spiąć frontend bezpośrednio z bazą danych? Gdzie będziesz trzymać hasło?

Jeśli zakładasz istnienie backendu to szukaj po prostu baz z restowym API (http API), np

  • ElasticSearch (nie nadaje się na normalną bazę),
  • hsql (kiedyś była stosowana do testów w Javie, ale ma też interfejs http)
  • PostgREST
  • Firebase
0

Pewnie tak. Chce w swojej aplikacji zrobić logowanie. Przy rejestracji wysylac dane uzytkownika na serwer, a przy logowaniu wyciagac je z serwera ;)

0

Moge mylić pojęcia, bo się na tym nie znam. Każdy sposób będzie dobry, byle spełnił zadanie :P

2
RezyserKinaAkcji napisał(a):

Moge mylić pojęcia, bo się na tym nie znam. Każdy sposób będzie dobry, byle spełnił zadanie :P

Koledzy dyskutują, że trudno będzie (nad bazą udostępniającą JSON) zachować kontrolę, w tym bezpieczeństwo, jakie byś miał pisząc moduł serwerowy udostępniający endpoint(y).

RezyserKinaAkcji napisał(a):

i zdefiniować odpowiedzi z bazy ( w postaci JSON'ów )

Sam definiujesz argument na rzecz w/w modułu backendowego. Właśnie on daje możliwość zdefiniowania działania, baza jest otwarta jak stodoła.

0
AnyKtokolwiek napisał(a):
RezyserKinaAkcji napisał(a):

Moge mylić pojęcia, bo się na tym nie znam. Każdy sposób będzie dobry, byle spełnił zadanie :P

Koledzy dyskutują, że trudno będzie (nad bazą udostępniającą JSON) zachować kontrolę, w tym bezpieczeństwo, jakie byś miał pisząc moduł serwerowy udostępniający endpoint(y).

RezyserKinaAkcji napisał(a):

i zdefiniować odpowiedzi z bazy ( w postaci JSON'ów )

Sam definiujesz argument na rzecz w/w modułu backendowego. Właśnie on daje możliwość zdefiniowania działania, baza jest otwarta jak stodoła.

Kurcze, wydaje się to bardziej skomplikowane niż myślałem. W takim razie jak takie coś rozwiązywane jest na codzień w aplikacjach, jeśli mógłbyś podpowiedzieć ?

0

A **DLACZEGO **chcesz łączyć aplikację z bazą direct po JSONie ? Tzn nie "nominalnie" czyli przez (nadbudowę nad) JDBC?
To rdzeń zagadnienia

0
AnyKtokolwiek napisał(a):

A **DLACZEGO **chcesz łączyć aplikację z bazą direct po JSONie ?
To rdzeń zagadnienia

Pewnie odpowiedź Cie zawiedzie. Dlatego, że kiedyś w zbiorowym projekcie na studiach kolega tak to zaimplementował w naszym projekcie i bardzo spodobało mi się to, jak to działa, że wystarczy odpowiedni requesty wysyłać do bazy danych i otrzymuje się eleganckie odpowiedzi. Wśród odpowiedzi w postaci JSONów były czasem nawet listy obiektów. także troche bardziej skomplikowane odpowiedzi z bazy niż true/false.

1

nikt ci nie ZABRANIA direct jeśli chcesz/musisz. Skoro takie bazy są, to pewnie ktoś używa. Ale nie jest to typowe.

Będzie kłopot jak jakiś najprostszy ficzer (selekcja co/komu czy inny) i tak zmusi do napisania zgodnie z common-sense.
Np pionowa selecja: zalogowanemu operatorowi nie wszystkie wiersze można udostępnić. - tego bazą nie zrobisz

A jeśli zaimplementujesz moduł server-side to też na kliencie będziesz miał "ładne odpowiedzi". Powszechnym wspólnym mianownikiem w branży jest Spring

EDIT: jak u kolegi zwracały się wielopoziomowe drzewka tego JSON, to
a) ciekawe jakiej bazy używał
b) moze jednak coś zaimplementował. generalnie pisanie w/w modułu zaczyna się od klas transmitowanych obiektów

0
AnyKtokolwiek napisał(a):

nikt ci nie ZABRANIA direct jeśli chcesz/musisz. Skoro takie bazy są, to pewnie ktoś używa. Ale nie jest to typowe.

Będzie kłopot jak jakiś najprostszy ficzer (selekcja co/komu czy inny) i tak zmusi do napisania zgodnie z common-sense.
Np pionowa selecja: zalogowanemu operatorowi nie wszystkie wiersze można udostępnić. - tego bazą nie zrobisz

A jeśli zaimplementujesz moduł server-side to też na kliencie będziesz miał "ładne odpowiedzi". Powszechnym wspólnym mianownikiem w branży jest Spring

EDIT: jak u kolegi zwracały się wielopoziomowe drzewka tego JSON, to
a) ciekawe jakiej bazy używał
b) moze jednak coś zaimplementował. generalnie pisanie w/w modułu zaczyna się od klas transmitowanych obiektów

Dziś zapytam kolegi to dam znać. Dzięki za radę.

1

Ja zgaduje że kolega tam ma jakieś Mongo albo Elastica a nie SQLową bazę po prostu ;) Inna sprawa, że mimo wszystko niezbyt bezpiecznie jest je mieć wystawione publicznie...

3

Wydaje mi się, że stack PHP+MySQL dla początkujących, próbujących rozgryźć "jak to wszystko działa", nie jest taki zły.
W kilku linijkach kodu można zmieścić rozwiązanie, które pobiera dane z bazy i wypluwa coś na ekran:
https://www.w3schools.com/php/php_mysql_select.asp

"postawić serwer"

  • Pobierz i postaw sobie lokalnie serwer PHP+MySQL, w sieci są gotowe dystrybucje. Docelowo możesz się przenieść na jakiś hosting, w odpowiednim dziale tego forum są opisane m.in. darmowe hostingi.

"umieścić na nim bazę danych"

"przygotować tą bazę danych na nadchodzące requesty i zdefiniować odpowiedzi z bazy ( w postaci JSON'ów )"

  • Tak jak pisali poprzednicy, najlepiej gdybyś miał jakiś backend, który przyjmie request, zajrzy do bazy, i zwróci odpowiedź. Wystarczy zmodyfikować pierwszy link podany powyżej, żeby wypisywał dane w postaci JSON, i obsługiwał parametry (np. dostarczone jako parametry HTTP GET i pobrane z $_GET).
0

Dzięki wielkie. Chyba tak zrobie. Dodatkowo pogadam z kumplem który już potrafi robić takie rzeczy, może doradzi jak to robić

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