Buenas:
Acabo de leer un artículo muy bueno sobre la programación en n-Capas, y aun
quedado gratamente sorprendido por la simplicidad y practicidad, sigo sin
tener claras algunas cosas. Hace ya algunos meses que estoy estudiando como
llevar a cabo lo más correctamente posible la programación n capas en un
proyecto que empezaré dentro de poco. Es un tema sobre el que he leído mucho
pero sobre el que aún no he trabajado, pues hasta ahora todos mis proyectos
se basan en aplicaciones 2 capas (Cliente/Servidor).
Mis dudas son las siguientes:
- Si queremos trabajar con n-Capas y, por lo tanto, creamos un servidor de
automatización, o dos, con las reglas de negocio y el acceso a datos; este
componente COM debe devolver un recordset y dejar así de utilizar la
potencia y facilidad de programación que nos proporcionan los cursores en
Visual FoxPro?
- ¿Podría pasarle al componente un parámetro para que devolviera un
recordset o un cursor en función de su valor? De esta forma podría
asegurarme de que funcionara tanto desde Visual FoxPro como desde cualquier
otro lenguaje y hacer más fácil y potente la programación desde el primero.
¿Qué opinan al respecto? ¿Lo ven viable?
- También deduzco que con ese tipo de programación si que no tiene ningún
sentido la utilización de vistas remotas. ¿Verdad? Por lo tanto tendré que
actualizar yo los datos mediante instrucciones de paso a través de SQL ¿No?
- Por último, preguntarles si ciertos procedimientos relacionados con las
reglas de negocio es mejor programarlos como procedimientos almacenados en
la base de datos, con el objetivo de conseguir la mayor rapidez de
ejecución; o por el contrario es mejor programarlos en la capa intermedia
para así conseguir mayor portabilidad del código en caso de migrar a un SGBD
distinto.
- Y relacionado con esto último, y ahora sí que acabo: ¿Es recomendable
utilizar el ANSI SQL renunciando así a las peculiaridades de cada sistema
gestor de base de datos y la potencia que ello conlleva?
Muchas gracias desde ya.
Saludos,
Llorenç
Leer las respuestas