Debe considerar la creación de un servicio web (SOAP), http web-api (REST) o algún otro software intermedio para abstraer su almacenamiento de datos.
Esto tiene los beneficios de:
- Le permite trasladar gran parte de la lógica comercial de su aplicación de escritorio a middleware
- Le permite mantener la lógica comercial fuera de sql, lo que podría ser un cuello de botella
- Le permite actualizar su lógica empresarial sin redistribuir su aplicación de escritorio (más fácil si no tiene control directo de todos los escritorios).
- Permitiéndole controlar la autenticación (muchos servidores web tienen sus propios módulos, método de autenticación). Su aplicación controlaría el acceso y accedería al almacenamiento bajo su propia cuenta de servicio.
- Le permite cambiar por completo su almacenamiento de datos (digamos que en el futuro almacene algunos en sql, algunos en mongodb, algunos en el almacenamiento en la nube, una vez más, sin tener que actualizar todos sus escritorios).
- Le permite escalar sus front-end e incluso posiblemente escalar su almacenamiento de back-end (por ejemplo, réplicas de base de datos de lectura/escritura)
Si ya está trabajando con C#, entonces la nueva API web de MVC4 debería encajar bien. Lea más aquí:
Si sigue esa ruta, podría controlar el acceso en su servicio y hacer que su servicio acceda a la base de datos a través de credenciales en una cadena de conexión o si usa IIS, credenciales en el grupo de aplicaciones asignado a su sitio.
Si está enviando su aplicación de escritorio (no está alojando la base de datos), también puede hospedar web-api en su propio exe si sus clientes no desean instalar/administrar IIS.
Finalmente, si su mysql está en línea, su middleware podría estar en la nube (azure, etc...)