Servidor de informes ¿Es posible?


([N1] neocursar) #1

Estos días he estado investigando con el tema de los informes, para hacer que sean realmente multiplataforma.
He estado probando Report Manager.
http://reportman.sourceforge.net
http://reportman.sourceforge.net/doc/index.html

Después de realizar la instalación, configuración, etc…
Necesitas un servidor web, en mi caso lo he puesto en XP con IIs
Añadir un cgi, que viene con el exe y la librería.
Definiendo en el reportmanserver.ini (C:Documents and SettingsAll UsersDatos de programa) la configuración de donde están nuestros informes.

[ALIASES]

SAMPLE=C:Inetpubwwwrootreportserver

Una vez hecho todo esto, reiniciando el servidor sale funcionando.

Podemos ejecutar desde web esos informes.
Para el que desconozca el funcionamiento de reportman diré que genera se genera un XML con los datos de cabeceras, líneas, etc…
Y con el repmandxp hacemos el diseño que se guarda en un fichero .rep
Resumiendo, queda anidado el .rep al .xml de los datos.
El .rep realmente es un fichero de texto al estilo de un .ini que podríamos modificar en tiempo de ejecución.

Colocamos en la carpeta dichos informes, o guardamos en base de datos el .rep y el .xml, para luego generar en el momento de la petición del informe, (recordando que el .xml contiene dichos datos y el .rep el diseño de impresión)

Al final, podemos ejecutar este informe desde web.

Hasta aqui todo bien.
Ahora surgen las dudas, o las necesidades.

1 - En cloud, podremos poner nuestro cgi-bin para ejecuciones del lado del servidor?
2 - Encapsular esa información enviado, dado que en mi caso webkit, el componente visor HTML ejecuta el fichero no genera la web.
Seguiré investigado pero inicialmente ejecuto el navegador del cliente para presentar el informe.
Si encapsulo el html con todos los parámetros, no ejecuta el botón de procesar el informe. He leído que hay algún problema con esto.

Resumiendo:
Es una muy buena vía de generación de informes multiplataforma, lo he ejecutado desde android, iphone, etc…
Se le pueden pasar parámetros.

Que permite:
Multiples secciones. Tanto cabecera como detalles o pies.
Sub informes
Informes heredados, ( es decir, puedo tener una cabecera global )

Que falta??
Investigar un poco más, pero creo que es una muy buena vía.


Adjunto capturas para que podais ver que se puede hacer…

[attachment=25044,1966] [attachment=25044,1967] [attachment=25044,1968] [attachment=25044,1969]










([N1] neocursar) #2

Como comentaba en el mensaje anterior, de momento ejecuto el navegador del cliente.

“explorer.exe chttp://192.168.20.6/cgi-bin/repwebexe.exe/execute.pdf?reportname=packing_list_lotes_inditex&aliasname=SAMPLE&username=admin&password=c”

Estoy investigando de integrar esto en el HTML.

[attachment=25046,1970]




([N1] neocursar) #3

Captura de lo que ocurre al integrar el el visor HTML.
En mac para ejecutar el informe:
“open chttp://192.168.20.6/cgi-bin/repwebexe.exe/execute.pdf?reportname=packing_list_lotes_inditex&aliasname=SAMPLE&username=admin&password=c”
[attachment=25049,1971]




([N3] Humber) #4

En el segundo post veo que lo que haces es ejecutar comando de sistema… porque no lo haces como un visor html y le pasas la ruta en una variable?

detallando la ultima imagen, si ves la ruta, la ultima variable no se esta pasando, la contraseña esta vacia en la URL :slight_smile:


([N1] neocursar) #5

Hummer.
Como puedes ver en el tercer ejemplo se ha pasado la url.
Pero hace la descarga no la ejecucion.
Si se compone el html el comportamiento es que el boton que permite lanzar el informe no se ejecuta.

Por otra parte, esa variable sin valor es porque no tiene contraseña.


([N3] Humber) #6

si, hize unas pruebas aqui y me hace lo mismo, empieza a descargar =$
ah ok, bueno solo vi que estaba vacia y pense que no la estaba pasando :slight_smile:
pero esta interesante, si logras que funcione perfectamente, espero lo compartas
saludos.!


([N1] neocursar) #7

Si, estoy con pruebas.
Es un problema de webkit, supongo que de la versión de Velneo, pq en otra herramienta me funciona de forma correcta…


([N1] Roberto Blasco) #8

Hola neocursar

¿Por qué no dejas que las labores de servidor web las haga el que está construido para eso? :wink:

  • Apache (PHP)
  • Tomcat (Java)

Probablemente si estableces los parámetros adecuados para identificar la respuesta del servidor, los datos se mostrarán en el navegador como tú quieras. Este es un ejemplo en Java (JSP)

