Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
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 10-05-2010
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 28
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Con Lazarus/Free Pascal no sé, pero si la conexión la estás haciendo por HTTP puedes aprovechar las capacidades "rewrite" de algún servidor web como Apache, lighttpd, Nginx, etc. Esto consiste en configurar el servidor, a veces creando un archivo en la raíz de datos, en el cual le dices que las peticiones que cumplan ciertos requisitos se redirijan a otro camino diferente.

Para que te hagas una idea, ese "truco" lo utilizan prácticamente todos los programas de gestión de "blogs", que analizan la URL y la traducen en una petición a la página que realmente obtiene y muestra la entrada. Así puedes escribir "www.misitio.com/articulo/me_voy_de_vacaciones" en lugar de "www.misitio.com/articulo/index.php?id=me_voy_de_vacaciones".

Aquí tienes información de la Wikipedia, para que veas lo que es.
Responder Con Cita
  #2  
Antiguo 10-05-2010
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Gracias. Comentarios

Hola,

Muchas gracias a ambos por el interes.

El truco de redirección ya lo había estudiado; pero, está descartado. Entre otras cosas porque el Content del Post es información encriptada con algoritmo propio.

Por lo que veo el tema no es muy conocido en la comunidad; pero, quizás pueden ayudarme con esto :

Al menos, la equivalencia entre Delphi y Lazarus/Free Pascal para el tema aplicaciones Web, tanto en cliente como en servidor, existe en términos de componentes similares ?.

Lo digo porque la lista de componentes que he visto en el sitio de Free Pascal es muy diferente a los de Delphi; pero, los comentarios dicen que pasar de Delphi a Free pascal es muy facil ?
Responder Con Cita
  #3  
Antiguo 11-05-2010
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Poder: 20
mightydragonlor Va por buen camino
creo que en este link está lo que necesitas
http://wiki.lazarus.freepascal.org/W...ion_Parameters, o este otro tambien podria ayudarte
http://wiki.lazarus.freepascal.org/F...Apache_Modules
__________________
mas confundido que Garavito el día del Niño.
Responder Con Cita
  #4  
Antiguo 11-05-2010
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Muchas gracias. Avanzamos

Hola,

Muchas gracias por el dato. Es un buen complemento a mi propias investigaciones.

Les comento lo que he averiguado:

En cuanto a los componentes Indy, existen versiones para Lazarus en Linux. Pueden descargarse de esta página:

http://www.indyproject.org/Sockets/fpc/index.en.html

Infortunadamente, según explican ahí, aún están en etapa de pruebas. De todas formas, confío en que sirvan para mis propósitos, ya que el uso planeado es muy sencillo y común; así que espero que esa parte ya sirva.

En cuanto a las Web Server application, existe un homólogo de los TWebModule, los TFPWebModule. Por lo que pude apreciar de un ejemplo casi idéntico al mío, hay cambios menores en algunos nombres; pero, esencialmente es lo mismo.

Así las cosas, solo es cuestión de esperar a tener Linux, y algún entrenamiento básico, para poder probar.

Sin embargo, hay algo que aún me preocupa, y aunque es un tema diferente, complementa este por lo que quiero preguntarlo aquí:

En un comentario que leí alguién decía que prefería tener la aplicación como un servicio FCGI y no como un módulo Apache porque cada vez que se debía reemplazar un módulo Apache había que bajar el servidor completo, aún cuando todos los demás módulos permanecieran sin cambios. Es algo con lo que se puede vivir; pero es incómodo. Mi preguntas entonces son 3 : Que es un servicio FCGI; si uso FCGI debo usar algo diferente a TFPWebModule; que tanto cambiaría mi aplicación ?
Responder Con Cita
  #5  
Antiguo 11-05-2010
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Lo que dices es muy viable. Y ademas facil.

Si indy no te sirve, puedes usar Synapse que es mas simple.

Seria ideal que montaras una maquina virtual (por ejemplo con VirtualBox o VMWare) para las pruebas locales, asi no tienes que esperar sino a instalar y ya

Algo que funciona en FPC (no lo he probado pero pinta bien):

http://z505.com/powtils/idx.shtml
----
FastCGI es una version actualizada del CGI, una interface mejorada, pero para efectos practicos y mas aun para una cosa tan elemental da como lo mismo (ademas no conozco un modulo FastCGI para Freepascal/Delphi).

----
Con todo, lo que mencionas es tan basico que no te debes preocupar mucho. Incluso lo puedes hacer como un CGI y te aseguro que podra operar muy rapido. Si ademas usas algo como http://www.cherokee-project.com/doc/...dlers_cgi.html y opcionalmente http://www.cherokee-project.com/doc/...ers_proxy.html tendras todo lo que necesitas (te pongo Cherokee porque estoy enamorado de la interface administrativa y de lo rapido que es )

Si tal como te recomendaron usas el soporte de rewrite de urls de tu servidor web, la programacion se simplifica un resto. Solo tienes que recibir los parametros y devolver las respuestas.

Una ventaja de NO hacer modulos apache ni DLLs es que el debug de los programas es mas simple. Incluso puedes correrlo por la linea de comandos!. Y si lo haces como un modulo CGI, no solo sera mas simple en general sino que sera portable a cualquier servidor web que exista, y cuando actualices el EXE no necesitas detener el servidor web por completo (aunque igualmente debes tener un sistema de update en caliente, para evitar que parte las respuestas sean en la interface nueva y otras en la vieja)
__________________
El malabarista.
Responder Con Cita
  #6  
Antiguo 11-05-2010
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Smile Gracias por el complemento. Comentarios

Hola,

Gracias por los datos complementarios.

Con respecto a las máquinas virtuales, ese es exactamente el esquema que se va a implementar. Concretamente, tendremos 2 máquinas físicas y 4 virtuales usando VMWare. 3 de ellas con Linux y la otra con Windows Server

Lo de CGI, la verdad me asaltan serias dudas. Bajo Windows, aún cuando reconozco que es un mecanismo más robusto contra fallas, lo deseché desde un principio porque cargar y descargar programas cada vez que haya que ejecutar algo es muy ineficiente. Por eso siempre he usado ISAPI.

En nuestro caso, el paso por Linux es conceptualmente muy simple; pero, el número de usuarios, si bien no es notable, tampoco es trivial (arrancaremos con más de 40 y probablemente estaremos cerca de los 100). Cada petición en sí, tampoco lo sería; ya que a muy a menudo contendrán estructuras grandes y complejas, en especial, aparte del manejo normal de registros de tablas de Bases de Datos, se espera fuerte tráfico de documentos completos, que deben almacenarse y leerse desde el servidor, y desde locaciones remotas. Agregale a esto que toda llamada pasa por un proceso de encriptamiento.

Lo de depurar, la verdad tampoco me preocupa mucho. El Linux es solo un preprocesamiento con un algoritmo corto; probablemente ni siquiera necesite depurar. Ahora, hablando en general; yo uso ISAPI con Delphi 2007 en Windows y la verdad salvo una que otra cosa, más que todo cuando estaba haciendo mis primeros experimentos con esas tecnologías, nunca he tenido problemas para depurar.

De todas formas, veo que se ha levantado el interes por el tema, así que espero que sigamos intercambiando información. Creo que el uso directo de http con Lazarus puede ser un recurso muy potente para explotarse con Linux. De momento, debido a metas de producción, no puedo dedicarle mucho tiempo; pero, ya lo tengo en la mira.

Saludos
Responder Con Cita
  #7  
Antiguo 11-05-2010
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por rolandoj Ver Mensaje
Lo de CGI, la verdad me asaltan serias dudas. Bajo Windows, aún cuando reconozco que es un mecanismo más robusto contra fallas, lo deseché desde un principio porque cargar y descargar programas cada vez que haya que ejecutar algo es muy ineficiente. Por eso siempre he usado ISAPI.
Ese es un mito muy comun. Pues resulta que fastcgi y demas es lo mismo (se lanzan procesos por cada request, aunque normalmente se reciclan procesos y todo eso y se tiene un limite). La gracia de los módulos en proceso (dll) es mas evidente en los lenguajes interpretados (php, python, .net) ya que hay que cargar el run time y ademas procesar la petición, o para soportar un pool de conexiones a una BD. Pero un lenguaje compilado, procesamiento directo? No tanto.

Cualquier OS, windows incluido, maneja de forma eficiente todo eso. Windows no carga todos los bytes d elso exe que se cargan frequentemente, hay optimizaciones para todo eso. Pa rematar lo que comentas parece que es un proceso tan simple que la carga & descarga seguramente sera muy rapido (y posiblemente mas en linux).

Ahora si como dices lo tuyo es tan simple pues si, puedes hacerlo como un modulo si asi lo deseas. Da igual.
__________________
El malabarista.
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
Comparativa entre Free Pascal 2.2.0 y Turbo Pascal 7.0 esocrates Varios 2 14-07-2008 14:56:24
stringgrid , puedo recibir valores ? martita OOP 2 04-07-2005 19:21:03
manual de excepciones de object pascal para free pascal??? Garion OOP 3 27-05-2005 00:42:29
¿Cómo puedo enviar y recibir archivos vía IRC con el componente TIdIRC? DarkByte Internet 4 26-06-2004 17:54:05
Como puedo enviar y recibir imagenes por Internet JDNA Internet 4 29-03-2004 22:41:09


La franja horaria es GMT +2. Ahora son las 08:16:39.


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