Diferencia entre programación 2 capas y 3

¿Me podrías explicar la diferencia entre programación 2 capas y 3? O por lo menos ponerme algún ejemplo de cada una de ellas porque no lo tengo muy claro. Sino con que me digas alguna página donde pueda informarme seria suficiente.

1 respuesta

Respuesta
1
La programación en 2 capas, es la llamada cliente-servidor. La parte cliente pide unos servicios, que son proporcionados por la parte servidora. Por ejemplo, en un ASP, tendrías todo en los ficheros ASP, y esto sería la parte cliente, y accederían esos ASPs a los datos de una BD que sería la parte servidora.
El inconveniente de esta arquitectura es la falta de seguridad, ya que cualquier personas con ciertos conocimientos ppodría descifrar tu código cliente y conocer así todos los entresijos de tu aplicación.
Así que nace la programación en 3 capas. En la que existe una capa cliente, que es simplemente la pantalla que ve el usuario, con sus botones, sus cajas de texto, sus validaciones, etc.
Después existiría una capa de datos donde estaría alojada la BD.
Y entre estas dos capas, existiría la capa de negocio, la contendría la lógica de negocio de tu aplicación, es decir, lo que antes he llamado, los entresijos de la misma.
Es decir, esta capa intermedia contendría los datos de tu BD, los accesos a la misma, el tratamiento a los datos obtenidos de ella y la forma de acceder a la misma.
Las ventajas de esta forma de programar es que se basa en la modularidad, permite la reutilización de código y aporta bastante seguridad a la aplicación, ya que imposibilita conocer esta capa de negocio, que es la que realmente proporcional funcionalidad a la aplicación.
Un ejemplo de aplicación en 3 capas, sería tener una aplicación ASP que acceda a una BD a través de una DLL donde esté programada toda la funcionalidad de la aplicación. Los ASPs accederían a la DLL y esta a la BD, la BD devolvería los datos requeridos a la DLL, la cual los trataría y daría el formato concreto para representarlo en el navegador que es lo único que vería el usuario.
Espero haberte solucionado tu duda, si no ha sido así, comunícamelo y te lo explico de otra forma

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas