No tengo mucha experiencia con las aplicaciones de escritorio, pero si tuviera que crear una aplicación de escritorio del servidor cliente, el acceso a los datos se realizaría a través de un servicio web. Creo que el acceso a datos a través de un servicio web proporciona seguridad: no necesito pasar el nombre de usuario y la contraseña del servidor db, etc.
Antes de los servicios web, ¿cómo hicieron esto las aplicaciones de bases de datos? ¿Se pasó toda la información db importante a la instalación de la aplicación de escritorio? Si es así, ¿cómo gestionaron los programadores el aspecto de seguridad? ¿O los programadores usaron algo similar a los servicios web?
programming-practices
security
Aullidos Hagrid
fuente
fuente
Respuestas:
Dependiendo de lo que llame un servicio web.
Antes de WSDL y REST, todavía había HTTP, por lo que básicamente todo lo que puede hacer ahora también se podría hacer antes.
Hubo una falta de uniformidad (por eso se crearon WSDL y REST en primer lugar), pero proporcionó el mismo nivel de confidencialidad y seguridad de los datos de los que habla.
En realidad, también puede evitar el uso de HTTP: puede redactar su propio protocolo y utilizar un servidor personalizado y clientes personalizados que abrirían un socket a este servidor y obtendrían los datos que necesitan (o publicarán los datos). Aquí, pierde todos los beneficios de estandarización de HTTP, pero una vez más, no da acceso a la base de datos a los clientes.
fuente
Ah, cuando teníamos palos y piedras.
Antes de Internet, teníamos algo llamado arquitectura "cliente / servidor" y redes de área local. Si no estaba tratando de establecer una conexión con un servidor a varias millas de distancia, estas redes funcionaron perfectamente bien para lograr casi cualquier cosa. Incluso podría establecer letras de unidad y utilizar conexiones a servidores de archivos como un disco duro remoto, si así lo desea. Si estuviera a varias millas de distancia, podría usar una red de área amplia para hacer esencialmente lo mismo, aunque a una velocidad más lenta y a un costo mayor.
La forma barata de hablar de forma remota era pasar información a través de líneas telefónicas utilizando dispositivos llamados módems, y si deseaba armar algo donde dos computadoras se comunicaban entre sí a través de aplicaciones informáticas, lo hizo de la misma manera que lo hace hoy: estableciendo Un protocolo de comunicaciones. No hay nada mágico en eso; ambas partes solo tienen que ponerse de acuerdo sobre el significado de todos los bytes
Desde las primeras etapas de Internet, las máquinas tenían formas de comunicarse a través de ellas. Los servicios web son solo el último sabor de la semana.
fuente
Solo para aclarar algunos conceptos primero ...
Creo que está combinando los conceptos de (1) Seguridad de la capa de transporte (TLS) y (2) controles de acceso en la declaración anterior ... Si un nombre de usuario y contraseña deben ser proporcionados o no no está relacionado con si un servicio web es proporcionado a través de (1) un canal encriptado y (2) autenticación (por ejemplo, una clave API).
Un servicio web extremadamente mal escrito aún puede requerir que se envíen contraseñas en texto plano a través de HTTP. Una persona mal escrita puede hacerlo a través de HTTPS (seguro, pero una vez roto, por ejemplo, a través de un ataque de hombre en el medio , abierto al abuso). Un servicio web mejor escrito debe manejar la conectividad de la base de datos internamente en función de otras entradas, por ejemplo, ID de sesión, después de validar los controles de autenticación y derechos.
Volviendo al punto principal, el comentario de @marcus sobre su pregunta es esencialmente eso. Los aspectos de seguridad no se tratan de manera diferente a las tecnologías "modernas", y eso cubre cuestiones de implementación tales como:
X.X.X.X
con un nombre de usuario y contraseña, y luego ejecute la consultaINSERT INTO user_address ...
?Para más información:
fuente