Está en la página 1de 7

Aplicaciones tecnológicas 52

Desarrollo de una aplicación web


para un sistema de información
en tiempo real
Alfredo Espinosa R., Brisa M. Silva F. y Agustín Quintero R.

Describe una técnica para el desarrollo de una aplicación web para un sistema de información
en tiempo real, que permita la conexión remota y concurrente de diferentes equipos en la red
a la base de datos histórica del sistema, sin necesidad de que se instale ningún componente de
software en el equipo remoto del usuario que realiza la consulta.

Resumen

E
n este artículo se describe una técnica para el desarrollo de una aplicación web
para un sistema de información en tiempo real, que permita la conexión remota
y concurrente de diferentes equipos en la red a la base de datos histórica del
sistema, sin necesidad de que se instale ningún componente de software en el equipo
remoto del usuario que realiza la consulta.

Se define y establece la arquitectura de software que permite el desarrollo de la aplica-


ción web, las etapas de análisis, el funcionamiento de la tecnología a utilizar, así como el
diseño, desarrollo e implementación de la aplicación.

Finalmente, se describen los logros obtenidos con el desarrollo de la aplicación web para
un sistema de información en tiempo real.

Introducción

Un sistema de información en tiempo real se define


como un Sistema Informático que interacciona
constantemente con un medio físico, por el cual
está recibiendo datos de campo para procesarlos y
emitir resultados (A. Burns y A. Wellings, 1996).

En el área de Supervisión de Procesos del IIE se


están llevando a cabo las pruebas en fábrica, del
Sistema de Información para la supervisión y diag-
nóstico de equipos principales de centrales de
Generación Termoeléctricas, el cual es un sistema
en línea con adquisición de datos del proceso en
tiempo real para supervisión, registro histórico,
cálculo de indicadores de comportamiento, diag-
nóstico y emisión de recomendaciones de manteni-
miento de los equipos monitoreados (Espinosa, A y
Quintero, A, 2005).

El Sistema está basado en la tecnología o herra-


mienta de desarrollo de software LabVIEW 8.0 de la
empresa National Instruments.
53 Boletín IIE, abril-junio del 2007

La base de datos histórica del sistema se encuentra diseñada e implementada con la


tecnología nativa de CITADEL versión 5 y el módulo que la soporta y controla en ­LabVIEW
es el “Datalogging and Supervisory Control” (DSC). Este módulo contiene funciones que
permiten controlar, transmitir, procesar y almacenar la información adquirida y proce-
sada, así como controlar el acceso y consulta de la información que se encuentran alma-
cenada. Adicionalmente se incluye un controlador ODBC para acceso estándar a datos
(NIC, 2006).

Definición del problema Figura 1. Esquema de operación de la tecnología


Web de LabVIEW 8.0.

La tecnología del módulo DSC y CITADEL, en la que está definida la


base de datos histórica del sistema, requiere de licencias de ejecución
de software por cada cliente instalado con acceso a datos históricos.
Asimismo, se requiere instalar en cada cliente las utilerías RunTime de
LabVIEW y RunTime del módulo DSC.

La tecnología de LabVIEW 8.0 permite el acceso web a sus aplica-


ciones en ejecución de forma transparente (instalando un PlugIn en
el Internet Explorer de forma remota y sin interacción del usuario),
pero este acceso es restringido, ya que permite un máximo de 4
usuarios concurrentes con permiso de “sólo lectura” (sólo uno de los
cuatro usuarios puede accionar los controles en pantalla). En la Fig. 1
se muestra un esquema del funcionamiento de la tecnología web de
LabVIEW.

Objetivo

Diseñar una aplicación web que permita la conexión a la base de datos histórica del
sistema de información, con el fin de que varios usuarios simultáneos puedan consultar
datos y generar reportes desde equipos remotos, sin necesidad de instalar ningún
componente de software.

Descripción y análisis de la base de datos histórica

La base de datos CITADEL es usada de forma nativa por el módulo DSC de ­LabVIEW, que
se encarga de controlar el manejo de los datos adquiridos y almacenados por las aplica-
ciones desarrolladas en esta plataforma.

Aunque es posible utilizar como medio de almacenamiento cualquier base de datos


comercial, CITADEL está funcionalmente diseñada y optimizada en desempeño, para
la operación con datos en tiempo real, además que el módulo DSC provee una gran
variedad de funciones para su operación y control (NIC, 2006).

Adicionalmente, el módulo DSC incluye un controlador para acceso estándar a datos


tipo “Open DataBase Connectivity” (ODBC) que contiene comandos y funciones espe-
ciales para recuperar, manipular y analizar datos históricos automáticamente.

Este controlador ODBC permite a las aplicaciones de terceros, comunicarse con la base
de datos histórica del servidor, recuperar datos y hacerlos llegar en un formato estándar
hasta la aplicación que ejecuta la consulta. Para que esto se lleve acabo, es indispen-
sable la instalación del módulo DSC de LabVIEW o al menos su utilería RunTime en cada
cliente que realice consultas (local o remotamente), ya que es la única manera de que se
instale el manejador ODBC para los clientes o aplicaciones que lo requieran.
Aplicaciones tecnológicas 54

Arquitectura propuesta

Un Componente COM+ es un elemento fundamental de la tecnología ActiveX de


­Microsoft, que permite que diferentes lenguajes sean compatibles en entorno de red
y proporciona un conjunto de atributos que especifican los servicios requeridos para la
ejecución de un objeto (Wayne, 2006).

Existe una técnica propuesta por la empresa National Instruments que permite realizar
la conexión a la base de datos CITADEL 5, sin tener que instalar el módulo DSC en cada
equipo que requiera realizar consultas. Esta técnica consiste en una DLL tipo COM+
de “Aplicación Servidor” con el servicio MTS habilitado, desarrollada y compilada en
­Microsoft Visual Basic 6.0 y soportada por Windows 2000 y XP (NIC, 2006).

Este componente de servidor utiliza el acceso a datos ODBC instalado en el mismo


servidor (se requiere que al menos el servidor tenga el módulo DSC) y a través de ADO
(ActiveX Data Object) recupera información de la base de datos CITADEL y los envía a los
clientes o aplicaciones remotas que los requieran.

Con esta arquitectura se tiene el inconveniente de que es necesario instalar en los


clientes remotos, la versión “Application Proxy” (componente del lado cliente) del mismo
componente COM+, por lo que ya no se cumple con el requerimiento establecido de
que no debe ser necesario instalar ningún componente de software en los clientes

Esta técnica permite que aplicaciones en clientes remotos puedan hacer uso del compo-
nente COM+ instalado en el servidor, de modo que una aplicación en Windows pueda
encontrar las mismas clases definidas local o remotamente para crear una instancia en
su propio espacio de memoria.

La arquitectura que se propone para la aplicación web, consiste en desarrollar una apli-
cación en ASP.NET que se instale en el mismo servidor que tiene el módulo DSC (para
tener acceso al manejador ODBC) y que sirva de enlace entre los clientes remotos y el
componente COM+ del servidor instalado.

De esta forma, cualquier usuario en la red con una computadora con Microsoft Internet
Explorer (IE) podrá tener acceso a la información histórica almacenada por el Sistema de
información, sin necesidad de instalar ningún componente de software en el cliente.

La Fig. 2 muestra la operación de la arquitectura propuesta. Cuando


un método del componente COM+ es invocado por un cliente remoto
Figura 2. Arquitectura propuesta. desde una aplicación web, primero envía como parámetros el “Data
Source Name” (DSN), que especifica el nombre de la base de datos
y después cadena SQL a consultar, asimismo, retorna un objeto
Recordset tipo ADO con los resultados de la consulta vía el estándar
ODBC. De esta manera, la DLL del componente COM+ del servidor es
la encargada de llevar a cabo la petición a la base de datos y retornar
los resultados. Una vez terminada la consulta, cierra las conexiones
con la base de datos para optimizar el funcionamiento de la red.

Con esta arquitectura es completamente factible llevar a cabo


consultas adicionales a diversas bases de datos, incluso de tecnolo-
gías diferentes.

Para el caso del Sistema de Información, se requiere acceso adicional


a una base de datos en Microsoft Access que contiene la configura-
ción dinámica de variables adquiridas, procesadas y almacenadas, así
como de configuración de usuarios para verificar en línea los privile-
gios de acceso asignados.
55 Boletín IIE, abril-junio del 2007

Tecnología

La DLL originalmente proporcionada por National Instruments está desarrollada y


compilada en Visual Basic 6.0. Para que se permita la interacción adecuada con la tecno-
logía seleccionada para la aplicación web (ASP.NET) es necesario adecuarla y actualizarla
al lenguaje Visual Basic.NET.

Básicamente, el procedimiento de actualización consiste en abrir el proyecto original


en el editor de Visual Studio.NET, automáticamente se detecta la plataforma en que
fue desarrollado, se copian las clases y funciones que lo componen y se crea un nuevo
proyecto actualizando las funciones de la nueva tecnología .NET. Adicionalmente se
detecta si el proyecto es un ActiveX y se ofrece la opción de crearlo y registrarlo en la
biblioteca de controles COM, como un archivo DLL.

Este procedimiento crea un ensamblado .NET que encapsula la funcio-


Figura 3. Estructura del archivo de ensamble de un nalidad del componente, creando el espacio de nombre adecuado
componente COM+. que contiene todo lo necesario para generar componentes tipo
COM+.

En el archivo AssemblyInfo.cs que se crea, se encuentran los atributos


indispensables para que la aplicación pueda funcionar. El primero
especifica el tipo de aplicación o tipo de biblioteca. El segundo es la
manera como se accede al control de la aplicación. El tercero es el
GUID (Global Unique IDentifier), es un conjunto de números que cons-
tituyen un identificador único global, es decir, que tiene la particu-
laridad de que es imposible (al menos en teoría) generar otro idén-
tico, aunque usemos el mismo algoritmo de la aplicación. El cuarto
es el nombre de la aplicación con el que se identifica el componente
COM+. Y el último atributo describe al componente (Wayne, 2006).

Plataforma de desarrollo

A diferencia de los modelos de programación web anteriores, la plataforma ­­ Microsoft.


NET ofrece una serie de ventajas que permiten un mejor desarrollo de este tipo de
aplicaciones.

Esta plataforma proporciona todas las herramientas necesarias para el desarrollo de apli-
caciones web en forma distribuida entre las que se encuentran Microsoft.NET ­Framework
y Visual Studio.NET.

Una de las principales características de .NET Framework es que su entorno de ejecución


se basa en “Common Language RunTime” (CLR), el cual permite desarrollar aplicaciones
en ASP.NET y así ejecutar aplicaciones en el servidor, con clientes distribuidos en internet
o intranet. Asimismo, evita conflictos de versiones y proporciona seguridad de ejecución
en la red.

ASP.NET es un componente de .NET Framework, es un lenguaje de programación basado


en CLR que se utiliza en un servidor para generar aplicaciones web y puede contener
programas escritos en cualquier lenguaje soportado por .NET Framework, como Visual
Basic.NET, C#, JScript.NET, entre otros. ASP.NET es un lenguaje completamente orien-
tado a objetos. Así pues, como ASP.NET es independiente del lenguaje, puede elegirse
el lenguaje de programación que mejor se adapte a la aplicación o bien, dividir la aplica-
ción en varios lenguajes.

Una de las principales características que ofrece ASP.NET es que compila desde el código
nativo en el servidor, por lo que no es necesario que el cliente o navegador soporte esta
tecnología, lo que proporciona independencia a los clientes o usuarios remotos.
Aplicaciones tecnológicas 56

Aplicación web
Figura 4. Diseño de la aplicación Web.

Para iniciar los servicios de ASP.NET, se requiere de un servidor web


como el “Internet Information Server” (IIS) que permite configurar el
directorio virtual, motor de arranque de la aplicación web tanto local
como remotamente, así como ejecutar los servicios de la DLL COM+ y
activar el .NET Framework que normalmente se encuentra instalado
como parte del sistema operativo.

Para utilizar un componente COM en la plataforma.NET, sólo es


necesario agregar una referencia al componente y entonces.NET
Framework será el responsable de la interacción entre el código y los
componentes.

Para llevar a cabo la conexión a la base de datos, en el servidor se crea


un DNS por medio del cual se indican los parámetros, la ruta de acceso
y las características. En el caso del Sistema de Información descrito,
el servicio para la base de datos CITADEL es “National ­ Instruments
Citadel 5 database”. Para la consulta de los datos se utiliza el motor
de Microsoft SQL Server mediante los estándares de acceso a datos
ODBC y OLEDB.

Figura 5. Configuración y Administración de Componentes COM+ Posteriormente se diseña y crea la interfaz gráfica de la aplicación
­(Servicios de Componentes).
web. La Fig. 4 muestra el ejemplo para el Sistema de Información.

La Fig. 5 muestra las aplicaciones COM+ que se encuentran en la


configuración y administración local de Servicios de Componentes
COM+ del servidor, donde se puede ubicar a la DLL funcionando cada
vez que es invocada local o remotamente desde un equipo cliente, a
través de los objetos de la interfaz de la aplicación.

Validación

LabVIEW optima el espacio en disco del registro histórico, por lo que


es necesario interpretar los resultados de una consulta en un período
determinado.
Las pruebas para verificar los datos consultados en la aplicación web
consideran las siguientes reglas:
• Búsqueda de valores nulos al inicio. El sistema debe mostrar un
valor “NaN” que significa que no hay datos registrados en ese
lapso.
• Búsqueda de valores nulos en registros intermedios. El sistema
debe mostrar un valor “NaN”.
• Búsqueda de valores al final. Si no se encuentran registros al final
de la consulta, se aplica una extrapolación del último valor regis-
trado en la base de datos y se repite hasta completar el total de la
consulta.

Resultados obtenidos

Para el Sistema de Información, la aplicación web desarrollada permite:


• Validar a los usuarios para verificar los privilegios asignados.
• Seleccionar las variables a consultar por grupo o por tipo de equipo de la Central
Termoeléctrica.
• Seleccionar el intervalo de tiempo de consulta.
57 Boletín IIE, abril-junio del 2007

• Realizar consultas a la base de datos histórica del sistema de información. Estas


consultas pueden ser por ejemplo, los datos adquiridos hasta un minuto antes de la
hora actual.
• Generar y mostrar al usuario reportes tabulares para su análisis.
• Exportar la información consultada a formato Microsoft Excel.
• Abrir directamente en el navegador la información histórica consultada.
• Guardar la información en el directorio que se elija directamente desde la aplicación,
aún sin abrir el archivo.

Conclusiones

El desarrollo de la aplicación web se llevó a cabo de manera eficiente, con el uso de los
componentes COM+ y la tecnología Visual Studio.NET, debido a que los componentes
COM+ facilitan el manejo o transacciones de datos en la red, proporcionando seguridad
al establecer restricciones de acceso a la información que es transmitida y evitan el
consumo de recursos mientras están en operación por medio del mecanismo JIT (activa-
ción justo a tiempo) que hace que estén activos sólo cuando algún método los solicita.

La tecnología y la arquitectura propuesta permiten el uso de la aplicación web a múlti-


ples usuarios de forma concurrente, realizando consultas a la base de datos histórica del
sistema, sin tener que instalar ningún componente de software en los equipos de los
usuarios y sin generar ningún conflicto entre ellos.

Debido a que todos los procesos son ejecutados en el Servidor, los usuarios sólo invocan
las funciones por medio de los objetos de la interfaz gráfica de la aplicación web, que de
igual manera se encarga de visualizar los resultados.

Referencias
A. Burns y A. Wellings. Real-time Systems and their Programming Languages. Addison Wesley. 1996.

Wayne S. Freeze Visual Basic Developer’s Guide to COM and COM+. 2006.

Alfredo Espinosa Reza, Agustín Quintero Reyes Sistema de adquisición, procesamiento y presentación
de datos. Gerencia de Supervisión de Procesos, IIE, Julio, 2005.

National Instruments Corporation, Citadel 5 Remote Database Access Using COM+ and ADO. (Obte-
nido el 15 junio de 2006).

http://zone.ni.com/devzone/conceptd.nsf/webmain/725A6C3843F13C8786256EA600633724

National Instruments Corporation LabVIEW Dataloggin and Supervisory Control Module Developer
Manual. (Obtenido el 16 de junio de 2006).

http://digital.ni.com/manuals.nsf/websearch/E78D9071D31BBF7086256D2C0068FBE3

Visual Studio .NET Introducción a la plataforma Microsoft Visual Studio .NET. (Obtenido el 22 de junio
de 2006).

http://www.willydev.net/descargas/Cursos/vbnet/index.html

Alfredo Espinosa Reza


Ingeniero Mecánico-Electricista por la Universidad Nacional Autónoma de
México en 1994. Desde 1995 se desempeña como investigador de la Gerencia
de Supervisión de Procesos (GSP), desarrollando e integrando sistemas de
información en tiempo real para centrales generadoras de energía eléctrica,
centros de control de distribución e industrias afines. Es asesor e instructor de
cursos para desarrollo de sistemas basados en tecnología de componentes
en plataformas visuales y ha sido catedrático en la Universidad Autónoma del
Estado de Morelos y la Universidad del Sol.
Aplicaciones tecnológicas 58

Ha colaborado en proyectos de sistemas de información en tiempo real, adqui-


sición de datos, tecnologías de información e integración de sistemas multipla-
taforma para clientes como la Comisión Federal de Electricidad (CFE), Pemex,
Caminos y Puentes Federales (CAPUFE) y Luz y Fuerza del Centro (LyFC).
Ha publicado artículos técnicos en diversos foros nacionales e internacionales,
así como en las revistas internacionales “Automática e Instrumentación” y
“Engineering Intelligent Systems” de la editorial CRL Publishing.
Es co-autor del software registrado “Sistema EMPC”, instalado en subestaciones
y centros de distribución de LyFC, así como de la interfaz de datos multipla-
taforma para sistemas de información en tiempo real, instalada en la Central
Nucleoeléctrica de Laguna Verde.
Actualmente es el jefe del proyecto para el desarrollo de un Simulador del
Sistema Eléctrico de Distribución, para centros regionales de control de distri-
bución de la CFE.
aer@iie.org.mx

Brisa Marisol Silva Flores


Licenciada en Informática por la Universidad Autónoma del Estado de Morelos
(UAEM) en 2006, obteniendo mención honorífica. En el año 2006 desarrolló
una estancia de Adiestramiento en Investigación Tecnológica en el Instituto
de Investigaciones Eléctricas, en la Gerencia de Supervisión de Procesos con
el tema “Diseño gráfico y desarrollo del módulo web de un sistema en tiempo
real, para diagnóstico de equipos”.
De agosto de 2006 a mayo de 2007, colaboró en la Gerencia de Supervisión
de Procesos con la especificación funcional, diseño y pruebas prototipo de
una interfaz de datos para extracción y acondicionamiento de la información
adquirida y generada por los dos sistemas SCADA, del centro de control de
distribución de la Zona Tampico de la División de Distribución Golfo Centro
de la Comisión Federal de Electricidad. La interfaz de datos está basada en el
protocolo DNP 3.0 tipo serial y tipo TCP/IP.

Agustín Quintero Reyes


Ingeniero Electrónico en Instrumentación, egresado del Instituto Tecnológico
de Ciudad Guzmán en 1987. Obtuvo el grado de Maestro en Ciencias de la
Electrónica, con la especialidad en Control en el Cenidet, en 1990, año en el
que también ingresó a la Gerencia de Supervisión de Procesos del IIE, donde
ha trabajado principalmente en el área de Desarrollo e Integración de Sistemas
para Centrales Generadoras de Energía Eléctrica. Ha dirigido proyectos de
especificación, diseño, desarrollo y/o evaluación de sistemas para la automa-
tización de procesos industriales. Llevó a cabo el desarrollo e implantación
de un sistema inteligente de ayuda para la operación de unidades termoeléc-
tricas, en el cual incursionó en el área de inteligencia artificial para el desarrollo
de sistemas basados en conocimiento.
aqr@iie.org.mx

También podría gustarte