Blog

Cómo hacer y usar funciones remotas en Velneo V7

Desde la versión 7.1 de Velneo V7 contamos con las funciones remotas. Básicamente se trata de un objeto función que podemos llamar desde otro proyecto instanciado en el mismo o distinto Velneo vServer V7.

Las posibilidades que nos dan las funciones remotas son muy amplias. Por ejemplo podríamos usarlas para validación de licencias, logs remotos, replicación, monitorización, etc.

Vamos a mostrar un ejemplo muy simple donde tenemos una función remota en un proyecto. Este proyecto contiene una tabla de entidades con un campo que indica si esa entidad está activa. La función se encarga de actualizar el valor de ese campo para una determinada entidad.

Lo primero que hacemos es crear la función indicando los parámetros de la misma. Para que la función pueda llamarse desde otra instancia (o sea, que sea función remota), hay que marcar Ejecutable en remoto en la propiedad Estilos. Lo vemos en la imagen junto con las dos variables locales que van a actuar como parámetros de la misma (hacer clic para ampliar las imágenes):

1-funcion Cómo hacer y usar funciones remotas en Velneo V7 1

Como comentamos antes, la función en sí es muy sencilla. Sólo actualiza un campo. Lo único significativo es que usamos la instrucción Set dato retorno del proceso para indicar si los cambios se han realizado satisfactoriamente.

Cuando se crea la instancia para este proyecto, hay que asignarle un identificador que después usaremos para poder hacer las llamadas. Lo vemos seleccionado en esta imagen.

4-funcion

Una vez que tenemos la parte correspondiente al proyecto que va a ser llamado, lo que nos queda es crear otro proyecto y un proceso (o cualquier otro objeto que contenga instrucciones) para incluir la llamada a la función remota creada.

El proceso quedaría de la siguiente manera:

3-funcion

La clave está en la linea Set (ok, rfc:…..). Ahí es donde se produce la llamada a la función remota. Los parámetros del comando rfc son:

rfc:idFuncion(dominioIP, idInstancia, usuario, contraseña, parametros)

rfc: Acrónimo de Remote Function Call. Es un dato fijo. Es un prefijo que indica al calculador de fórmulas que se trata de una llamada a una función remota.

idFuncion: Identificador de la función a ejecutar.

dominioIP: Dominio o IP de la máquina donde está instalado el Velneo vServer V7 donde se encuentra instanciado el proyecto donde la función ha sido declarada. Debe ir precedido del esquema vatp:// y, si el puerto es distinto del 690, seguido de dos puntos (:) y el número de puerto.

idInstancia: Identificador de la instancia a la que queremos acceder. Para conocer el identificador de la instancia usaremos Velneo vAdmin V7 haciendo doble clic sobre la definición de instancia:

usuario: Nombre de un usuario declarado en Velneo vServer V7 que tenga permisos de acceso a la instancia.

contraseña: Del usuario anterior. Si ese usuario no tiene contraseña este parámetro será resuelto con “”.

parametros: Si la función tiene declarado más de un parámetro, irán separados por comas.
NOTA: El número máximo de parámetros soportados por una función es de 10.

En este caso las instancias están en el mismo Velneo vServer, pero las instancias de uno y otro proyecto podrían estar en Velneo vServers V7 distintos y remotamente situados.

10 thoughts on “Cómo hacer y usar funciones remotas en Velneo V7

  1. Sentimos informarte que no está disponible ningún ejemplo de uso de funciones remotas en el Catálogo de Velneo Open Apps.

    Si te parece interesante, puedes postear una sugerencia al respecto en el foro de Ideas para que la comunidad lo valore y lo vote.

    Un saludo.

  2. Hola, José Antonio:

    La captura de pantalla era la misma en ambos casos, por eso no veías la diferencia. Ya hemos actualizado el post con las capturas de pantalla adecuadas.

    Feliz año a todos.

Dejar un comentario