Función remota en el mismo servidor o servidores distintos

Base de conocimiento de la plataforma de desarrollo Velneo

Moderador: vCoaches

Responder
vBdC
vGuru
vGuru
Mensajes: 2
Registrado: 11 Oct 2005, 14:22

Función remota en el mismo servidor o servidores distintos

Mensaje por vBdC » 09 Ene 2004, 01:00

Cómo ejecutar funciones remotas en el mismo servidor o en servidores diferentes

Categorías: Transacción, Compartir entre aplicaciones

Palabras clave: Error, Función remota

Enunciado:
Inicialmente carece de toda lógica la ejecución de una función remota contra el mismo servidor ya que la finalidad de las funciones remotas, es la comunicación/ejecución entre distintos servidores.

No debemos ejecutar una función remota contra un mismo servidor, pero si la función que se ejecuta remotamente no transacciona y es otra función o proceso el que transacciona lanzado a su vez desde la función original, si funcionará.

Hay que tener cuidado con este truco para la ejecución de funciones remotas dentro de un mismo servidor, ya que este sistema es incompatible con la ejecución en distintos servidores. Es decir una función remota que se ejecuta entre dos servidores distintos ha de transaccionar ella misma, siempre que en alguna de las funciones o procesos a los que llama la función origen, vaya a transaccionar.

- Ejecución de funciones remotas entre distintos servidores: Siempre que la ejecución vaya a transaccionar, ha de transaccionar la función remota ejecutada.

- Ejecución de funciones remotas en un mismo servidor(no recomendado): Nunca, la función remota llamada puede transaccionar, para poder ejecutar una transacción ha de llamar a un subproceso o subfunción que sea la que transaccione.

Desarrollo:
El motivo es que cuando se lanza la transacción primera el motor pone un semáforo en el disco, llega el momento de ejecutar la función remota, para lo cual genera una conexión vía TCP con el servidor remoto, que en este caso es el mismo; como la función transacciona, intenta poner el semáforo en el disco y, como no puede por existir ya, se produce una espera en la segunda transacción hasta que el semáforo sea quitado.

Artículos relacionados
¿Qué es una transacción?
Última edición por vBdC el 09 Ene 2004, 01:00, editado 1 vez en total.

Responder