response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 response.setHeader("Pragma","no-cache"); //HTTP 1.0 response.setDateHeader ("Expires", 0); //prevents caching at the proxy server response.setContentType("application/pdf");

Haz una prueba, mira el código fuente de la página que te devuelve y verás como empieza por %PDF. Eso quiere decir que el navegador te está devolviendo un chorro de bytes (en esta caso un pdf) pero no sabe cómo interpretarlos, hay que darle una pequeña ayudita.

Un saludo. Roberto Blasco.


([N1] neocursar) #9

Hola Roberto.
Si, en eso estamos.
Como te comentaba en otra herramienta, ya sabes cual, me funciona correcto todo.
La idea es que reportmanager permite multiples cabeceras, multiples detalles, subinformes, y una cosa muy interesante, incrustar otros informes, por ejemplo, una cabecera común para todos los informes, parámetros, y el diseñador es muy simple.
Yo lo tengo en el Cursar implementado, y con vuestra librería de email, envío el pdf de forma automática.
También usamos velocity, que es una pasada. Le falta el diseñador.
El problema es que usamos tantas cosas que tenemos que empezar a centrar los esfuerzos.


([N1] neocursar) #10

Comentar que me dicen de soporte que no es posible añadir el CGI al servidor Cloud.
Así que, buscaremos otra manera de hacer.
Nos olvidamos de esta alternativa, buscaremos otra.
Disculpar las molestias…


([N1] filipeagg) #11

@neocursar@me.com @Roberto Blasco

Primero en velneo v7, es posible definir las cabeceras como Roberto menciona en este caso “response.setContentType(“application/pdf”);”.

Independientemente de velneo cloud no permitir CGI, lo puedes usar de manera igual.
Yo programo esencialmente web con Velneo v7, y uso siempre los servidores cloud de velneo para los desarrollos (para evitar sorpresas de rendimiento), lo que hago es tener un vmodapache en otro servidor, que obtiene los datos del servidor cloud de velneo. Si bien de inicio, nos preguntamos, ¿Tener otro servidor? a médio plazo nos damos cuenta que es preferible tenerlo así, aislamos la web del servidor de aplicaciones de Velneo, añadiendo más seguridad a nuestras aplicaciones.

Este servidor puede tener cuantos servicios de vmodapache que desees, apuntando a distintos servidores de velneo, de hecho me he planteado en diversas ocasiones ofrecer ese mismo servicio a la comunidad de velneo.


([N1] filipeagg) #12

Usando este servidor auxiliar, inclusivé los que no son nivel 2 podrán hacer el desarrollo de webs en velneo v7, bastaria subscribir un servicio de vmodapache y indicar los datos de conexión al servidor de velneo.

Filipe Gomes
http://filipegomes.eu
filipeagg@gmail.com


([N1] Roberto Blasco) #13

Hola filipeagg.gmail

No sabía que desde v7 se podían manipular las cabeceras del response. Bueno es saberlo :slight_smile:

Como tú dices, siempre me ha gustado tener un servidor Tomcat (en tu caso Apache) para complementar mis aplicaciones. Hay que apoyarse siempre que sea posible en las herramientas externas siempre y cuando den mejores prestaciones. No hay que ser necio y pensar que Velneo es mejor en todo.

Un abrazo.


Guadalajara – España
E-Mail: roberto.blasco.serrano@gmail.com
Skype: roberto.blasco.serrano
Teléfono: (+34)625653066 [Viber][WhatsApp]


([N1] filipeagg) #14

Definir todas las cabeceras, no lo sé, pero el content type si, mira el segundo comentário de este articulo:

http://velneo.es/velneo-vmodapache-v7-funcionalidades/


([N1] neocursar) #15

[N4] filipeagg.gmail
Veo que con vModApache podemos dar una alternativa a muchas cosas.
Gracias por la información.
Como comentaba en algún email, yo en mi ERP genero los informes partiendo de un diseño y un XML, externo todo ello en este caso al servidor del velneo 6x, algunos informes han pasado de casi un minuto, a unos segundos y liberando de peso al servidor.
Por eso comentaba este foro, para ver que opiniones tenía la gente.

Otra alternativa muy buena podría ser :
http://velocity.apache.org/engine/releases/velocity-1.7/user-guide.html


([N1] lsmsusvilla) #16

Hola, una consulta tendrias algun ejemplo de un informe en formato xml y otra mas importante una vez que tienes el informe creado archivo rep como lo lanzo en vista previa desde velneo.

muchas gracias


([N1] lsmsusvilla) #17

Al parecer no hay nadie que trabaja con Report manager que me pueda orientar algo