whitepaper vulnerability services secure scan restful more español ec2 data certifications aws database web-services performance security design

database - vulnerability - ¿La mejor manera de acceder a una base de datos remota: a través de un servicio web o acceso directo a bases de datos?



restful pdf español (2)

Estoy buscando desarrollar una aplicación para Mac y dispositivos iOS. La aplicación se basará en la información almacenada en una base de datos remota. Necesita tanto acceso de lectura (selección) como de escritura (inserción, actualización, eliminación) a la base de datos. La aplicación será una aplicación multiusuario.

Ahora estoy viendo dos enfoques diferentes para acceder a la base de datos: - a través del servicio web: la aplicación accede al servicio web (REST, JSON) que accede a la base de datos. La autenticación se realizará mediante autenticación HTTP a través de SSL (https). - acceder a la base de datos remota directamente a través de una VPN.

La aplicación será utilizada por un máximo de, digamos, 100 personas y está dirigida a pequeños grupos / organizaciones / empresas.

Entonces mi pregunta es: ¿cuál sería el mejor enfoque para acceder a la base de datos? ¿Qué hay de la seguridad y el rendimiento? ¿Cómo sería una implementación típica para una pequeña empresa?

Cualquier consejo será apreciado.

Gracias


Dada la información que ha proporcionado, la respuesta es casi seguro servicios web, a menos que la VPN sea rápida.

Si la VPN es lo suficientemente rápida para manejar el tráfico, ahorrará mucho tiempo, esfuerzo y gastos accediendo a la base de datos directamente desde su aplicación.

También puede proporcionar acceso remoto a sesiones de PC virtuales, si eso es lo suyo.

Por lo tanto, todo dependerá de cuáles sean sus requisitos. Hay muchas maneras de hacer esto, y cada una tiene sus ventajas y desventajas. Tomar la decisión correcta requerirá una buena cantidad de análisis de sistemas, probablemente más allá del alcance de una pregunta publicada en .


El uso de servicios web agrega un nivel de indirección entre los clientes y la base de datos. Esto tiene varias ventajas que se deben al hecho de que los clientes no deben tener conocimiento de la base de datos, solo de su interfaz de servicio web. Dado que las aplicaciones de los clientes son más complicadas de controlar y actualizar que su código del lado del servidor, vale la pena agregar un nivel de lógica de negocios en el servidor que le permite modificar su sistema sin tener que actualizarlo. Ventajas principales:

  • Flexibilidad: puede cambiar la configuración de la base de datos / reemplazar la capa de datos por completo y no cambiar nada en las aplicaciones del cliente, siempre que mantenga la misma interfaz de servicio web.
  • Seguridad: implemente algún mecanismo de autenticación para sus servicios web y evite darles a los clientes credenciales de acceso a su motor de base de datos.

También hay algunas desventajas: paga por esa flexibilidad agregando un nivel de complejidad; probablemente sea más rápido codificar el acceso a la base de datos en los clientes y terminar con eso. Considere la capa de servicios web como una inversión que podría pagar dividendos en el futuro. Si vale la pena realmente depende de los requisitos y perspectivas de su negocio.