Witam.
na wstępie zaznaczę, że jestem obecnie programistą Delphi, jednak powoli przechodzę na C#.
Mam teraz zadanie stworzenia aplikacji okienkowej w WPF.
Baza danych sql server będzie na serwerze chmurowym. (np oxycloud)
Zastanawiam się co będzie lepszym/szybszym rozwiązaniem wyciągania danych do clienta.
Przykładowo chcę otrzymać listę kontrahentów z bazy.
Czy lepiej zadać bezpośrednie zdalne zapytanie do sql server
Czy stworzyć przy bazie aplikację WCF, która to będzie odpytywać bazę, następnie odsyłać clientowi np listę obiektów
Proszę o rady bardziej doświadczonych kolegów ode mnie w tym temacie :)
- Rejestracja:ponad 13 lat
- Ostatnio:8 miesięcy
- Lokalizacja:Warszawa
- Postów:62

- Rejestracja:ponad 12 lat
- Ostatnio:7 miesięcy
- Postów:6610
szybszym (zarówno z punktu widzenia czasu pisania programu jak i szybkości działania) na pewno będzie bezpośrednie pytanie bazy - odpadnie pisanie jednej warstwy. Jednak bardziej eleganckim, bezpieczniejszym (dodatkowa warstwa walidująca żądania dostępu do danych oraz same dane) i przyszłościowym (będziesz miał gotowe API do którego będzie mogło się podłączyć cokolwiek, np. strona albo aplikacja mobilna) będzie dodatkowa warstwa pomiędzy aplikacją i bazą. Jednak, wg mnie, podejmowanie się tego bez jakiejkolwiek wiedzy może być strzałem w kolano bo bardzo łatwo może się to stać wąskim gardłem w aplikacji.

- Rejestracja:około 6 lat
- Ostatnio:około 3 lata
- Postów:2206
Jak masz bazę nie po lan to należy jak najbardziej ograniczyć komunikację z nią. Najlepiej byłoby postawić jakieś api i nie komunikować się z baza bezpośrednio a z api.
- Rejestracja:ponad 13 lat
- Ostatnio:8 miesięcy
- Lokalizacja:Warszawa
- Postów:62
@abrakadaber:
Dzięki za odpowiedź.
Wiedzy w wcf za dużej nie mam. (chociaż stworzyłem taki mały serwer wcf.... który działał ;)
Na obecną chwilę nie przewiduję by łączyło się z api coś innego.(ale w przyszłości to może ulec zmianie).
Teraz najbardziej zależy mi na szybkości zwrotu danych, więc chyba faktycznie wybiorę 1 opcję sugerując się Twoją wypowiedzią.
Zrobię po prostu jak najwięcej procedur składowanych, by wszelkie możliwe operacje działy się na serwerze

- Rejestracja:ponad 21 lat
- Ostatnio:około 9 godzin
- Lokalizacja:Kraków
- Postów:1114
To zależy od tego, czy to ma być poważna, duża, aplikacja komercyjna, rozwijana latami, czy raczej coś małego, szybkiego do napisania, w stylu poc, do przepisania jeśli projekt odniesie sukces.
bardziej w kierunku pierwszego, żadnego wystawiania bazy na zewnątrz, jak najmniej logiki w bazie danych, procedury składowane w ostateczności
bardziej w kierunku drugiego, wszystkie chwyty dozwolone :)

- Rejestracja:około 17 lat
- Ostatnio:około 21 godzin
- Lokalizacja:Wrocław
WCF w 2020 roku jako zwykłe API do bazy po HTTP? Brzmi jak lekki masochizm.

- Rejestracja:ponad 13 lat
- Ostatnio:8 miesięcy
- Lokalizacja:Warszawa
- Postów:62
No tak jak wspomniałem baza będzie w chmurze i muszę się do niej dostać przez sieć globalną.
Stąd szukam najszybszego rozwiązania.
Dziękuję wszystkim za odpowiedzi. Może zrobię sobie też mały test wszystkich 3 rozwiązań