• Publicidad

Llamar a una función de otra máquina

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Llamar a una función de otra máquina

Notapor javierg » 2007-01-15 07:19 @346

Muy buenas, otra dudilla. Tengo 2 maquinas, digamos maquina1 y maquina2.

Desde maquina1 quiero llamar a un script que hay en maquina2 y que se ejecute en maquina2. Digamos que este script se llama script2.pl

¿¿ Cómo podría hacer esta llamada ??
javierg
Perlero nuevo
Perlero nuevo
 
Mensajes: 48
Registrado: 2006-10-17 05:26 @268

Publicidad

Notapor explorer » 2007-01-15 08:01 @376

Pues... de varias formas... desde un CGI hasta usando un sistema de llamadas de procedimientos remotos, como el módulo Net::RMI de nuestro compañero Perl User.

También puedes usar SOAP. Todo depende del tipo de servidor que puedas instalar en maquina2.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor javierg » 2007-01-15 09:04 @419

BUenas, estaba mirando lo de Net::RMI, y no lo veo por el CPAN, por lo que voya optar por utilizar CPAN ( mas que otra cosa por que el cliente lo ve mejor , y el es el que manda ).
Lo que llamamos maquina2 es una Sun.
Dentro de Soap, veo que se tiene muchos modulos, cual me descargo ??
javierg
Perlero nuevo
Perlero nuevo
 
Mensajes: 48
Registrado: 2006-10-17 05:26 @268

Notapor javierg » 2007-01-15 09:10 @423

he visto SOAP::LITE


use SOAP::Lite;
print SOAP::Lite
-> uri('http://www.soaplite.com/Temperatures')
-> proxy('http://services.soaplite.com/temper.cgi')
-> f2c(32)
-> result;

no hace falta que contesteis, me voy a pegar un poco con el, a ver si consigo algo
javierg
Perlero nuevo
Perlero nuevo
 
Mensajes: 48
Registrado: 2006-10-17 05:26 @268

Notapor explorer » 2007-01-15 09:44 @447

Hay algunos hilos sobre SOAP también en este foro...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Perl user » 2007-01-15 10:04 @461

O utilizando mi módulo Net::RMI (que está terminado pero aun no termino los test cases para subirlo a CPAN ).

La idea detrás pues, es un simple RPC (Remote Procedure Call), ya sea utilizando Web Services (como el ejemplo que te proporcionaron con SOAP), o utilizando alguna biblioteca existente sobre RPC/RMI en CPAN.

Mas información sobre Net::RMI podrás verlo en mi blog, o con gusto te proporciono la versión que tengo para que la pruebes.

Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor javierg » 2007-01-15 10:07 @463

BUenas otra vez,
he estado mirando esto de SOAP, y la impresión que me ha dado, es que esta mas bien diseñado para un entorno web. NO SÉ si es exactamente lo que estoy buscando. No utilizo nada de ese entorno.

Intento explicar un poco mejor lo que busco.
Pongamos que estoy en maquina1. Desde aquí quiero lanzar un script que está en maquina2, por ejemplo /javierg/prueba.pl.
Supongamos que este script escribe "hola" en /etc/nombres. Bien, cuando me conecte a maquina2 y lea /etc/nombres quiero que se vea "hola".

Lo referido a Net::RMI,hay algun sitio donde venga ayuda de esto, me refiero, a como utilizarlo, como declarar las conexiones ...
javierg
Perlero nuevo
Perlero nuevo
 
Mensajes: 48
Registrado: 2006-10-17 05:26 @268

Notapor Perl user » 2007-01-15 10:39 @485

javierg escribiste:BUenas otra vez,
he estado mirando esto de SOAP, y la impresión que me ha dado, es que esta mas bien diseñado para un entorno web. NO SÉ si es exactamente lo que estoy buscando. No utilizo nada de ese entorno.

Intento explicar un poco mejor lo que busco.
Pongamos que estoy en maquina1. Desde aquí quiero lanzar un script que está en maquina2, por ejemplo /javierg/prueba.pl.
Supongamos que este script escribe "hola" en /etc/nombres. Bien, cuando me conecte a maquina2 y lea /etc/nombres quiero que se vea "hola".

Lo referido a Net::RMI,hay algun sitio donde venga ayuda de esto, me refiero, a como utilizarlo, como declarar las conexiones ...


SOAP es un protocolo que fué especialmente diseñado para trabajar sobre el protocolo HTTP, no necesariamente está atado a él, pero si diseño si fué pensado en él. Así que efectivamente si quieres trabajar con SOAP o XML-RPC tendrá que ser sobre HTTP.

La ventaja de este protocol es la portabilidad, y parte de la flexibilidad ofrecida es que trabaja con intercambio de XML y por lo tanto es mas legible para nosotros.

Pero en efecto, dudo mucho que lo que necesites es montar una infraestructura para correr SOAP.

Y tal parece que tampoco es Net::RMI lo que neceistas, pero Net::RMI si necesita menos recursos que SOAP.

Mira antes de seguir mencionando Net::RMI, me gustaría concluir que lo que quieres es simplemente ejecutar un script en una máquina remota, y no una función como tal. O al menos no llamar una función remota desde un script local. Esa es mi percepción.

Si lo que quieres es eso, llamar a un script en otra máquina, en que caso que sea una máquina con acceso sobre SSH podrás utilizar a el mismo para hacerlo, o algún Telnet. O si no quieres utilizarlo directamente podrás hacerlo desde Perl con Net::Telnet y/o Net::SSH.

Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor javierg » 2007-01-15 10:43 @488

lo que quiero hacer es que desde un script local de una maquina1 llamar a un script de maquina2 y que guarde los resultados en maquina2
javierg
Perlero nuevo
Perlero nuevo
 
Mensajes: 48
Registrado: 2006-10-17 05:26 @268

Notapor javierg » 2007-01-15 10:49 @492

El problema que veo en utilizar lo de Telnet y SSH, es que cuadno lo he utilizado, los resultados me los guardaba en la máquina local de donde lo lanzaba.

Es decir si es script lo lanzaba desde maquina1, los resultados se me almacenaban en maquina 1
javierg
Perlero nuevo
Perlero nuevo
 
Mensajes: 48
Registrado: 2006-10-17 05:26 @268

Siguiente

Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados