Powinieneś zastanowić się nad stworzeniem usługi sieciowej (SOAP), http web-api (REST) lub innego oprogramowania pośredniczącego, aby wyabstrahować przechowywanie danych.
Ma to zalety:
- Pozwala przenieść większość logiki biznesowej z aplikacji komputerowej do oprogramowania pośredniczącego
- Pozwala zachować logikę biznesową poza sql, co może być wąskim gardłem
- Umożliwia aktualizację logiki biznesowej bez redystrybucji aplikacji komputerowej (łatwiej, jeśli nie masz bezpośredniej kontroli nad wszystkimi komputerami).
- Umożliwienie kontrolowania uwierzytelniania (wiele serwerów internetowych posiada własne moduły, metody uwierzytelniania). Twoja aplikacja będzie kontrolować dostęp i dostęp do pamięci na swoim koncie usługi.
- Pozwala na całkowitą zmianę miejsca przechowywania danych (przypuśćmy, że w przyszłości niektóre będą przechowywane w sql, niektóre w mongodb, niektóre w chmurze – jeszcze raz, bez konieczności aktualizowania wszystkich komputerów).
- Umożliwia skalowanie frontendów, a nawet skalowanie pamięci masowej zaplecza (na przykład repliki bazy danych do odczytu/zapisu)
Jeśli już pracujesz z językiem C#, nowe API sieci Web MVC4 powinno być dobrym rozwiązaniem. Przeczytaj więcej tutaj:
Jeśli pójdziesz tą drogą, możesz kontrolować dostęp w swojej usłudze i uzyskać dostęp do bazy danych za pośrednictwem danych logowania w ciągu połączenia lub, jeśli używasz IIS, poświadczeń w puli aplikacji mapowanych na Twoją witrynę.
Jeśli dostarczasz aplikację komputerową (nie hostujesz bazy danych), możesz również samodzielnie hostować web-api we własnym pliku exe, jeśli Twoi klienci nie chcą instalować/zarządzać IIS.
Wreszcie, jeśli twój mysql jest online, twoje oprogramowanie pośredniczące może znajdować się w chmurze (lazur itp.)