Eso si es verdad, por lo mismo en esta clase de proyectos hay que tener cuidado, desde saber quienes lo tendran y que ellos no se lo pasen a terceros, tambien hacer un login de tipo HWID para hacerlo mejor, y claro proteger nuestra aplicacion para que no pueda ser leida facilmente ya sea con .NET Reflector o algun otro.
Yo solo uso esta forma ya que donde esta hosteada la DB, no es mi PC y crear una web en ella para manejar la DB se me hace mas tedioso que crear una aplicacion de escritorio hehe , proximamente vere eso para hacer alguna en silverlight(si esque se puede).
Ante esto tienes varios escenarios.
1. Si es una aplicacion de escritorio y la BD esta en tu red local no hay problema pues es un escenario seguro detras de un proxy o un NAT etc.
2. Si es una app web y el servidor web se encuentra en la misma red del servidor de datos tampoco hay lio, de hecho es un poco redundante hacer un servio para consumirlo en una web si todo es tuyo.
3. Para aplicaciones en silverlight si necesitas un servicio web para conectarte con los datos pues silverlight es de cliente y necesita pasar por el Servidor para obtener respuesta como todo es asincrono la unica forma de conexion con el servidor es por medio de un servicio, al igual que en flash o Flex.
Atentamente,
Juan Manuel LombanaMicrosoft Student Partner
Microsoft Certified Professional
Medellín - Colombia
Si, es lo que ando viendo aunque tambien debo tener cuidado con ello puesto que ya en el servidor tenemos una web la cual por ahora no hemos tenido problemas, pero hubo una ocacion en que uno de staff presto su cuenta y como anteriormente el panel estaba tambien en web accesaba facilmente sin nunca saber quien fuera y ahi hubo conflictos por lo que decidimos crear la aplicacion de escritorio que tambien obtenia datos de la PC para asi asegurar que sea del Staff , estos datos ya previamente obtenidos. Y si al ejecutar la aplicacion y la PC no es alguna que tenga acceso se autoelimina la aplicacion.
Esto a servido por ahora, pero como tu dices si llegan a obtener datos para el acceso a la DB podria ser crucial.
En tu opinion que prefiririas usar? A la vez aveces obtenemos ataques Ddos por lo que antes tumbaban la web y no teniamos acceso al panel, y como la aplicacion es por ip esto no importa si la web cae o no.