PDA

Ver la versión completa : ¿Se puede ejecutar una aplicacion desde una web?



smaug_
16-09-2008, 12:26
Saludos!
A ver si me podeis decir si se puede hacer. Tengo una aplicación web a la cual tengo que subir ficheros (unos documentos escaneados) y me han pedido si podria poner un botoncito, que cuando sea pulsado, arranque en el cliente el programa de escaneado. Y ya para rizar el rizo si despues directamente se puede adjuntar directamente.

En resumen, necesito saber si desde una aplicacion web, puedo lanzar algun programa en el cliente y después, que este envie la informacion a la aplicacion web.

A mi no me suena que se pueda hacer, al menos la segunda parte.

Gracias por vuestra ayuda.

KaoS
16-09-2008, 13:01
Interesante pregunta smaug_, la verdad es que no me lo había planteado...

Hay formas de abrir aplicaciones desde el navegador, pero no recuerdo ahora mismo cómo se hacía, voy a ver si averiguo como, aunque tampoco sé si será estándar, en cuanto sepa algo os lo comento.

Un abrazo!

KaoS
16-09-2008, 13:18
Parece que con ActiveX se puede hacer aunque si no recuerdo mal había problemas de compatibilidad/seguridad con estos objetos?:

http://www.codepedia.com/1/How_To_Javascript_Run_Executable_On_Client

Mira ese ejemplo para abrir la aplicación.
Para que lo adjunte dudo mucho que pueda hacerlo ya que es el mismo programa el que guarda el archivo, a menos de que creases una aplicación para el cliente que usase algún hook o algo para que luego lo pasase (y aún así ni siquiera sé si se puede) me parece algo extraño.

Cosa aparte sería si se tratase de una aplicación completa que desarrollaras tú para el cliente supongo, que no sé si tienes limitaciones por ejemplo desde los Applets de Java para acceder a los dispositivos de escaner del pc (con permiso del usuario), en tal caso supongo que no debería haber problema.

Pero vaya que yo creo que mejor que lo hagan a mano,¿no? xD que tampoco es tanto trabajo, le pones un Upload Multiple para que sea más cómodo y ya está,¿no? ;)

Venga suerte amigo!

smaug_
16-09-2008, 14:48
jeje, es un programa para funcionarios... asi que ya sabes que eso de trabajar, no les va mucho...
Yo a partir de mañana me pondre a investigar el tema, cualquier cosilla que vaya encontrando, os la pongo.

j8k6f4v9j
16-09-2008, 20:46
¿Y por qué no simplemente usar cgi's? ¿o simplemente http://es.php.net/system?

Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

ethersal
16-09-2008, 20:48
Tener un programa que haga eso y con php, usar la función system. Lo que no se es con qué estás haciendo la web.

KaoS
16-09-2008, 21:21
¿Y por qué no simplemente usar cgi's? ¿o simplemente http://es.php.net/system?

Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:


El programa es que la llamada System abre un programa en el servidor (ya que es de la librería de PHP) y el código por tanto se ejecuta en el servidor y Smaug_ pregunta sobre abrirlo en el cliente, ese es el principal problema.

Sobre todo lo complicado está por temas de seguridad.

Bms!

miguel86
16-09-2008, 22:50
¿Y por qué no simplemente usar cgi's? ¿o simplemente http://es.php.net/system?

http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:


Yo de programación web tampoco ando muy dado pero los cgis o el lenguaje php no son cosas que se ejecutarn del lado del servidor? Es que según he entendido yo la pregunta se encarga de que se ejecute en el lado del cliente, como javascript o activex que alguien me corrija si me equivoco....

gondar_f
17-09-2008, 10:55
Primeramente comentar que solo lei por encima las respuestas de los compañeros, por lo cual puede que diga algo similar.

Bien, para empezar hay que distinguir que navegador se usara porque dependiendo de cual se puede hacer de alguna forma o no se puede hacer directamente.

Por lo que indicas smaug tal vez la mejor opción es con iexplorer gracias a que puedes usar controles activetX en el navegador, otra posible opción sería usar firefox u otro basado en XUL, desarrollando una extensión, incluso hay un runtime para aplicaciones que no quieres que necesites el firefox...

Si optas por iexplorer pues lo más importante es que tienes que usar el objeto ActiveXObject para trabajar con los controles. Lo bueno de esta opción es que tienes a tu disposición todo lo que se pueda automatizar con VBA, incluso puedes generar archivos de Word, etc... el problema es que tendrás que lidiar con un monton de temas de seguridad. Eso si, cuidado porque eso habre una puerta de seguridad muy importante, aun recuerdo cuando el Office2000 original al instalar el ayundante de Office lo dejaba accesible desde inet y con ello te daba acceso total al equipo... Aunque yo no lo use nunca para nada serio, en su momento hiciera mis pruebas (cuando lo del Office 2000 ;-) y nada más) pero nada más. Lo bueno es que es similar a hacerlo con VBA, aunque yo si soy tu me pondría a usar VBScript y no JScript...

Por otro lado, como ya comento j8 hay otras opciones. Aunque en mi caso, en lugar de usar CGI´s... pues optaría por montar un servicio web para que recibiese las imágenes (realmente puede ser una cutrepagina en PHP pensada para recibir archivos) y una aplicación en .NET (por ejemplo, puede ser en Delphi o mismo Access o lo que tu veas) en el cliente para automatizar el proceso y que se encargue de enviar la imagen escaneada al server. En mi opinión es lo más fácil, ya que de la otra forma también tendrías que montar algo en el server para recibir la imágen...

Un Saludo

_kala_
19-10-2008, 01:07
Buenas,

eso mismo intenté yo durante unos dias hace tiempo. Al final tuve que claudicar ya que por temas de permisos no había manera de hacerlo de una forma fácil y fiable.

La solución que me funcionó fué crear una aplicación cliente (en mi caso en C#) para abrir las aplicaciones directament en la màquina cliente (para ello no había problemas de permisos). Las llamadas a dicha aplicación se hacian via web services des de la misma página web (la aplicación hacia de servidor de web services).

Se quedó en una versión de test, pero funcionaba, aúnque no tuve tiempo de montar la aplicación como un servicio, simplemente la oculté de manera que fuera transparente al usuario (iniciandose automáticament al iniciar la sesión de este).

Saludos.