Ejecutar programa
Tengo dos pcs conectadas en red, la pc1 es el servidor y la pc2 es el cliente, como puedo hacer para que desde la pc1 pueda ejecutar un programa que está en la pc2 y que aparezca en la misma pc2. Estoy usando power builder 10.0.
1 Respuesta
Respuesta de Antonio Garcia
1
1
Antonio Garcia, clipper todas sus versiones (manejo total) power builder todas...
Estimado colega tu pregunta es muy simple de responder.
Cuando hablas de ejecutar un programa remotamente simplemente hablas de un acceso directo, esto significa que para poder hacer lo que pretendes primero tienes que localizar tu aplicación completa, incluyente las librerías propias de esta y demás cosas, en un directorio especifico.
Mi recomendación es la siguiente.
1.- Crear en la PC origen un directorio genérico para direccionar los accesos, digamos APLICACIONES
2.- Dentro de ese directorio podrías crear un directorio para cada una de las aplicaciones que deseas compartir, por ejemplo, si tienes aplicaciones para, contabilidad, inventario, facturación, mi recomendación es que crees uno para cada aplicación.
3.- Dentro de cada directorio de aplicación simplemente colocas los ejecutables y librerías de cada una de estas (lease unicamente los ejecutables y librerías propias de la aplicación)
4.- Una vez hecho todo esto, entonces creas un directorio más, al nivel de los que representan las aplicaciones, y por ejemplo le pones el nombre de SHARED, dentro de este directorio colocas todo el contenido del directorio SHARED que se encuentra en la instalación de power builder. (Aunque esto no es necesario del todo, es conveniente por cuestiones de seguridad).
5.- Compartes el directorio APLICACIONES para que otros usuarios puedan utilizarlo, recomendable, solo lectura.
Una vez hecho todo esto trendras un árbol de directorios iniciado por APLICACIONES y debajo de estos las aplicaciones y el directorio SHARED, podrías incluir un directorio más, cuyo nombre seria RECURSOS, y en este colocar los archivos de imágenes, sonidos, etc. que utilice tu aplicación, de tal forma que siempre busque dentro de ese directorio dichos recursos, y así no sean compilados dentro del ejecutable.
Bien una vez administrado todo esto, vas a la PC2 o llamaremos CLIENTE, en dicha PC, simplemente buscas el directorio APLICACIONES que se encuentra en la PC1 y lo emulas como una unidad virtual, digamos Z, ahora tu PC2 o CLIENTE tiene una unidad en donde se encuentra la aplicación que necesitas.
El siguiente paso es el más simple de todos, creas un acceso directo de cualquiera de las aplicaciones que necesitas utilizar (en la PC2) y como ultimo paso modificas las propiedades, en la casill INICIAR EN o START IN, según la version de tu sistema, deberás colocar el camino completo del directorio SHARED, en tu caso si la unidad virtual es Z entonces podría quedar como Z:\SHARED, esto hará referencia directa a todas las librerías necesarias para manejar cualquier cosa que necesite POWER BUILDER.
Para finalizar ten en cuenta que el directorio SHARED deberá ser común para todas tus aplicaciones y cuida que solamente se encuentren las librerías propias de una version a la vez, por ejemplo si usas aplicaciones con version 8, ese directorio solo debe contener las librerías y demás de dicha version, si ademas estas utilizando más de una version de PB entonces creas un directorio SHARED para cada una de las versiones digamos SHARED8, SHARED10, etc.
Y relacionas los accesos directos a cada aplicación según su version.
Por ultimo, y ya para finalizar necesitas de instalar los manejadores de la base de datos que estés utilizando, ya sea en librerías nativas o bien ODBC, lo cual completa la instalación, ahora ya puedes compartir un ejecutable o aplicación con más de una PC, recuerda que la PC anfitriona siempre debe estar encendida, sino se acabo el invento.
Cuando hablas de ejecutar un programa remotamente simplemente hablas de un acceso directo, esto significa que para poder hacer lo que pretendes primero tienes que localizar tu aplicación completa, incluyente las librerías propias de esta y demás cosas, en un directorio especifico.
Mi recomendación es la siguiente.
1.- Crear en la PC origen un directorio genérico para direccionar los accesos, digamos APLICACIONES
2.- Dentro de ese directorio podrías crear un directorio para cada una de las aplicaciones que deseas compartir, por ejemplo, si tienes aplicaciones para, contabilidad, inventario, facturación, mi recomendación es que crees uno para cada aplicación.
3.- Dentro de cada directorio de aplicación simplemente colocas los ejecutables y librerías de cada una de estas (lease unicamente los ejecutables y librerías propias de la aplicación)
4.- Una vez hecho todo esto, entonces creas un directorio más, al nivel de los que representan las aplicaciones, y por ejemplo le pones el nombre de SHARED, dentro de este directorio colocas todo el contenido del directorio SHARED que se encuentra en la instalación de power builder. (Aunque esto no es necesario del todo, es conveniente por cuestiones de seguridad).
5.- Compartes el directorio APLICACIONES para que otros usuarios puedan utilizarlo, recomendable, solo lectura.
Una vez hecho todo esto trendras un árbol de directorios iniciado por APLICACIONES y debajo de estos las aplicaciones y el directorio SHARED, podrías incluir un directorio más, cuyo nombre seria RECURSOS, y en este colocar los archivos de imágenes, sonidos, etc. que utilice tu aplicación, de tal forma que siempre busque dentro de ese directorio dichos recursos, y así no sean compilados dentro del ejecutable.
Bien una vez administrado todo esto, vas a la PC2 o llamaremos CLIENTE, en dicha PC, simplemente buscas el directorio APLICACIONES que se encuentra en la PC1 y lo emulas como una unidad virtual, digamos Z, ahora tu PC2 o CLIENTE tiene una unidad en donde se encuentra la aplicación que necesitas.
El siguiente paso es el más simple de todos, creas un acceso directo de cualquiera de las aplicaciones que necesitas utilizar (en la PC2) y como ultimo paso modificas las propiedades, en la casill INICIAR EN o START IN, según la version de tu sistema, deberás colocar el camino completo del directorio SHARED, en tu caso si la unidad virtual es Z entonces podría quedar como Z:\SHARED, esto hará referencia directa a todas las librerías necesarias para manejar cualquier cosa que necesite POWER BUILDER.
Para finalizar ten en cuenta que el directorio SHARED deberá ser común para todas tus aplicaciones y cuida que solamente se encuentren las librerías propias de una version a la vez, por ejemplo si usas aplicaciones con version 8, ese directorio solo debe contener las librerías y demás de dicha version, si ademas estas utilizando más de una version de PB entonces creas un directorio SHARED para cada una de las versiones digamos SHARED8, SHARED10, etc.
Y relacionas los accesos directos a cada aplicación según su version.
Por ultimo, y ya para finalizar necesitas de instalar los manejadores de la base de datos que estés utilizando, ya sea en librerías nativas o bien ODBC, lo cual completa la instalación, ahora ya puedes compartir un ejecutable o aplicación con más de una PC, recuerda que la PC anfitriona siempre debe estar encendida, sino se acabo el invento.
Hola agdsys, gracias por tu tiempo, pero creo que no me expliqué bien, lo que deseo es, por ejemplo, diseño un sistema en pb que llame por decir a la calculadora de window, lo que quiero hacer es que desde mi servidor le diga que ejecute la calculadora pero que aparezca en la pc1 (cliente), algo así como un chat en red, que mando un mensaje y aparezca en la computadora destino.
Espero haber sido un poco más claro.
Espero haber sido un poco más claro.
Esto como bien dices es tal y como un chat, sin embargo voy a asumir que cuando dices ejecutar un programa cualquiera, desde una PCx y que se ejecute en una PCy significa que la PCy tiene ya un acceso directo instalado y demás cosas, por lo que asumo que lo que intentas es controlar tu PCy remotamente o similar,
Perdón por la comparación pero creo que esto es como inventar el agua azucarada, pues desde windows puedes hacer esto con el administrador remoto, o bien con programas similares y hasta incluso gratuitos,
si aun no es lo que necesitas, power builder no esta provisto para manejar mensajería por TCP sin embargo como sucede con la mayoría de los lenguajes de esta década, power builder puede utilizar librerías de terceros, ya sea por medio de dlls, ocx, etc, los cuales de una forma o de otra resuelven el problema, recuerda que power builder es un derivado de C, por lo que si conoces la herramienta podrías crear ciertos objetos para que power builder pueda reconocerlos como tal,
si esto no te es factible, entonces queda la ultima opción, y es acudir a librerías de terceros, los cuales ya tienen resuelto este tema, personalmente yo he utilizado unas que me resolvieron un problema similar, el asunto estaba relacionado con un servidor transaccional, en pocas palabras desde una pc, envío un mensaje y el servidor lo recibe y luego lo procesa para ejecutar una tarea.
Creo que muy similar a lo que necesitas.
Sin embargo esto oblica a que tengas levantado dos ejecutables uno en el origen y otro en el destino, o bien uno escucha y el otro envía el mensaje.
Para solucionar tu problema ( el cual power builder por si solo no sera capaz de resolver), tendrás que utilizar mensajería por IP, esto significa que tendrás que habilitar algunos puertos para dicha comunicación.
Mi recomendación es que utilices las librerías de terceros, personalmente y es la que utilice en su momento para resolver el problema, se encuentra en www.dart.com, ellos hacen librerías de todo tipo para resolver problemas de comunicación. Tal y como el que tienes actualmente.
Sin embargo si intentas hacer un chat y un controlador de tiempos de acceso para un caje internet (por poner un ejemplo), mi opinión personal es que no gastes pólvora en gorriones, simplemente utiliza una herramienta que ya resuelve este problema, si por lo contrario es otra situación, visita la dirección que te propongo, allí encontraras de todo un poco, lo mejor es que puedes bajar las librerías y utilizarlas en forma de trivial, y si te convence, entonces pagar el costo de la licencia, que la verdad se paga por si sola.
Espero esto pueda servir para resolver tu problema
saludos agdsys.
Perdón por la comparación pero creo que esto es como inventar el agua azucarada, pues desde windows puedes hacer esto con el administrador remoto, o bien con programas similares y hasta incluso gratuitos,
si aun no es lo que necesitas, power builder no esta provisto para manejar mensajería por TCP sin embargo como sucede con la mayoría de los lenguajes de esta década, power builder puede utilizar librerías de terceros, ya sea por medio de dlls, ocx, etc, los cuales de una forma o de otra resuelven el problema, recuerda que power builder es un derivado de C, por lo que si conoces la herramienta podrías crear ciertos objetos para que power builder pueda reconocerlos como tal,
si esto no te es factible, entonces queda la ultima opción, y es acudir a librerías de terceros, los cuales ya tienen resuelto este tema, personalmente yo he utilizado unas que me resolvieron un problema similar, el asunto estaba relacionado con un servidor transaccional, en pocas palabras desde una pc, envío un mensaje y el servidor lo recibe y luego lo procesa para ejecutar una tarea.
Creo que muy similar a lo que necesitas.
Sin embargo esto oblica a que tengas levantado dos ejecutables uno en el origen y otro en el destino, o bien uno escucha y el otro envía el mensaje.
Para solucionar tu problema ( el cual power builder por si solo no sera capaz de resolver), tendrás que utilizar mensajería por IP, esto significa que tendrás que habilitar algunos puertos para dicha comunicación.
Mi recomendación es que utilices las librerías de terceros, personalmente y es la que utilice en su momento para resolver el problema, se encuentra en www.dart.com, ellos hacen librerías de todo tipo para resolver problemas de comunicación. Tal y como el que tienes actualmente.
Sin embargo si intentas hacer un chat y un controlador de tiempos de acceso para un caje internet (por poner un ejemplo), mi opinión personal es que no gastes pólvora en gorriones, simplemente utiliza una herramienta que ya resuelve este problema, si por lo contrario es otra situación, visita la dirección que te propongo, allí encontraras de todo un poco, lo mejor es que puedes bajar las librerías y utilizarlas en forma de trivial, y si te convence, entonces pagar el costo de la licencia, que la verdad se paga por si sola.
Espero esto pueda servir para resolver tu problema
saludos agdsys.
- Compartir respuesta
- Anónimo
ahora mismo