Conectar un Aplicación Web con una base de datos local

Me llamo Carlos y estoy a cargo de desarrollar lo siguiente:
-Un Software y una Base de datos
- Y una Aplicación Web
Para el Software voy usar Visual Basic Net 2005 y postgres como base datos.
Tengo listo el diseño la base de datos.
Pienso instalar un computador que va actuar como Servidor en la Oficina donde se instalará la base de datos, para que trabajen distintas estaciones trabajo con el Software.
Hasta ahí no tengo problemas, pero mi problema radica es que tengo que conectar la aplicación Web con la base de datos, esta aplicación Web va consultar información de la base de datos y ingresar nueva información.
He trabajado bastante con Software y base de datos locales pero la verdad que no se nada de aplicaciones Web.
Ahora viene gran pregunta:
-¿Puedo crear la aplicación Web y que consulte información de la base de datos del servidor que va estar instalado en la oficina, o la base de datos tiene que estar instalada en el servidor WEB?
-La base de datos va manejar un volumen enorme de datos, se van crear una enormidad de registros por día (Desde el Software), por eso creo que la base de datos tiene que trabajar de manera local en las oficinas del Trabajo.
Esa es mi gran duda y disculpen por la pregunta tan general pero necesito un empujón para salir adelante con este Software. Pero no se como conectar la aplicación Web con la base de datos.
En realidad no se que arquitectura de hardware y software tengo que implementar, si tendré que instalar servidor Web en la oficina... La verdad que no se nada de aplicaciones Web y servidores web.
.
La base datos la diseñe considerando que voy ha recibir información online, de la aplicación Web. Es decir la base de datos soporta toda la información que se va generar de manera local y del Sitio Web.
Tengo 8 semanas para aprender sobre Php y aplicaciones Web, je je... Agradecería mucho tu respuesta para poder visualizar el camino de aprendizaje que tengo que seguir. Dejo mi correo [email protected] si desean hablar personalmente conmigo.

4 Respuestas

