Funciones remotas, esas grandes incomprendidas

Artículos de interés para la comunidad de Velneo 6x
Avatar de Usuario
velneo
vAdmin
vAdmin
Mensajes: 246
Registrado: 09 Sep 2005, 08:55

Funciones remotas, esas grandes incomprendidas

Mensaje por velneo » 12 Abr 2012, 11:37

Las funciones remotas han supuesto una revolución en las posibilidades de la herramienta. Han simplificado algunas labores dejando de mano del servidor toda la gestión y protocolos de comunicación.

La utilidad de las funciones remotas es la comunicación/ejecución entre distintos vServers, sus posibles aplicaciones son innumerables:

Descarga de información. Por ejemplo para una primera instalación: vBase (Importación de maestros).
Integración de aplicaciones. Contabilización de las facturas de una gestión en contabilidad externa.
Conciliación de bases de datos. Distintos puntos de venta que suben los datos a un servidor común.
Validación de usuarios o licencias.

El funcionamiento técnico es muy sencillo, desde una formula podemos hacer llamada a una función remota, que este programada en otra aplicación. Para ello solo es necesario conocer el identificador de la misma, la IP del servidor, alias de la aplicación que la contiene y la contraseña de acceso remoto.

Gracias a la abstracción en el diseño de este objeto, los programadores hemos encontrado otras utilidades para las funciones remotas y es aquí donde han aparecido algunos pequeños problemas en el uso, que este artículo trata de aclarar. Me refiero al uso de funciones "REMOTAS" entre aplicaciones en un mismo servidor. Por ejemplo para la ejecución de procesos (replicación de datos) o compartir información sin necesidad de incluir las tablas de un mapa en el otro. Claro ejemplo de este último caso es el de vWeb que en la instalación del vCRM es quien publica y da acceso a todos los correos (altas, bajas y modificación) sin contar en su código con ninguna tabla referente al correo electrónico.

Existe una única norma que condiciona la ejecución de funciones remotas en servidores distintos:

Siempre que la ejecución en remoto vaya a transaccionar, ha de transaccionar la función remota ejecutada.
Esta norma se invierte en la situación de ejecutar la función remota en una aplicación del mismo servidor. Como es lógico, al utilizar una función remota en condiciones, digamos especiales, dentro de un mismo servidor, hay que tener en cuenta una serie de comportamientos también especiales.

Responder