Witam
Przymierzam się do stworzenia aplikacji bazodanowej działającej naraz na kilkunastu stanowiskach. Założeniem jest żeby aplikacja była desktopowa, odpadają przeglądarkowe. Na serwerze jest MySQL. Które z podejść jest najbardziej odpowiednie?
- Aplikacje klienckie łączą się bezpośrednio z bazą po TCP
- Aplikacje łączą się przez dodatkowy proces działający na serwerze i dopiero on komunikuje się z bazą już lokalnie
- Rozdzielenie aplikacji na warstwę prezentacji która jest na komputerach klienckich i logikę biznesową która jest na serwerze, komunikacja po TCP
3a. Przy podłączeniu klienta na serwerze jest odpalany wątek który go obsługuje. Minus - wysypie się proces na serwerze, leżą wszystkie wątki
3b. Przy podłączeniu klienta na serwerze jest odpalany proces, który obsługuje pojedynczy terminal. Do tego na serwerze jest zarządca który nadzoruje pracę procesów, wykrywa zawieszone, komunikacja przez potoki
Aplikacja będzie pisana w C#
Które z podejśc bedzie lepsiejsze, a może ktos ma jakiś inny pomysł?
Na serwerze Win serv 2008R2
na komputerach klienckich WinXP_SP3 - Win8+.