Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-12-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Conexiones remotas, consideraciones a tener en cuenta, alternativas

Hola Muchachos y muchachas (si no lo digo se enojan )

Hoy les vengo con una duda,
¿Que aspectos o factores debería considerar al establecer conexiones de forma remota?

Les comento mejor el tema. Se me ha propuesto un proyecto, y ando evaluando diversas alternativas de como enfocarlo. Lo fundamental es ver como y de que forma conseguir la conexión.

El problema es que mi "cliente" como algunos de sus miembros del personal se viven desplazando (estamos hablando de hasta una diferencia de 400 km), no tienen un puesto fijo. Y se necesita acceder a los datos con los cuales trabajan. Actualmente se manejan con libreta de almacen y luego vuelcan todo a Excel y se reenvian los archivos a través de e-mail.
Aqui aparezco yo y debo ordenar y estructurar todo esto.

Estaba pensando diversas alternativas a considerar.
Una de ellas, y lo más fácil es optar por una aplicación web, Apache + PHP. Como contra: estoy casi en cero en esto de web. En este punto prefiero que sea una empresa que se dedique al rubro quien le ofrezca los servicios. Le he comentado que aquí hay empresas, pero la verdad es que mi cliente prefiere que sea yo quien le lleve el proyecto ya esto es sólo una punta del iceberg (la idea es ir ampliandolo y abarcando diversas áreas). Además, no se muestra del todo confiado en depender de una empresa web, sumándose que ya ha probado cuanto enlatado y opciones encontró para su negocio.
En parte le doy la razón: a pesar de haber muchos productos y opciones para su negocio, ninguno se ajusta a sus necesidades ya que su forma de manejar, trabajar y estructurar tanto su actividad como los datos es única. Bastante particular diría yo.
Por el otro lado está el hecho de que no hay mucho movimiento. Al tratarse de una actividad agrícola, la mayor carga de actividad se da dos veces por año, y en algunos meses ni se ven movimientos. Optar por un servicio web, al que poco se va usar, y que en algunas ocasiones directamente no se usa, me parece a mi una inversión mal empleada. Yo me digo ¿Para que mantener un dominio, o algún otro servicio web si poco o nada se lo va a usar? Recién a muy largo plazo se tiene pensando en algo más "web".

Si le sumamos el hecho de que se trata de un aplicativo bastante particular, el precio por desarrollar una aplicación web es superior al de lo normal y esperado, no se trata de una simple página web para que otros visiten. Conociendo de reojo las empresas que se mueven por aqui, me parece que se van a pasar de vivas por esas "particularidades" y le van a cobrar más de lo que vale.

Como otra opción estoy considerando (por ahora la que más me convence) el desarrollo de una aplicación de escritorio, destinar una máquina a modo de servidor y que desde los puestos de trabajo se conecten remotamente. Aqui yo pienso que se puede disponer de no-ip (habría que ver si el uso de no-ip está permitido... en sus avisos de uso se ve claramente que no se permite con fines comerciales) en caso de que su ip no sea fija o en su defecto en caso de que el proveedor no brinde el debido soporte, una conexión a internet rápida (el máximo que aquí se puede obtener es de 5M).
Aquí me asalta la duda ¿Que tan caro puede ser llegar a mantener una máquina funcionando 24x7? Yo me digo, tampoco es para tenerla 24x7 sabiendo que en ocasiones no hay movimiento.
Mi cliente además posee un pequeño negocio aqui, me ha comentado que tiene una pequeña infraestructura hecha. Tal vez pueda aprovecharse el equipo que hace de "servidor" en esta red, pero tengo que analizar si es viable este punto ya que en dicho "servidor" está conectado el sistema de seguridad y las cámaras de seguridad. NO quisiera mezclar ambos emprendimientos.

Mucha disponibilidad económica no posee. Antes estaba pensando en Windows Server 2003 y que accedan mediante Escritorio Remoto, pero adquirir esta licencia encarece más al proyecto.
Por ahora yo me estoy inclinando a hacer una aplicación con Delphi, Firebird, IBX, y valiendome de no-ip conectarme al servidor. ¿Se podría de esta manera? ¿Cómo?

Otra alternativa que estaba pensando es que en caso de no poder usar no-ip, y de que no sea económicamente viable mantener un equipo funcionando a modo de servidor es que el aplicativo sea monousuario. Destinar un equipo en donde se procese todo, que reciba los datos en archivos excel, los procese y los guarde. Aqui se podría hacer que sea Firebird Embebed, de modo que pueda llevarse el aplicativo a cualquier lado. Básicamente es como venían trabajando: que los demás puestos envíen los datos ya sea en excel o algún otro "formato" o "archivo" diseñado para éste propósito y que el sistema sea capaz de leerlo y traspasar los datos.
El problema será mantener adecuadamente actualizada la base de datos, y que los demás no puedan consultar los datos...

¿Que más debería considerar? ¿Que otra opción ven ustedes? ¿Como enfocarían al problema?
Me gustaría saber que opinan, disculpen el rollo.

En unos cuantos días tengo planeado volver a reunirme con mi cliente para hablar bien del tema de la infraestructura, apenas me ha dado el tiempo en la entrevista para tratar esas particularidades. Con esta nueva visita podría tener una mejor perspectiva de todo, pero por ahora me preguntaba que opciones podría ir teniendo en cuenta.

En definitiva el cliente dedice, estoy armando el plan de alternativas. Nomás ando viendo opciones de como enfocar la conexión.

Disculpen por el laargo texto.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #2  
Antiguo 10-12-2008
Rockin Rockin is offline
Miembro
 
Registrado: may 2003
Ubicación: Málaga
Posts: 264
Poder: 21
Rockin Va por buen camino
Muy buenas, te expongo como lo tengo montado yo, pero como tu dices, hay muchas opciones:

Tenemos 3 oficinas.
En la principal está el servidor de base de datos Firebird, que corre bajo windows 2003 server, pero lo puedes instalar en un XP o el que tu veas, depende de la capacidad economida.

El acceso a datos desde los clientes, lo hago con un servidor de capa intermedia, bueno con dos, alojados en esta misma maquina y en otro servidor, donde los clientes se conectan dependiendo del balance de carga.

Una de las oficinas está a 160 km, y estamos conectados mediante VPN. la velocidad de los clientes de aquella oficina es muy buena y tienen una conexion de 3 megas para unos 25 puestos.

Creo que si no estas acostumbrado a la programacion web, te decantes por el servidor de capa intermedia, ganaras mucho en velocidad y costes, debido a que puedes instalarlo en una maquina normalita.

Saludos.
Responder Con Cita
  #3  
Antiguo 10-12-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
1 - Además del no-ip está el dyndns.org. No se si es grátis para uso comercial.
2 - Por lo que veo solo envías archivos y desearías recibir algun archivo.

Consideraciones.
- Disponibilidad de conexión.
Si se mueve y entra a casa del cliente, puede ser que no tenga conectividad a internet. En este caso deberá trabajar offline y enviar la información en un momento posterior.
Esto significa que tampoco podrá cosultar datos.
En este caso sugiero una aplicación que lleve todos los datos y que se sincronice cuando tenga conexión.

- Envías archivos que serán procesados por un servidor.
Cuanto "pesan" los archivos que envías?
Si son pocos datos los que envías, quizás puedas conectarte directamente con la base de datos y hacer insert/update de las tablas que corresponda.
Si son muy pesados quizas debas comprimirlso y luego enviarlos.

- La información que quieres recibir en tiempo real es importante?
Quizás solo quieras saber un dato aproximado (stock aproximado por ejemplo). Para esto no necesitas estar conectado. Quizás teniendo datos de principio del día sea suficiente. En este caso, harías una aplicación que luego se sincronizara con el servidor

- Te recomiendo generar una VPN para el tema de seguridad.

- Firebird se conecta a través del puerto TCP/3050. Deberás abrirlo en tu servidor.

- Dependiendo de la velocidad que quieras para acceder o enviar los datos puedes conectarte directamente a la base de datos. Yo he hecho una replicación muy simple que conecta directamente 2 bases de datos a travez de una ADSL y no es demasiado lento. (Haz algunas pruebas de todos modos). En la base origen hago un select de las tablas y envío los datos a un strored procedure en la base destino que se encarga de hacer un insert o update.

Última edición por duilioisola fecha: 10-12-2008 a las 15:18:11.
Responder Con Cita
  #4  
Antiguo 10-12-2008
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Que tal,
Como yo lo he implantado y me ha funcionado muy bien es montando una aplicacion de escritorio (que la puedes desarrollar en delphi) sobre un servidor Windows 2003 (2008) server, y acceder a ella via terminal services.
Utilizo el servicio de Dyndns para resolver la IP, y se puede accesar al server con un ancho de banda de 1MB con una muy buena respuesta.
Las desventaja que tiene este esquema es, el costo de la licencia de Windows 2003 server, y que el server debe de ser un equipo algo mas arriba de lo "normal" o bien un server real.
Una de las ventajas es que no tienes que preocuparte por abrir ningun puerto para la comunicacion.

Saludos
__________________
Ya tengo Firma!
Responder Con Cita
  #5  
Antiguo 10-12-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola,
Muchas gracias por tomarse el tiempo y ofrecer su ayuda.

He estado pensando en emplear VPN, pero la verdad es que apenas son unas cuantas PCs, cuanto mucho serán entre 4 a 6.
Me parece que es demasiado una VPN para 4 equipos, sabiendo que se van a estar movimiento. Si, lo bueno es que empleando una VPN consigo un tunel seguro.

duilioisola lo que me comentas de que sea una aplicación que sincronice los datos, es una alternativa. No había pensado mucho en como podría trabajar si no tienen una conexión, o si se les cae.
Será un poco más complicado pero en fin es algo más a considerar.
Por otro lado debo aclararte de que no es que se envía archivos. Por ahora ellos se manejan enviandose archivos Excell entre ellos, la idea es que ya no se trabaje con esos archivos sueltos sino que quede bien organizado y estructurado en una base de datos.

Para amortiguar el cambio, si tengo pensando que el sistema pueda recibir archivos excel, los procese y guarde los datos debidamente. De este modo mientras se avanza en alguna otra parte del sistema se pueda ir trabajando.

Debo comentar que esto se trata por ahora de manegar una especie de "agenda" de lo entra y sale (no en un aspecto monetario) en sus campos, como va evolucionando la actividad, los rendimientos dados, esperados, un manejo de sus proveedores, de sus socios. Además con un plus de que se manejen ciertos perfiles de acceso. Espero que esto aclare algunos puntos.

La actividad agraria es lenta, hay días (mejor dicho: semanas e incluso meses) en los que no hay nada que consultar, borrar, añadir, y/o actualizar. No es que se necesite la actividad del día... los resultados, las estadísticas son visibles en un marco temporal más grande: meses, años; cuanto mucho, dependiendo de algunas de esas particularidades que estoy analizando, en ciertas ocasiones a nivel semanal.

Esto es lo fundamental, dentro de esa "agenda" hay cuestiones y particularidades de como lleva el trabajo que lo hace único. Eso no es el problema central, esas particularidades hacen a la forma de estructurar la información, no a una conexión.
El asunto es en estos días, estudiar diversas opciones para lograr la conexión.

El tiempo que duró la reunión no fue lo suficiente como para analizar la infraestructura que él y el resto de las personas involucradas tienen. Hemos analizado y hablado más de sus particularidades y apenas superficialmente el tema de la conexión.

Por ello es que estoy aqui, analizando y estudiando diversas maneras de como enfocar esto. Si la agenda de mi cliente lo permite, en unos días podré concretar una nueva reunión y hablar bien de los aspectos más técnicos.

Disculpen que no pueda ser más específico en esto, les agradezco su ayuda.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 10-12-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
VPN SI O SI!!!
Yo creo que emplear una VPN es escencial. Creo que jamás debes dejar el puerto que utilices abierto y esperando...
Con un Windows Server y un Windows Profecional puedes montar VPNs, sin necesidad de instalar software de terceros...

Una vez dentro de una red segura (VPN) podrás empezar a pensar si accedes directamente a la base, le envias y recibes archivos en alguna carpeta o te creas tu propio protocolo "DelphiusTCP".

Otro tema: Disponibilidad e conexión.
Creo que es la base para empezar el diseño.
- Si siempre hay conexión, solo será cuestión de conectarte a los datos. (base de datos/carpeta almacén/Capa intermedia)
- De lo contrario, deberás pensar en tener todos los datos y replicarlos cuando sea posible. Tendrás que ir marcando lo que has insertado/modificado/borrado para poder hacer la sincronización.
Responder Con Cita
  #7  
Antiguo 10-12-2008
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
VPN SI O SI!!!
Yo creo que emplear una VPN es escencial.
Y si no tienes un ancho de banda importante y una base de datos relativamente grande, entonces que que el usuario se siente a esperar no importa ... no creo que sea la mejor solucion para todos los casos.
Saludos
__________________
Ya tengo Firma!
Responder Con Cita
  #8  
Antiguo 11-12-2008
Avatar de hjpires
hjpires hjpires is offline
Registrado
 
Registrado: sep 2007
Ubicación: Trelew - Chubut - Argentina
Posts: 7
Poder: 0
hjpires Va por buen camino
uy, esto da para escribir largo y tendido
creo que lo primero es ordenar todos los factores que inciden en tu proyecto:
- disponibilidad (hardware, enlaces, propios o via internet, etc)
- conocimientos (como bien decis, mejor no meterse en terrenos que no domines)
- necesidades del cliente.

antes de discutir el como hacerlo hay que saber el qué hay que hacer.
por lo que lei creo que tu cliente no requiere información on-line. es decir, te permite manejarte con una "vista" de los datos desactualizada.
por otra parte comentas que se dedica a la actividad agrícola, eso me hace pensar que posiblemente los puestos de trabajo no esten necesariamente en ciudades donde puedas acceder a algún tipo de conexión. Al menos aquí es asi.
para no dar tantas vueltas te comento lo que he hecho para ver si te sirve.
un cliente mio (una situacion particular porque era una empresa que tenia gente desarrollando y yo y un amigo debia aportar modulos al sistema que estaba en funcionamiento) tiene un sistema de gestion desarrollado en delphi y el cual lo subio a una WAN con enlaces propietarios. el primer inconveniente con el que nos encontramos fueron los tiempos de respuesta ya que al hacer una aplicacion ideada para una LAN uno no se preocupa mucho del trafico que genera en la red y como te decia no toda la aplicacion fue desarrollada por mi. Por lo tanto tratamos de buscar una solución que resolviera lo que ya estaba corriendo.
la base de datos que usamos es MS SQL Server (version 2000) y lo que hicimos fue armar un esquema de replicacion en la misma base de datos por lo tanto investigando un poco y sin tocar una sola línea de código, armamos un esquema con un servidor principal (publicador, que maneja todas las sincronizaciones) y servidores secundarios (subscriptores uno en cada oficina remota).
Si se corta la conexion entre estos servidores, seguis trabajando con los datos locales como si nada hubiera pasado, en cuanto se reestablece la conexión, las base de datos se comienzan a sincronizar entre si prácticamente sin participacion del usuario (solo hay participacion si en la sincronizacion aparecen conflictos). por lo tanto es un esquema que te sirve tanto si estas conectado como si no lo estas.
ahora hablemos de importes. Yo te dije que esto se resuelve con un sql en cada oficina, uff mucha plata en licencias, pero lo bueno es que existe una version de ms-sql que viene con office, osea que si el cliente tiene el office en su pc tambien puede tener esta version de ms-sql que funciona de maravillas como subscriptor, incluso creo que hasta lo podrias colocar como publicador, no recuerdo como salieron esas pruebas.
para la sincronizacion entre las bases, obviamente vas a necesitar conectarlas de alguna manera, si es atraves de internet, como el resto te sugiero que lo hagas atraves de VPN no tenes que invertir en nada, Windows lo soporta, y sino podes utilizar línea telefónica haicendo RAS o acceder a traves de un modem GPRS en caso que tengas señal de telefonia celular etc.
En fin, creo que tienes varias alternativas, cualquier cosa si te interesa y queres que sigamos conversando via msn, avisame.

saludos y suerte con el proyecto
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
conexiones remotas marcosmendozaa SQL 3 27-11-2008 10:51:07
Conexiones remotas SQL Server hedaez SQL 4 12-05-2008 13:55:12
Conexiones Remotas Con Firerbird jtovar Internet 2 21-08-2007 14:45:59
adoexpress y conexiones remotas bsoftware Conexión con bases de datos 2 07-02-2004 19:25:04
Conexiones Remotas muli Firebird e Interbase 1 25-08-2003 20:46:13


La franja horaria es GMT +2. Ahora son las 14:09:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi