Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-02-2011
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Events, Classic Servder, multiprocesador y Firewall

Hola, tengo una duda sobre que debo hacer... tengo una aplicación que usa regularmente los eventos de firebird (1.5), esta aplicación esta instalada sobre computadores con equipos windoes de diversas arquitecturas (multiprocesador o un solo núcleo), al instalar sobre equipos con multiprocesador he notado que si necesito usar el classic server ya que en unos procesos de paso de datos en el super server simplemente se bloquea (aunque tengo presente que se puede configurar el firebird para que trabaje con un solo procesador y así evitar dichos bloqueos)... Bueno aquí es donde tengo el gran problema, resulta que el firebird al crear eventos los envia por un puerto aleatorio el cual suele ser diferente al 3050, este puerto se puede fijar en Firebird SuperServer a un número determinado (Y así decirle al firewall de windows que le deje pasar), pero en Classic Server no... Yo he pensado hacer 3 cosas, pero ninguna me deja satisfecho las cuales son:


1. Abrir todos los puertos del firewall y continuar con el uso de firebird CLassic, la cual de entrada en algunos clientes es una solución aceptable, pero en la mayoría de mis clientes se que que no.

2. Cambiar a superserver y configurar para que use un solo núcleo cuando tenga multiprocesador el cual se que en esos procesos pesados que hago se demorará más pero los hará .(solo si esta configurtado a un solo procesador).. lo que no me gusta es desaprovechar los recursos del procesador y además creo que en algunos clientes los necesitaré (esto aun no lo he probado).

3. Olvidarme de los eventos y usar sockets, lo malo de esto será la programación nuevamente de mucho código y que nunca los he trabajado antes, así pues lidiar con nuevos posibles errores y por consiguiente con nuevos puntos de soporte.


Por otro lado esta la opción de tener un timer actualizando constante mente los resultados, pero este para la mayoría de lo que necesito no me sirve ya que tengo que dar respuesta inmediata y no veo útil estar haciendo querys cada segundo (por decir algo)...


Alguien tiene una sugerencia para hacerme? o alguien ha podido solucionar el problema de los puertos aleatorios que abre los eventos de firebird para Classic Server?
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #2  
Antiguo 25-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues no he notado yo ese problema, sólo abro el 3050 sea con SS o CS, ¿exactamente qué problema es, qué error te sale?
Responder Con Cita
  #3  
Antiguo 25-02-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

A tus 3 soluciones yo añadiría posibilidades más :

4. Configurar el Firewall para que permite conexiones por todos los puertos a tu aplicación que recibe Eventos (ojo, esto no es lo mismo que tu solución 1).

5. Portar el sistema a una versión "moderna" de Firebird, de forma que puedas configurar el puerto de conexión a eventos para usar en Classic Server.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #4  
Antiguo 25-02-2011
Gallosuarez Gallosuarez is offline
Miembro
 
Registrado: feb 2007
Posts: 92
Poder: 18
Gallosuarez Va por buen camino
Talking El Poder de los Eventos ...

RONPABLO:

Si lees el siguiente documento te puedo asegurar que todas tus dudas sobre manejo de eventos se van a disipar:

http://www.ibphoenix.com/files/conf2...TO-A201-R4.zip

Saludos,
Gerardo Suárez Trejo
Responder Con Cita
  #5  
Antiguo 26-02-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Qué documento tan interesante, es buenísimo.
Todos los días se aprende algo.
Responder Con Cita
  #6  
Antiguo 26-02-2011
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Gracias por las respuestas.

Cita:
Empezado por Casimiro Notevi
Pues no he notado yo ese problema, sólo abro el 3050 sea con SS o CS, ¿exactamente qué problema es, qué error te sale?
Como tal yo uso los eventos para que una aplicación refresque un grid inmediatamente en varios equipos, para enviar un mensaje estilo popup a un equipo determinado de la red y en otras cosas similares, ocurre que en algunos equipos dichas acciones dejan de funcionar de un momento a otro, y simplemente el grind no refresca o el equipo que espera el mensaje nunca lo recibe y cuando voy y hago debug encuentro que el evento OnEventAlert no se dispara en el equipo que esta en la red, pero en el equipo que es servidor si detecta dicho evento...

Cita:
Empezado por guillotmarc
Hola.

A tus 3 soluciones yo añadiría posibilidades más :

4. Configurar el Firewall para que permite conexiones por todos los puertos a tu aplicación que recibe Eventos (ojo, esto no es lo mismo que tu solución 1).

5. Portar el sistema a una versión "moderna" de Firebird, de forma que puedas configurar el puerto de conexión a eventos para usar en Classic Server.
Respecto al punto 4 que comentas, me queda algo en el aíre... ¿que ponga cual programa? ¿el que yo hice o el Fb_Inetd_server?, de ser el primer punto, ¿solo sería mi ejecutable puesto en las reglas de salida o de entrada del firewall de windows?

Sobre el punto 5, ¿las nuevas versiones de firebird classic server funcionan bien con los eventos tras un firewall?

Cita:
Empezado por Gallosuarez
RONPABLO:

Si lees el siguiente documento te puedo asegurar que todas tus dudas sobre manejo de eventos se van a disipar:....
Como tal, el leer Event Paper me motivo a hacer esta pregunta ya que practicamente en mi mal ingles entiendo que cuando el firebird va a pasar por un firewall no es recomendable usar el classic server si se necesita el manejo de eventos a no ser que se use un programa que gestione en el servidor y luego envíe directamente dichos eventos a los clientes.

Cita:
Empezado por Event Paper
Firewall problem conclusion:

To conclude the firewall issue in one simple rule: If your server is behind a firewall, you must use SuperServer and RemoteAuxPort setting. Now, what if you really need to use ClassicServer and events and there is a firewall in between. Well, you'll have to use some other mechanism to send events to clients. For example and simple “dispatching” application can be built and run on the same computer where Firebird ClassicServer is running
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #7  
Antiguo 26-02-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Cita:
Empezado por RONPABLO Ver Mensaje
Respecto al punto 4 que comentas, me queda algo en el aíre... ¿que ponga cual programa? ¿el que yo hice o el Fb_Inetd_server?, de ser el primer punto, ¿solo sería mi ejecutable puesto en las reglas de salida o de entrada del firewall de windows?
Me refiero a lo primero, a poner el ejecutable del programa que tú has hecho en las reglas de entrada/salida del firewall.

Eso tiene que bastar para que pueda recibir eventos, sea cual sea el puerto por el que le lleguen.

Cita:
Empezado por RONPABLO Ver Mensaje
Sobre el punto 5, ¿las nuevas versiones de firebird classic server funcionan bien con los eventos tras un firewall?
Sí, pueden configurar un único puerto para los eventos.

Al menos en el último Firebird 2.5. Tanto para la arquitectura Classic, como para la nueva SuperClassic, que aúna lo mejor de la Classic y la SuperServer.

http://www.firebirdsql.org/rlsnotesh...onf-rmtauxport

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #8  
Antiguo 27-02-2011
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
bueno pues voy a probar primero la opción del ejecutable en el firewall y pondré como meta el pasar a una versión más actualizada de firebird que desde hace bastante tiempo lo estoy aplazando. muchas gracias
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #9  
Antiguo 18-03-2011
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Bueno, dos semanas después de probar y probar, no me funciono lo de agregar al firewall el ejecutable, así que decidí pasarme (por tercera vez) a Firebird 2.5, he ido teniendo alguno que otro problema de como hacia (mal) las consultas (por ejemplo en Firebird 1.5 podía dividir un varchar directamente sin hacerle un cast, cosa que en el firebird 2.5 no me permite ahora) pero ya poco a poco los he ido cambiando (y en intentos anteriores ya había mejorado también algunos otros errores que tenía)... Con Firebird 2.5 me funciona correctamente los eventos y hoy estoy feliz trabajando con el superclassic.
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"

Última edición por RONPABLO fecha: 18-03-2011 a las 23:14:44. Razón: faltó info
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Abrir tablas de Classic Ges Sick boy Tablas planas 5 16-04-2012 15:38:02
Firebird 2.0 Classic me da problemas Tonyaldea Firebird e Interbase 0 30-11-2006 11:28:12
Multiprocesador JAH Firebird e Interbase 3 21-01-2006 17:20:29
Intraweb Script Events Como Usar joaquipardo Internet 0 27-09-2005 17:31:58
multiprocesador e interbase 7 Giniromero Firebird e Interbase 4 10-02-2005 23:25:52


La franja horaria es GMT +2. Ahora son las 23:31:04.


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