Arquitectura aplicación escritorio + bd + aplicación asp

31/08/2006 - 10:15 por Sergio | Informe spam
Hola:

Tengo alguna duda sobre la arquitectura de una aplicación que tengo
que llevar a cabo.

Por un lado quiere una aplicación de escritorio que acceda a una base
de datos para su trabajo cotidiano (hasta aquí no hay problema puesto
que la lógica dice que el servidor debería estar pinchado en su red
local y la aplicación de escritorio instalada en cada puesto).

Por el otro lado, el cliente tiene actualmente contratado un hosting en
un proveedor donde tiene alojada su página web (estática, sin bd ni
contenido dinámico), pero ahora quiere que también acceda a la misma
bd de la aplicación de escritorio para servir datos a sus clientes.

Solución 1 (todo en el cliente)
-
Lo suyo sería (imagino) que el cliente comprara una máquina,
instalara el IIS, y con una ip fija y la redirección de DNS (dejaría
de contratar el hosting actual), alojara en su servidor la aplicación
web que ahora sólo debería acceder a una bd accesible directamente
desde su red local.

Solución 2 (desde el hosting acceder a la red local del cliente para
consultar la bd)

Si no quiere perder su hosting, la idea que he pensado es acceder desde
las páginas .asp del hosting a la red local del cliente (redirigiendo
en el router el puerto 1433 - SQL Server, a un máquina de la red local
donde esté la bd.

La cadena de conexión sería algo parecido a Provider=SQLOLEDB.1;Data
Source=<IP_FIJA_CLIENTE>:<PUERTO>, donde <IP_FIJA_CLIENTE> sería la
dirección del router que luego haría un NAT a la máquina interna.

Solución 3 (desde el cliente acceder a la bd alojada en el hosting)

Esta solución parece la más rocambolesca, pero...
¿Se podría acceder por OLEDB o DSN a una base de datos que está en
el hosting?
Es decir, no se si normalmente la base de datos está una ip públic
del hosting...

Desde ya, gracias por vuestras comentarios.
La verdad es que siempre he trabajado en entorno controlado (LAN) y
ahora que salgo a internet me surgen las dudas.
 

Leer las respuestas

#1 richi
31/08/2006 - 12:39 | Informe spam
Hola Sergio,

Solución 1,
bastante cara y costosa. Compra servidor, configura máquina,
mantenimiento, seguridad, coste IP fija, ancho de banda! (importante)

Solución 2:
Piensa que esta maquina local tiene que tener un buen ancho de manda
para satisfacer las demandas del cliente. Además necesitarias una IP fija.

Solución 3:
Para mí la mejor.
Las BBDD en sqlserver alojadas en el servidor tienen asignada una ip,
puerto, usuario y contraseña. Por lo que cualquier aplicación de
escritorio, web, ... puede acceder a ella.
Te olvidas de comprar hardware, mantenimiento y evitas problemas de
seguridad, contratar ip fija, ancho de banda, caidas de tu sistema ...


Como caso practico implementamos en mi empresa un portal juvenil donde
los chicos se dan de alta para solicitar una tarjeta joven.
La asociación tiene en su sede un programa a medida para crear tarjetas
en soporte de plástico con sus datos. Esta aplicación conecta a la BBDD
en sqlserver de la web para obtener los datos.

Es decir, web y aplicación de escritorio trabajan sobre la BBDD remota.

Saludos.

Preguntas similares