Arquitectura 3 Capas, en entorno WEB

Buenos días le escribo porque estamos desarrollando una aplicación WEB con IIS, utilizando una mezcla de lenguajes que hacen que el código carezca por completo de claridad. Le hago un breve resumen de lo que hacemos: Tenemos páginas ASP, que se ejecutan y son interpretadas por el IIS, en estas páginas hay código de servidor en VBScript, código cliente javascript, y HTML. El código servidor hace llamadas a una DLL remota que obtiene los datos de la Base de datos.
Me gustaría saber si existe alguna otra forma de implementar esto, por ejemplo usando una capa cliente desarrollada íntegramente en HTML, siendo páginas ASP, que para rellenar sus listas y campos acceda a la capa remota que accede a la BD, pero que se mantengan esos datos en alguna capa intermedia, para si los necesito otra vez no tener que hacer acceso a la BD, sino que los recoja de esa capa intermedia.
De esta forma tendríamos una capa cliente que son páginas ASP/HTML, con una llamada a esa capa local, que haga una llamada a la capa remota y esta acceda a la BD, y vuelque el resultado en la capa local, de forma que la siguiente vez que necesite esos datoslos recojo de esa capa local.
No tengo ni idea de si existe alguna forma de implementar todo esto, o alguna manera de clarificar el código cliente haciendo distinción clara de lo que es cliente y lo que es servidor, evitar accesos repetitivos a la BD, etc...
El problema es que esta filosofía no he logrado implantarla ya que en cada página ASP, al hacer el submit paso a otra página asp, perdiendo cualquier referenca la capa local, de manera que empezaría de nuevo.
Espero no haberle liado en exceso.
Gracias por anticipado.

1 respuesta

1
Respuesta de Anónimo
Hola
En realidad lo que estas planteando es totalmente correcto e implementable. El problema que te frena es conceptual, me explico:
Tu estas pensando (es lo que deduzco) en un recordset que esta por hay en algún sitio y al que le pediré los datos cuando los necesite, pues bien, eso es un error de planteamiento.
El desarrollo de aplicaciones multicapa supone que tu tendrás proveedores de información y consumidores de esta.
En el caso del recordset: lo correcto seria que tuvieses una capa que fuese capaz de devolver un recordset y una capa que fuese capaz de pedir el recordset, modificarlo/tratarlo y pasarlo a otra capa de modo que seria un esquema como este:
Interface -> capa de negocios -> capa de datos
Donde el interface pide unos datos a la capa de negocios
La capa de negocios le pide esos datos a la capa de datos
La capa de datos los devuelve y pierde cualquier contacto con la capa anterior (por supuesto el interface NUNCA tendrá acceso directo a la capa de datos, solo a la de negocios)
La capa de negocios trata los datos y los devuelve al interface y se pierde el contacto.
Lo importante es que te des cuenta que, en aplicaciones de internet y/o multicapa, los recordsets son DESCONECTADOS y que no hay contacto permanente entre capas sino que hay una petición-respuesta y punto
Espero haberte ayudado
Saludos
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje