Ver Mensaje Individual
  #1  
Antiguo 19-09-2008
maurogambo maurogambo is offline
Registrado
 
Registrado: jul 2004
Posts: 6
Reputación: 0
maurogambo Va por buen camino
Problema con aplicacion multicapa

Hola:

Estoy implementando una aplicacion multicapa con Delphi 2007. Bien, hasta ahora he hecho lo siguiente:

1. Primero, diseñé un servidor de aplicaciones DCOM, creando una aplicación VCL y utilizando el Modulo de Datos Remoto (Remote Data Module) con la idea de ejecutarlo en una maquina remota que será utilizada como servidor. Utilicé los componentes de la paleta Interbase para conectar con una base de datos Firebird 2.0, que se encuentra en la misma maquina servidora, lo cual se realizó sin ningún problema. (Componentes utilizados: TIBDatabase, TIBTransaction, TIBQuery y TDataSetProvider).

2. A continuación, creé la aplicación cliente con los componentes TClientDataSet y TDCOMConnection y los vinculé.

Ahora bien, para que TClientDataSet lea los datos del TDataSetProvider (que se encuentra en el servidor remoto), es necesario configurar el TDCOMConnection correctamente y definir las propiedades "ServerName" y "ServerGUID" (ésta última se obtiene automáticamente al configurar la primera). Pues bien, según he leido en la ayuda de Delphi, es requisito indispensable registrar la aplicacion servidor en Windows, para que el cliente pueda conectarse correctamente. En versiones anteriores a Delphi 2007, la aplicación se registraba en la computadora local cuando se corría en programa, en cambio, ahora, la aplicacion solo se registra cuando se coloca como parámetro '/regserver'.

Como prueba, registré la aplicacion servidora en la misma computadora donde corrí el programa cliente, el cual se conectó sin inconvenientes.

El problema se presenta cuando instalo el servidor de aplicaciones DCOM en la máquina remota donde esta la base de datos FireBird. El servidor funciona perfectamente, sin embargo, cuando intento conectar elcliente desde otra computadora me aparece el siguiente error en la aplicacion cliente: 'El servicio RCP no esta disponible'. En la propiedad 'ComputerName' del componente TDCOMConnection he puesto el nombre de la máquina remota.

Yo creo que el error se debe a que el servidor DCOM no esta registrado correctamente en la máquina cliente, pues la ayuda de Delphi dice exactamente lo siguiente (traducido):

Cita:
TDCOMConnection utiliza DCOM para establecer la conexión inicial entre la aplicación cliente y un servidor de aplicaciones remotas. Para ello, el servidor de aplicaciones debe estar registrado en la máquina cliente.


Quisiera que alguien me dijera cómo se registra un servicio remoto en una maquina windows (XP/Vista), o me indicaran otra solucion al problema.

Si me pueden ayudar se los agradecería.
Responder Con Cita