Cześć, załóżmy, że mam aplikację desktopową, która pobiera jakieś dane z bazy danych znajdującej się w necie. Generalnie jest tylko jedna taka baza na świecie.
I teraz są dwa podejścia do rozwiązania tego problemu:
- Aplikacja łączy się z bazą i wykonuje zwykłe zapytania SQL
- Aplikacja łączy się z jakimś API i pobiera dane za pomocą tego API np w JSON.
O ile kiedyś pierwsze rozwiązanie było normą, to teraz widzę wszędzie, żeby posługiwać się drugim rozwiązaniem. Więc pytam "Dlaczego?".
OK, jednym z powodów może być to, że API zawsze zwróci mi dane niezależnie od struktury bazy. Ale z drugiej strony wcale nie muszę robić selecta, wystarczy, że wywołam procedurę składowaną, która zrobi właściwie to samo - zwróci mi odpowiednie dane niezależnie od struktury bazy. Więc remis. Dlaczego zatem drugie rozwiązanie jest lepsze, skoro wymaga dużo więcej pracy?