Call us! 512-349-0334 or (877) INDUSOFT

Conectando a Base de Datos Remota en InduSoft Web Studio usando una Aplicación en SO Embebidos

Ocasionalmente existe la necesidad de que un proyecto con InduSoft Web Studio se conecte a una base de datos que no esta localizado en la misma máquina que el Runtime del Proyecto. Esto es especialmente verdad si el proyecto fue diseñado para ejecutarse en plataformas embebidas tales como Windows Embededd Compact 7. Este tipo de sistema operativo no esta diseñado con un driver o proveedor ODBC, OLEDB o ADO.net que pueda dar acceso a la base de datos directamente.Si bien hay una edición disponible de SQL Server Compact Edition que puede ser instalado y ejecutado en plataformas embebidas, no es generalmente recomendado usar esta base de datos excepto con implementaciones de recolección de datos pequeñas, ya que demasiadas lecturas y/o escrituras a esta base de datos pueden fácilmente abrumar los recursos de cualquier máquina con grandes SO embebidos, y el driver de la base de datos o gateway para esta base de datos no esta diseñado para ser lo suficientemente robusto para conversar con grandes versiones de Servidores SQL sin consumir todos los recursos de las máquinas o inclusive estar disponible para conectarse con todos.

Mas comunmente, cuando se requieren las necesidades de una base de datos para una aplicación de IWS Embebida, la(s) base(s) de datos requerida(s) es/están usualmente separada(s) en otra(s) máquina(s), especialmente cuando la aplicación esta siendo desplegada en una plataforma embebida. Lamentablemente, como se ha indicado anteriormente, ya que estos sistemas operativos no pueden acoger un driver o proveedor de base de datos ODBC, OLEDB, o ADO.Net, aquel driver debe ser alojado en un equipo diferente. Tal máquina no tiene que ser necesariamente la misma en la que esta la base de datos.

Para lograr esto poco de prestidigitación o juego de manos, un pequeño ejecutable Servidor, llamado StADOSvr.exe junto con su archivo de configuración, StADOSvr.ini, debe instalarse y ejecutarse en un equipo en el que están instalados los drivers ADO.Net, OLEDB o ODBC. Estos drivers/proveedores son proporcionados por el fabricante de la base de datos para operar con SO específicos en la máquina host. Una lista que contiene los driver y gateways de las bases de datos probadas esta ubicado en el Manual de Ayuda de InduSoft (Help Manual>>Contents>>Database Interface in Table 1). Hay muchos mas que conforman los estándares ADO.Net y MDAC (Microsoft Data Access Components) y puede trabajar sin complicaciones. Problemas específicos relacionados con la conformidad de base de datos propietarias MDAC deberían ser discutidos con el fabricante de la base de datos y el driver/proveedor.

El StADOSvr.exe es básicamente una interfaz que conecta los drivers o proveedores de base de datos ADO.Net, OLEDB u ODBC a Alarmas, Eventos y Tendencias en la base de datos de Tags de un proyecto con IWS. Esto esta ilustrado en la Figura 1 y en el Manual de Ayuda (Help Manual>>Contents>>Database Interface)

Figura 1: Como la Aplicación Studio usa StADOSvr.exe y Gateway de Base de Datos para conectarse a base de datos remotas

La conexión entre la StADOSvr.exe y la Aplicación InduSoft es vía TCP/IP y puertos específicos pueden ser configurados como sea necesario, sin embargo el puerto por defecto es 3997. Normalmente, StADOSvr.exe es ejecutado como una tarea en segundo plano en la máquina local donde esta el proyecto (Figura 2). Con el objetivo de usar el driver/proveedor localizado en una máquina diferente, simplemente use la dirección IP de la máquina que aloja el driver/proveedor (en lugar de la que esta por defecto 127.0.0.1, el cual es de la máquina local) en la Configuración de la Base de Datos del Proyecto (Figura 3).

Figura 2: Ventana de Configuración de Base de Datos Avanzada mostrando la dirección IP que apunta a la máquina local

Siguiente, copie y pegue los archivos StADOSvr.exe e .ini (ubicalos en la carpeta \Bin del programa instalado de IWS) en una carpeta accesible en la máquina host y ejecute el ejecutable manualmente. La ejecución al encender la PC puede realizarse automaticamente colocando un acceso directo de este en la carpeta de startup (inicio) de la máquina o una línea de comandos el cual incluye un número de puerto diferente. Vea el Manual de Ayuda para información mas detallada.

La aplicación StADOSrv.exe escuchará por el puerto 3997 de la máquina local (Figura 2) para la aplicación Web Studio al cual se contactará, entonces una conexión a la base de datos comienza con la configuración del driver/proveedor. Para configurar la aplicación y buscar el Gateway de Base de Datos en una máquina diferente ingrese el nombre de Host o dirección IP de la máquina (Figura 3). Recuerde abrir el puerto 3997 en el firewall de la máquina. Si no tiene un servidor DNS local disponible, entonces el nombre de host no trabajará y usted deberá usar la dirección IP.

Figura 3: Ventana Avanzada que muestra la nueva ubicación del Gateway de Base de DAtos STaDOSvr

Seleccione un Proveedor de la lista y luego ingrese el nombre del servidor y credenciales. Elija una base de datos en la máquina (Figura 4).

Figura 4: Elija un Proveedor (en este caso, el Servidor SQL OLE DB Provider) y añada información del servidor remoto y base de datos

Si todo ha sido configurado correctamente, la Pantalla de Log de STADOSvr mostrará la información, sentencias SQL (Si esta configurado) y cualquier error pasado desde el driver. Las Alarmas en el Ejemplo de Aplicación Alarm (disponible aquí: http://www.indusoft.com/blog/2013/06/26/indusoft-web-studio-alarming-examples-application/) se guardarán en la base de datos del Servidor remoto (Figura 5) usando el gateway localizado en una máquina separada (Figura 6).

Figura 5: El Servidor de Base de Datos Remoto

Figura 6: La máquina con aplicación runtime AlarmTest y la máquina que aloja el Gateway STADOSvr. El proveedor (es decir, SQL Server OLE DB driver en este ejemplo) configurado en el proyecto IWS debe existir en la máquina hosting.

Mayor información adicional de todos los conceptos disctuidos en este articulo y mayores instrucciones de configuración detallada pueden ser encontrados en las siguientes áreas del Manual de Ayuda:

Help Manual>>Contents>>Database Interface y también en el link inferior para abrir: Help Manual>>Contents>>Database Interface>>Database Configuration. Baje a “Studio Database Gateway”.

La continuación de este tema puede ser encontrado en: http://www.indusoft.com/Support/Forums/aft/34

Comments are closed.