Respuesta
1
1. Bueno lo primero comentarte que si quieres conectarte a una base de datos desde una aplicación web la base de datos tiene que ser accesible desde internet. O dicho de otra forma, tiene que ser 'visible' desde internet, bien por SSH, FTP o como sea..
Lo cierto es que según veo, lo que quieres es que la carga del servidor se lleve en local. Bien, desde mi punto de vista es mejor si tienes una base de datos en local (que recibe información de todas las terminales de la oficina) y otra en internet, que será la que sea visible para la gente.
De esta forma, digamos que tienes 2 bases de datos, una la de la oficina y otra la de internet. Podrías hacer que 3-4 veces al día (para no transferir tanta información a la vez), la base de datos de la oficina mandara información a la de internet, de tal forma que la base de datos de internet tendría dos tipos de información: la actualizada que ha recibido del servidor de la oficina y la que ha recibido de internet.
Ventaja: todo el 'peso' de las operaciones se divide en 3-4 y al final del día tienes en el servidor de internet toda la información actualizada.
2. Si por el contrario no quieres hacer esto olvida todo lo anterior. También podrías conectarte con una aplicación web a tu servidor de la oficina, pero claro, este tendría que ser visible desde fuera en vez de sólo para LAN. De esta forma toda la información la metería en el servidor de tu oficina que estaría recibiendo cosas de internet y de la propia red local.
Es decir, para que te hagas una idea de cómo va: redireccionas todos las peticiones TCP del puerto 80 a la IP interna de la máquina que está llevando la base de datos. Es evidente que hay que abrir el puerto 80, desactivar firewall y demás por eso haría antes la propuesta 1 que esta. Aunque bueno, como se dice, a gusto del consumidor :)
Una vez hecho esto en la aplicación web en vez de poner que se conecte a 'localhost' (la páginas en internet se suelen conectar a sus propios localhost, es decir, a sus propias máquinas), le pones tu IP externa. Así, enviará la información a tu servidor de la oficina que complementará la información de las terminales de la oficina con la que proviene de internet.
Y bueno, si tienes alguna duda no dudes en preguntar, pero en la esencia eso es todo. Documentación y funciones de PHP hay que patadas por internet, no creo que te sea difícil encontrar un buen manual de introducción.
Gracias por tu respuesta, me aclaro bastante pero me gustaría hacerte algunas consultas por messenger... te dejo mi correo, te agradecería mucho que agregues.
[email protected]
Respuesta
1
Puedes hacerlo de varias maneras, según me dices la bd va a manejar un volumen grande de información, así que requiere de un equipo con buena memoria RAM y disco duro.
No importa si la bd postgres va a estar en otro equipo o en el mismo que el servidor web, de igual manera puede funcionar. Debes tener en cuenta eso si que los permisos
en la config. Del servidor postgres cambian si el servidor que consulta es remoto.
Si estamos hablando de windows, en el directorio de configuración, que generalmente esta en c:\archivos de programa\postgres\conf o una ruta parecida, hay dos archivos:
Uno es postgresql. Conf
otro es pg_hba. Conf
En postgresql. Conf están las configuraciones generales del postgres
lo importante es que debe tener la linea
listen_addresses *
El * indica que escucha en todas las interfaces
en pg_hba. Conf configuras el acceso de ciertos usuarios al postgres, claro, antes que nada debes crear la bd y los usuarios respectivos que se conectan a la bd.
Ejemplo:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
host    bd_sistema  usuario     192.168.54.1/32       md5
debe quedar bd_sistema es la bd a usar
usuario es el usuario que se conecta
la direccion ip es desde donde se conecta, puede ser incluso una subred
en metodo md5, es el tipo de encriptacion por defecto del passwd.
Bueno, de ahí en adelante, ya debes configurar los scripts de conexión, me supongo que será en .net o asp, que realmente no manejo.
Entonces voy a montar el servidor en la oficina.
Ahora se que puede montar un servidor web propio yo pensaba que los servidores web era algo más complejo. Solo tengo que instalar el apache + Php Postgres.
Ahora el software y la aplicación web se conectara a servidor propio, así de fácil.
Gracias por tu respuesta, avanzo a pasos pequeños pero cada paso me hace más grande.
Un consulta, ayer instale en windows postgres (Primera vez) pero je je me doy cuenta que no tiene un interfaz para crear o ver el diseño de la base de datos, por lo que me doy cuenta que voy a tener crear la sentencia en sql para crear la base datos.
No conoces un version de Postgres, que permita diseñar la base de datos y crear las consultas de sql, como el que tiene Sqlserver. Porque crearlo a manualmente se me va ser muy difícil...
Hay programas como ezdesign, también te recomiendo ems sql manager for postgres, es bueno, aunque los dos son comerciales.
Respuesta
1
Si puedes hacer que la aplicación web se conecte a tu base de datos en la oficina, para ello debes tener una IP publica en tu oficina y que esa IP publica pueda tener acceso al servidor de base de datos central con eso ya resuelves el problema.
Es lo mismo que cuando tienes varios PC usando la misma base de datos que se encuentra en un servidor.
Claro debes tener en cuenta un firewall para minimizar el riesgo de entrada de hackers a tu servidor central.
Respuesta
1
Aunque PHP puede hacer todo esto que precisas, si dices que estás programando en Visual Basic Net, te aconsejaría que no cambiases de lenguaje. VB .NET puede hacer también todo esto que necesitas. Tu aplicación .asp correrá en el servidor y accederá a la base de datos, que debería tener buena comunicación con el servidor ya que dices que se manejará mucha información.
Sigue por el camino de Visual Basic que te será más sencillo si ya lo dominas.
Hola
Por lo que entiendo, prefieres que utilice asp para trabajar, pero como puedo como desarrollar una aplicación Asp, ¿desde visual basic existe un IDe para desarrollar para desarrollar aplicaciones Asp?
¿Asp una consulta cuanto sale dinero cuesta usar Asp? Yo para que la licencia de Visual Bacic que me salio unos 1200 dolares para un pc, pero no incluí Asp en la licencia, ¿cuánto sale Asp?
¿Sabes qué tan compatible es postgres con visual basic?, me recomiendas usar postgres, yo creo que no tendría problemas por que creo debe ser igual a Sqlserver, ¿qué piensas?
No creo que tengas ningún problema al usar Postgre como base de datos. Una vez uses el driver correspondiente para hacer la conexión, el resto es similar a cualquier otra base de datos.
Si dispones de licencia para Visual Basic .NET es que estás utilizando Visual Studio. No sé mucho del tema, pero yo diría que sólo tienes que crear un proyecto de tipo ASP para poder programar usando el IDE de Visual Studio.
De hecho ASP es una tecnología similar a PHP: permite mezclar código (en este caso de Visual Basic) con etiquetas HTML.
Quizás deberías ver un tutorial al respecto:
http://www.desarrolloweb.com/asp/

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas