Logo Studenta

CatWeb Tools (TE-00-0000-DES-S852-SP-Rev10)

¡Este material tiene más páginas!

Vista previa del material en texto

TELVENT 
TELVENT 
Tamarguillo, 29 
Sevilla, 41006 Spain 
 
Teléfono: +34 95 492 09 92 
Fax: +34 95 492 39 21 
E-mail: info@telvent.abengoa.com 
TELVENT 
10333 Southport Dr. S.W. 
Calgary, AB, Canada T2W 3X6 
 
Teléfono: +1 (403)253.8848 
Fax: +1 (403)259.2926 
E-mail: info.canada@telvent.abengoa.com 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CATweb Tool - Manual del Desarrollador 
 
Revisión Documento 1.0 
© Copyright 2006 por Telvent 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Rev. 1.0 (06-10-2006) 
TELVENT 1 
CATweb Tool - Manual del Desarrollador 
Control de Revisiones 
 
Rev Fecha Descripción Realizado 
1.0 06-10-2006 Edición inicial del Manual del 
desarrollador CATweb Tool 
Rafael Mata Ordóñez 
Desarrollo Software 
 
José Antonio González 
Castro 
Desarrollo Software 
 
Juan Antonio Serrano de 
Dios 
Responsable Dpto. 
Desarrollo Software 
Información Relevante Para el Usuario 
Debido a la variedad de usos del producto, los responsables de la aplicación y uso de este 
equipo de control deberán tomar las medidas oportunas para asegurar el cumplimiento de 
todos los requerimientos de seguridad y prestaciones de cada aplicación. Los requerimientos 
hacen referencia a las leyes aplicables, regulaciones, códigos y estándares. 
A lo largo del manual se intercalan algunas notas para alertar al usuario del equipo sobre 
algunas circunstancias específicas. Las notas se resaltan con un icono en el margen izquierdo 
bajo dos categorías: 
 
 
Atención: Identificador de información sobre prácticas o circunstancias que pueden 
conllevar daños personales o del equipo. 
 
 
 
Muy importante: Identificador de información sobre prácticas o circunstancias que pueden 
originar un mal funcionamiento del equipo. 
Las ilustraciones, cuadros de diálogo, modelos de programación y los ejemplos mostrados en 
este manual han de ser entendidos únicamente como ejemplos. Al existir variables y 
requerimientos dependientes de cada instalación particular, Telvent declina cualquier 
responsabilidad o compromiso por el uso incorrecto del equipo basándose en los ejemplos 
que se presentan en esta publicación. 
 
 
 
Un uso indebido del equipo, o fuera de lo especificado, puede comprometer su seguridad. 
Es importante Identificar la información que es especialmente relevante para llevar a cabo 
una aplicación con éxito y para el correcto conocimiento del producto. 
 
Calidad: Los elementos de la familia Saitel han sido desarrollados de 
acuerdo con un sistema de gestión de calidad certificado en base a la 
norma ISO 9001 
Documento no: TE-00-0000-DES-S852-SP-Rev10 
Revisión/Fecha: Rev 1.0 / 06-10-2006 
Fichero: TE-00-0000-DES-S852-SP-Rev10.pdf 
Periodo de retención: Permanente durante su período de vigencia + 3 
años después de su anulación 
 
 
 
Para cualquier consulta, informe de problema o sugerencia que pueda tener el usuario del 
equipo está disponible la siguiente dirección de correo electrónico: 
 infoCAT@telvent.abengoa.com 
 
mailto:infoCAT@telvent.abengoa.com
Rev. 1.0 (06-10-2006) 
TELVENT 2 
CATweb Tool - Manual del Desarrollador 
Tabla de Contenidos 
Tabla de Contenidos ...........................................................................................................................................2 
Índice de Figuras..................................................................................................................................................3 
Índice de Tablas ...................................................................................................................................................4 
Contenido del Documento .................................................................................................................................5 
Capítulo 1 - Arquitectura de la Herramienta........................................................................................... 1-1 
1.1 Introducción........................................................................................................................................ 1-1 
1.2 HTTP Server......................................................................................................................................... 1-1 
1.2.1 Funcionalidad ............................................................................................................................ 1-1 
1.2.2 Web Files .................................................................................................................................... 1-1 
1.2.3 Web Services .............................................................................................................................. 1-1 
1.3 Arquitectura de CATweb Tool........................................................................................................... 1-2 
Capítulo 2 - Desarrollo de Páginas Web................................................................................................... 2-1 
2.1 Introducción........................................................................................................................................ 2-1 
2.2 Apariencia y Estilo .............................................................................................................................. 2-2 
2.3 Llamada a Servicios ............................................................................................................................ 2-3 
2.3.1 Métodos ..................................................................................................................................... 2-3 
2.3.2 Propiedades................................................................................................................................ 2-8 
2.4 Uso de Privilegios ............................................................................................................................... 2-8 
2.4.1 Métodos ..................................................................................................................................... 2-8 
2.5 Soporte Multilenguaje....................................................................................................................... 2-9 
2.5.1 Métodos ................................................................................................................................... 2-10 
2.5.2 Estructura de un Archivo de Lenguaje................................................................................... 2-11 
2.6 Integración y Depuración ................................................................................................................ 2-12 
Capítulo 3 - Librerías de CATweb Tool..................................................................................................... 3-1 
3.1 Introducción........................................................................................................................................ 3-1 
3.2 Objetos de la Librería......................................................................................................................... 3-1 
3.2.1 Timer........................................................................................................................................... 3-1 
3.2.2 Tablas.......................................................................................................................................... 3-1 
3.2.3 Cookies ....................................................................................................................................... 3-2 
3.2.4 Encriptación ............................................................................................................................... 3-2 
Glosario ...............................................................................................................................................................AÍndice................................................................................................................................................................... B 
 
Rev. 1.0 (06-10-2006) 
TELVENT 3 
CATweb Tool - Manual del Desarrollador 
Índice de Figuras 
Figura 1-1 - Estructura general de una herramienta web........................................................................... 1-1 
Figura 1-2 - Componentes de una aplicación web....................................................................................... 1-2 
Figura 2-1 - Interacción de CATconfig Tool con CATweb Tool ................................................................... 2-1 
Figura 2-2 - Estructura de ventanas de CATweb Tool.................................................................................. 2-2 
Figura 2-3 - Uso de privilegios en CATweb Tool .......................................................................................... 2-8 
Figura 2-4 - Arquitectura del multilenguaje................................................................................................. 2-9 
 
Rev. 1.0 (06-10-2006) 
TELVENT 4 
CATweb Tool - Manual del Desarrollador 
Índice de Tablas 
Tabla 2-1 – Tabla de estilos............................................................................................................................. 2-3 
 
Rev. 1.0 (06-10-2006) 
TELVENT 5 
CATweb Tool - Manual del Desarrollador 
Contenido del Documento 
I. Propósito del Manual 
Describir la arquitectura y librerías que provee CATweb Tool, permitiendo a un 
desarrollador la ampliación de las características de la herramienta de monitorización y 
diagnóstico para Saitel. 
II. Organización del Manual 
El presente documento está orientado a la descripción del funcionamiento de CATweb Tool 
así como una referencia para el desarrollo de nuevas interfaces web. Está estructurado en 
los siguientes capítulos: 
Capítulo 1 – Información General 
En este capítulo se da información general acerca del funcionamiento de un servidor Web y 
la forma en que este hace la publicación de los ficheros. 
Capítulo 2 – Arquitectura de CATweb Tool 
Descripción detallada del funcionamiento de CATweb Tool. 
Capítulo 3 – Desarrollo de Páginas Web 
En este capítulo se describen los objetos necesarios para desarrollar nuevas páginas web 
asociadas a los nuevos plugins de bin controllers incorporados al sistema. 
Capítulo 4 – Librerías 
Descripción de las librerías que proporciona CATweb Tool para facilitar el desarrollo de 
páginas web. 
 
 
Término Definición 
SOAP Single Object Access Protocol 
Estándar para realizar invocaciones remotas de funciones 
HTTP Hypertext Transfer Protocol 
Servicio sobre TCP para transferencia de hipertexto 
RTU Remote Terminal Unit 
Remota 
W3C World Wide Web Consortium 
WSDL Web Service Description Language 
Lenguaje de descripción de servicios web. 
 
Rev. 1.0 (06-10-2006) 
TELVENT 1-1 
CATweb Tool - Manual del Desarrollador 
Capítulo 1 - Arquitectura de la 
Herramienta 
1.1 Introducción 
CATweb Tool es una herramienta que funciona en un entorno web y que se utiliza para la 
configuración y diagnóstico de los productos de la familia Saitel. En el siguiente diagrama se 
muestra la estructura general de una herramienta que funciona en un entorno web: 
 
Application (HTML, XML, Scripts,
Web Services)
HTTP Server
Web Files Web Services
 
Figura 1-1 - Estructura general de una herramienta web 
1.2 HTTP Server 
1.2.1 Funcionalidad 
El servidor http, que es el encargado de resolver las peticiones de los clientes (navegador 
web, cliente SOAP o aplicación compatible con el protocolo referido), atenderá las 
solicitudes tanto de ficheros como de invocaciones a servicios web. 
1.2.2 Web Files 
El servidor http publicará los ficheros (archivos de imágenes, html, xml, scripts, etc..) que se 
encuentren alojados en un directorio de la estructura del sistema de archivos de la RTU. 
Este directorio es configurable definiéndose esta configuración en el archivo main_cfg.xml. 
Además publicará los archivos del directorio de configuración del proyecto en la RTU que se 
define también en el citado main_cfg.xml para tener acceso a la información de 
configuración bien desde un navegador o desde cualquier script. 
1.2.3 Web Services 
El servidor http proporciona una colección de servicios web con la intención de facilitar la 
invocación a funciones de forma remota. 
Haciendo uso del protocolo SOAP para atender estas invocaciones, siendo un protocolo 
estándar definido por el W3C, se asegura el desarrollo multiplataforma de aplicaciones que 
requieran el manejo o procesamiento de información que provee la RTU. Actualmente 
existen clientes SOAP desarrollados para multitud de plataformas y lenguajes. 
Se facilita en el propio servidor un fichero WSDL, fichero estándar conforme al W3C, en el 
que se describen los servicios web disponibles, y que facilita el acceso inmediato a dichos 
servicios web, gracias al procesamiento automático de estos archivos por parte de algunos 
clientes SOAP (véase por ejemplo las implementaciones de clientes SOAP de Microsoft como 
son MSSOAP o la provista por .NET) 
Rev. 1.0 (06-10-2006) 
TELVENT 1-2 
CATweb Tool - Manual del Desarrollador 
La lista de servicios que dispondrá se enumeran en: 
• Lectura de uno o múltiples valores de puntos de la coreDB. 
• Escritura de un valor de un punto de coreDB. 
• Bloqueo de un punto de coreDB. 
• Lectura de información de sincronización: fecha, hora, fuente de sincronización 
activa. 
• Escritura de fecha y hora. 
• Reset de la RTU. 
• Eco para validación de comunicaciones a nivel del protocolo. 
1.3 Arquitectura de CATweb Tool 
Basándose en la estructura general descrita en el capítulo anterior se ha implementado una 
aplicación web embebida denominada CATweb Tool. 
Esta aplicación se basa en diversos tipos de archivos definidos en diferentes lenguajes (todos 
ellos interpretables por un navegador web genérico) alojados en servidor. 
Todos estos archivos que definen el interfaz que interpretará el navegador, se 
complementarán con los datos en tiempo real obtenidos mediante las solicitudes a los 
servicios web. 
HTML XML Scripts WebServices
Web Application
 
Figura 1-2 - Componentes de una aplicación web 
El uso de una aplicación web facilita la posibilidad de tener embebida la herramienta de 
configuración y diagnóstico en la propia RTU. 
A continuación se detallan las funcionalidades básicas de la aplicación. 
En cuanto a las funciones genéricas de la herramienta tenemos: 
• Desarrollada según estándar W3C para soportar cross browser (compatibilidad con 
internet explorer y navegadores basados en mozilla). 
• Soporte multilenguaje incorporado. 
• Soporte de privilegios. Dependiendo del tipo de usuario que acceda a CATweb Tool, 
que será configurado en cuanto a información de acceso y privilegios en CATconfig 
Tool, se permitirá el cambio de hora o la escritura (forzamientos o bloqueos) en 
coreDB o en cambio de hora de la remota siempre que el dispositivo de 
sincronización activo sea la consola. 
• Apariencia fácilmente configurable (mediante hojas de estilo). Con ello el cambio de 
la apariencia global de la aplicación en cuanto a colores y formas podrá cambiarse de 
una forma fácil y centralizada. 
En cuanto a las funciones específicas: 
• Monitorización de todas las variables de supervisión de una forma estructurada en 
forma de puntos de supervisión, hardware y sincronización. 
• Cambio de hora. 
• Lectura de cualquier los punto (valor y calificadores) de la base de datos. 
• Escritura de cualquier punto de la base de datos. 
• Bloqueode cualquier punto de la base de datos. 
• Lectura de las versiones de las aplicaciones cargadas en la RTU. 
Rev. 1.0 (06-10-2006) 
TELVENT 1-3 
CATweb Tool - Manual del Desarrollador 
Además posee la posibilidad de ser ampliada dinámicamente con otras páginas que son 
incorporadas en tiempo de configuración desde la herramienta CATconfig Tool. Cada 
interfaz de bin controller desarrollada en CATconfig Tool, al igual que provee de ficheros 
para configurar los parámetros propios de los mismos, podrá suministrar interfaces web que 
se integrarán de forma automática con la interfaz básica de CATweb Tool. 
De esta forma queda cubierta cualquier posibilidad de expansión de la herramienta de una 
forma automatizada y estructurada. 
Para la implementación de estas interfaces web adicionales se facilita al desarrollador lo 
siguiente: 
• Una hoja de estilos, con la que podrá homogeneizar la apariencia de su interfaz en 
consonancia a las demás. Además esto facilita el cambio de toda la apariencia de la 
aplicación web de una forma rápida, fácil y estructurada, ya que independiza el 
contenido de la apariencia. 
• Una librería desarrollada en javascript que suministra objetos para: 
o Invocar los servicios web. 
o Manejar temporizadores, cookies, información del navegador, multilenguaje, 
lectura de ficheros xml, objetos de conversión entre bases numéricas, etc. 
 
 
 
Rev. 1.0 (06-10-2006) 
TELVENT 2-1 
CATweb Tool - Manual del Desarrollador 
Capítulo 2 - Desarrollo de Páginas Web 
2.1 Introducción 
CATweb Tool permite la ampliación de sus características mediante la carga dinámica de 
páginas web. Esta carga se realiza de forma automatizada desde CATconfig Tool, gracias a 
la integración que existe entre ambas herramientas. 
CATconfig Tool provee el interfaz de configuración de la RTU con una arquitectura 
modular, mientras que CATconfig Tool proporciona la interfaz de monitorización y 
diagnostico. 
Cada plugin de bin controller que se desarrolla en CATconfig Tool puede ir acompañado de 
una página web integrable en CATweb Tool, que es generada y cargada en tiempo de 
configuración. 
Para el desarrollo de esta página se proporcionan una serie de objetos y librerías y se deben 
de satisfacer una serie de requisitos. 
Otra parte de los requisitos para la integración de las páginas web desarrolladas con 
CATconfig Tool se puede encontrar en el manual del desarrollador de CATconfig Tool. 
 
 
 
Como requisito a destacar se encuentra el de la nomenclatura de los archivos web, que 
indica la necesidad de nombrar la página principal de monitorización de cada bin 
controller como “index.htm” 
 
CATconfig
CATweb
 
Figura 2-1 - Interacción de CATconfig Tool con CATweb Tool 
En la figura anterior se puede observar como CATconfig Tool proporciona, además de la 
configuración de cada bin controller (a través de plugin de bin controller), unas páginas de 
monitorización y diagnóstico personalizadas que quedan integradas de forma automática 
en CATweb Tool. 
CATweb Tool se comporta como una la aplicación padre (parent window) mientras que 
todas las demás páginas (child window) se integran dentro de la padre. 
 
Rev. 1.0 (06-10-2006) 
TELVENT 2-2 
CATweb Tool - Manual del Desarrollador 
Parent Window Child Window
 
Figura 2-2 - Estructura de ventanas de CATweb Tool 
Para el desarrollo de estas páginas web existen una serie de reglas para homogeneizar la 
apariencia y agilizar el desarrollo del interfaz, así como una librería con la que integrar y 
dar soporte a las múltiples necesidades que se puedan requerir. 
Para el desarrollo de las páginas se deben de usar páginas html con cualquier tipo de 
contenido o recurso asociado (elementos multimedia, scripts, xml, etc.) interpretable por el 
navegador que soporta la aplicación. 
2.2 Apariencia y Estilo 
Haciendo uso de la hoja de estilos “telvent_styles.css” en cada página desarrollada para 
CATweb Tool se homogeniza la apariencia. 
En cada página html se debe añadir el siguiente encabezado: 
 
<link href="/scr/telvent_styles.css" rel="stylesheet" type="text/css"> 
Añadida la hoja de estilos se aplican a en cada elemento de la página el nombre del estilo 
(al atributo “class” en html o la propiedad className haciendo uso del DOM a través de un 
lenguaje de script) tal como se describe a continuación: 
 
Nombre del 
Estilo Elementos a Aplicar Apariencia 
cellOff1 <input type=”text”> 
 
cellOff2 <input type=”text”> 
 
cell_on_nv <input type=”text”> 
 
cell_on_v <input type=”text”> 
 
checkbox <input type=”checkbox”> 
 
cmdButtons <input type=”submit”> 
 
libTable <table> 
 
maintext <p> 
maintextbold <p> 
Rev. 1.0 (06-10-2006) 
TELVENT 2-3 
CATweb Tool - Manual del Desarrollador 
nostyle <p> 
 
redcorp <p> 
sitemap_normal <p> 
sitemap_subhea
der 
<p> 
 
smalltext <p> 
tablebody1 <tr> con <td> 
tablebody2 <tr> con <td> 
 
tablehead <tr> con <th> 
 
tableshape <table> 
 
textbox <input type=”text”> 
 
textTitle <p> 
 
white <p> 
 
Tabla 2-1 – Tabla de estilos 
Como ejemplo de aplicación de esta tabla de estilos tenemos el siguiente: 
Establezcamos un estilo cmdButtons a un elemento “input” de tipo “submit” en HTML y en 
un lenguaje de script: 
 
HTML: <input name="Submit" type="submit" class="cmdButtons" id="Button1"> 
Javascript: document.getElementById("Button1”).className=”cmdButtons”; 
 
2.3 Llamada a Servicios 
Realizada la interfaz haciendo uso de los estilos, puede ser necesario interactuar con la 
remota. 
El webServer tiene publicados una serie de servicios que son accesibles en una página web a 
través de un objeto que proporciona CATweb Tool (reside en la ventana padre). Se puede 
hacer uso a través de un lenguaje de script, como javascript, accediendo al objeto 
“window.parent.RTUServices”. 
2.3.1 Métodos 
Los métodos que proporciona el objeto son los siguientes 
2.3.1.1 bool echoString(string inputString,array Value) 
Devuelve el eco de la cadena “inputString”. El resultado lo devuelve en el primer elemento 
del array (value[0]). 
Parámetros 
InputString: cadena que se introduce para el eco. 
Value: devuelve en el primer elemento del array el eco del mensaje en “InputString” 
Rev. 1.0 (06-10-2006) 
TELVENT 2-4 
CATweb Tool - Manual del Desarrollador 
Retorno 
Devuelve “true” si se ha ejecutado correctamente y “false” en caso contrario. 
Ejemplo 
var retorno=new Array(); 
var res; 
res=window.parent.RTUServices.echoString(“ Devuelve un eco del mensaje”,retorno); 
if (res==true) 
 alert(“El eco: “+ retorno[0]); 
else 
 alert(“No se ha podido realizar el eco”); 
2.3.1.2 bool coreDbReadData(string Type,string Name,string Format,array Value) 
Devuelve el valor de un punto de coreDB. 
Parámetros 
Type: tipo de tabla en coreDb a buscar. Acepta los valores “status”, “command”, 
“analog”,”setPoint”. 
Name: nombre del punto a leer. 
Format: formato del valor del punto. Admite los formatos de la típica función “printf”, 
como son “%d”,”%f”, etc... 
Value: devuelve el valor del punto en el primer elemento del array. El valor devuelto tiene 
la estructura “valor_punto | bits_de_calidad” usando el separador “|” indicado. 
Retorno 
Devuelve “true” si se ha ejecutado correctamente y “false” en caso contrario. 
Ejemplo 
var retorno=new Array(); 
var res; 
res=window.parent.RTUServices.coreDbReadData(“status”, “STS1”,”%d”,retorno); 
if (res==true) 
{ 
 alert(“Valor:” + retorno[0]); //Devuelve por ejemplo”Valor: 1|0x00000080” 
} 
else 
 alert(“No se ha podido realizar la lectura”); 
2.3.1.3 bool coreDbReadMultData(string Type,string Names,string Format,int 
NumNames array Value) 
Devuelve elvalor de varios puntos de coreDB de un mismo tipo.(limitado a 32 puntos) 
Parámetros 
Type: tipo de tabla en coreDb a buscar. Acepta los valores “status”, “command”, 
“analog”,”setPoint”. 
Names: nombre de los puntos a leer. Se mandarán en el siguiente formato: 
 <name1><name2>…<name32> 
Rev. 1.0 (06-10-2006) 
TELVENT 2-5 
CATweb Tool - Manual del Desarrollador 
Siendo el separador entre cada punto los caracteres “< >”. 
Format: formato del valor del punto. Admite los formatos de la típica función “printf”, 
como son “%d”,”%f”, etc... 
NumPoints: número de puntos solicitados. 
Value: devuelve un array con tantos elementos como valores solicitados. El valor devuelto 
por cada elemento del array presenta dos subelementos: 
 Value[i][0]=Valor del punto (string) 
 Value[i][1]=Bits de calidad (string) 
Retorno 
Devuelve “true” si se ha ejecutado correctamente y “false” en caso contrario. 
Ejemplo 
var retorno=new Array(); 
var res; 
res=window.parent.RTUServices.coreDbReadMultData(“status”, “<STS1> <STS2>”, 
2,”%d”,retorno); 
if (res==true) 
{ 
 alert(“Valor STS1: ” + retorno[0] [0]); 
 alert(“QF STS1: ” ´+ retorno[0][1]); 
 alert(“Valor STS2: ” + retorno[1] [0]); 
 alert(“QF STS2: ” ´+ retorno[1][1]); 
} 
else 
 alert(“No se ha podido realizar la lectura”); 
2.3.1.4 bool coreDbKrunchData(string Type,string Name,string TheValue) 
Escribe un punto de coreDB. Esta función exige un usuario con privilegios de escritura 
necesarios. 
Parámetros 
Type: tipo de tabla en coreDb a buscar. Acepta los valores “status”, “command”, 
“analog”,”setPoint”. 
Name: nombre del punto a escribir. 
TheValue: cadena que almacena el valor a escribir en el punto. 
Retorno 
Devuelve “true” si se ha ejecutado correctamente y “false” en caso contrario. 
Ejemplo 
var res; 
res=window.parent.RTUServices.coreDbKrunchData(“status”, “STS1”,”1”); 
if (res==true) 
 alert(“En el status STS1 se ha escrito un 1”); 
else 
Rev. 1.0 (06-10-2006) 
TELVENT 2-6 
CATweb Tool - Manual del Desarrollador 
 alert(“La escritura ha fallado”); 
2.3.1.5 bool coreDbBlockPoint(string Type,string Name,int onOff) 
Bloquea un punto de coreDb. Esta función exige un usuario con privilegios de escritura 
necesarios. 
Parámetros 
Type: tipo de tabla en coreDb a buscar. Acepta los valores “status”, “command”, 
“analog”,”setPoint”. 
Name: nombre del punto a escribir. 
TheValue: 0 desbloquea y 1 bloquea. 
Retorno 
Devuelve “true” si se ha ejecutado correctamente y “false” en caso contrario. 
Ejemplo 
var res; 
res=window.parent.RTUServices.coreDbBlockPoint(“status”, “STS1”,1); 
if (res==true) 
 alert(“En el status STS1 ha sido bloqueado”); 
else 
 alert(“El bloqueo ha fallado”); 
2.3.1.6 bool rtuReboot(string user,string password) 
Resetea la CPU. 
Parámetros 
user: Nombre del usuario. 
password: Contraseña del usuario. 
Retorno 
Devuelve “true” si se ha ejecutado correctamente y “false” en caso contrario. 
Ejemplo 
var res; 
res=window.parent.RTUServices.rtuReboot(“admin”,”12345678”); 
if (res==true) 
 alert(“La rtu se ha reseteado”); 
else 
 alert(“El reset ha fallado”); 
2.3.1.7 bool thmSetTime(string Year,string Month,string Day,string HH,string 
MM,string SS) 
Cambia la fecha y hora de la RTU. Esta función exige un usuario con privilegios de cambio 
de hora necesarios. 
Parámetros 
Year: Año (solo dos últimos dígitos) 
Rev. 1.0 (06-10-2006) 
TELVENT 2-7 
CATweb Tool - Manual del Desarrollador 
Month: Mes 
Day: Día 
HH: Hora 
MM: Minuto 
SS: Segundo. 
Retorno 
Devuelve “true” si se ha ejecutado correctamente y “false” en caso contrario. 
Ejemplo 
var res; 
res=window.parent.RTUServices.thmSetTime(“06”,”02”,”17”,”19”,”35”,”00”); 
if (res==true) 
 alert(“La fecha-hora ha sido cambiada a 17/02/2006 – 19:35:00 ”); 
else 
 alert(“El cambio de hora ha fallado”); 
2.3.1.8 bool thmGetInfo(Array Value) 
Obtiene información de la fecha y hora de la RTU y del dispositivo activo de sincronización. 
Parámetros 
Devuelve en una array: 
Value[0]=Year (Año) 
Value[1]=Month (Mes) 
Value[2]=Day (Día) 
Value[3]=HH (Hora) 
Value[4]=MM (Minuto) 
Value[5]=SS (Segundo) 
Value[6]=SyncSour (Fuente de sincronización activa 0=Consola mayor que 0 otro). 
Retorno 
Devuelve “true” si se ha ejecutado correctamente y “false” en caso contrario. 
Ejemplo 
var res; 
var retorno=new Array(); 
res=window.parent.RTUServices.thmGetInfo(retorno); 
if (res==true) 
 alert(“Año=” + retorno[0] +”\r” 
 “Mes=” + retorno[1] +”\r” 
 “Día=” + retorno[2] +”\r” 
 ); 
else 
 alert(“Información horaria no obtenida”); 
Rev. 1.0 (06-10-2006) 
TELVENT 2-8 
CATweb Tool - Manual del Desarrollador 
2.3.2 Propiedades 
Las propiedades accesibles son las siguientes: 
2.3.2.1 Error 
Contiene el último código de error después de devolver un servicio “false” en su retorno. 
Ejemplo 
var retorno=new Array(); 
var res; 
res=window.parent.RTUServices.echoString(“ Devuelve un eco del mensaje”,retorno); 
if (res==true) 
 alert(“El eco: “+ retorno[0]); 
else 
 alert(“No se ha podido realizar el eco\n 
 Tipo de error: ” + window.parent.RTUServices.Error); 
2.4 Uso de Privilegios 
En cualquier página desarrollada para CATweb se puede hacer uso de los privilegios de la 
sesión de usuario. Usando estos el desarrollador puede decidir que opciones son accesibles a 
un tipo de usuario. 
Login
CATweb Tool
User
Privileges
Plugin Web
Application 1
Plugin Web
Application 2
 
Figura 2-3 - Uso de privilegios en CATweb Tool 
Existen varios métodos para obtener el nivel de acceso del usuario que está dentro de la 
sesión. Se encuentran alojados en la ventana padre, que es accedida mediante 
“window.parent”. 
2.4.1 Métodos 
2.4.1.1 bool PrivWrite() 
Indica si el usuario tiene permisos de escritura o no. Hace uso de GetPriv para discernir. 
Retorno 
Devuelve “true” si los permisos de escritura están habilitados y “false” en caso contrario. 
Ejemplo 
If (window.parent.PrivWrite==true) 
{ 
Rev. 1.0 (06-10-2006) 
TELVENT 2-9 
CATweb Tool - Manual del Desarrollador 
window.parent.RTUServices.coreDbKrunchData(“status”, “STS1”,”1”); 
} 
else 
 alert(“El usuario de la sesión actual no tiene privilegios de escritura”); 
2.4.1.2 bool LManag.GetUser() 
Obtiene el nombre de usuario con la sesión actual. 
2.4.1.3 int LManag.GetPriv() 
Obtiene el nivel de acceso del usuario con la sesión abierta. 
Retorno 
Entero con el nivel (valor numérico) de acceso. 
Ejemplo 
If (window.parent.LManag.GetPriv()>=00) 
{ 
window.parent.RTUServices.coreDbKrunchData(“status”, “STS1”,”1”); 
} 
else 
 alert(“El usuario de la sesión actual no tiene privilegios de escritura”); 
2.5 Soporte Multilenguaje 
Como su propio nombre indica, el soporte multilenguage permite cambiar el idioma del 
interfaz a múltiples lenguajes. 
CATweb implementa soporte multilenguaje y proporciona al desarrollador las librerías 
necesarias para incorporarlo a sus desarrollos web para la herramienta. 
EN-us.xml ES-es.xml
languages.xml
others.xml
Parent Window
Child Window GetExtRes(Lan,Item)
 CLan(Lan)
1
2
3
Item Value
EN-us.xml ES-es.xml others.xml
CATweb
Web Plugin Resource
Files
CATweb Resource
Files
3
 
Figura 2-4 - Arquitectura del multilenguaje 
Rev. 1.0 (06-10-2006) 
TELVENT 2-10 
CATweb Tool - Manual del Desarrollador 
La implementación del soporte multilenguaje en CATweb Tool sigue las siguientes pautas: 
CATweb Tool proporciona archivos de recursos donde almacenar los idiomas. Estos archivos 
tiene un formato xml. 
Hay dos conjuntos dearchivos de recursos: 
• Archivos de recursos de CATconfig Tool: estos archivos contienen el índice de los 
diccionarios instalados (languages.xml), así como cada uno de los diccionarios para el 
núcleo de CATweb Tool. 
• Archivos de recursos de las páginas web de los plugins: contienen los diccionarios 
particulares de cada web de cada plugin. 
El desarrollador que implemente unas páginas para un plugin puede hacer uso de los 
archivos de diccionario particulares. Los nombres de los archivos de diccionario están 
descritos en el archivo de índice, por tanto vienen impuestos por la aplicación principal. 
Luego los archivos web de un plugin pueden tener tantos (no más) idiomas como tenga la 
aplicación principal. 
Para cambiar el idioma se desemboca en CATweb Tool el siguiente proceso: 
1. Desde CATweb Tool se invoca el cambio del lenguaje 
2. CATweb Tool invoca, en la página que se encuentre alojada en la ventana hija (child 
window), una función de carácter obligatorio que tiene que implementar. Esta 
función tiene el siguiente prototipo: 
 
function 
CLan(string Lan){ 
Esta función implementará todos los cambios en el interfaz que sean necesarios para 
adaptarlo al nuevo lenguaje. 
3. Desde la función “Clan” comentada anteriormente, se puede acceder a los 
diccionarios a través de un objeto que proporciona CATweb. 
En dicho objeto existe un método para obtener un recurso a través de un archivo de 
recurso. Se encuentran alojados en la ventana padre, que es accedida mediante 
“window.parent”. 
2.5.1 Métodos 
2.5.1.1 string LanMan.GetExtRes(string Lan, string Item) 
Devuelve la cadena buscada para el lenguaje dado en “Lan” para el campo seleccionado por 
“Item”. 
Retorno 
Cadena del item buscado en el diccionario seleccionado. 
Ejemplo 
function CLan(Lan) 
{ 
 var priv = window.parent.LanMan.GetExtRes(Lan,"NoPriv"); 
//”priv” contiene la cadena “El usuario no posee suficiente privilegios para 
ejecutar la acción” en el caso de que el lenguaje sea “ES-es” y el diccionario el 
descrito mas abajo. 
} 
Rev. 1.0 (06-10-2006) 
TELVENT 2-11 
CATweb Tool - Manual del Desarrollador 
2.5.2 Estructura de un Archivo de Lenguaje 
A continuación se describen las características principales y contenido de un archive de 
lenguaje: 
Nombre del Archivo 
El nombre de cada archivo de diccionario debe de seguir el estándar RFC 1766 en formato 
“<codigodelenguage 2>-<país/codigoregion 2>”, donde <codigodelenguage> es un código 
de 2 letras en minúscula derivado de la ISO 639-1 y <país/codigoregion 2> es un código de 
dos letras derivado de la ISO 3166. Por ejemplo, Inglés de U.S es “en-US”. 
Contenido del Archivo 
El archivo de diccionario tiene una codificación en XML. La sintaxis utilizada sigue el 
siguiente patrón: 
 
<?xml version="1.0" ?> 
<Language Name="Spanish"> 
 <Word Item="NoPriv" Name="El usuario no posee suficientes privilegios para 
ejecutar la acción" /> 
 <Word Item="NoConsole" Name="La consola no es el dispositivo de 
sincronización activo" /> 
 <Word Item="InvDate" Name="Fecha invalida" /> 
 <Word Item="InvTime" Name="Hora invalida" /> 
 <Word Item="TimeChanged" Name="Fecha y hora cambiada" /> 
 <Word Item="TimeFail" Name="El cambio de fecha y hora ha fallado" /> 
</Language> 
 
En el elemento raíz “Language” contiene un atributo llamado “Name” que contiene el 
nombre del lenguaje que representa el diccionario. 
Cada subelemento “Word” contendrá cada uno de los registros donde se almacena para 
cada identificador (atributo “item”) su valor (atributo “Name”). 
Por tanto cada la búsqueda en el diccionario se hará con el atributo “item” como el 
elemento de indexación. 
En cuanto al archivo de índices de diccionarios, usado para listar y registrar cada uno de los 
diccionarios , el formato es el siguiente 
 
<?xml version="1.0"?> 
<Resources> 
 <Resource Language="English" File="EN-us.xml"/> 
 <Resource Language="Spanish" File="ES-es.xml"/> 
</Resources> 
 
El elemento raíz “Resources” contiene todos los subelementos denominado “Resource” que 
define cada uno de los diccionarios instalados o dados de alta. 
El atributo “Language” designa el nombre del idioma que aparecerá en la aplicación en el 
listado de lenguajes disponibles. 
El atributo “File” se refiere al nombre del fichero, en la notación antes referida que 
contiene el diccionario en el idioma indicado. 
Rev. 1.0 (06-10-2006) 
TELVENT 2-12 
CATweb Tool - Manual del Desarrollador 
Todos estos archivos de recursos o diccionarios propios de cada interfaz web realizada se 
trasfiere junto a las páginas web como cualquier otro recurso alojado al mismo nivel que la 
página de entrada “index.htm” implementada como entrada a cada interfaz web de un 
plugin. 
2.6 Integración y Depuración 
Para la integración de la página desarrollada, solo es necesario integrarla como archivos de 
monitorización que serán transferidos desde el plugin de CATconfig Tool que implementa el 
interfaz web. 
En fase de integración se puede seguir el siguiente procedimiento para probar la página 
prescindiendo de CATconfig Tool: 
En el directorio en la remota donde se hospedan los archivos web (configurado en el 
archivo “main_cfg.xml”) , supóngase que sea “webFiles”, cuelga la aplicación CATweb Tool. 
Dentro de este directorio se localiza un archivo en la ruta relativa “\bins\ mnuWeb.xml”. 
 
<?xml version="1.0" standalone="yes"?> 
<mnuBins> 
 <mnuBin Name="laq" Label="LAQ" /> 
 <mnuBin Name="tst" Label="TEST" /> 
</mnuBins> 
 
Editaremos este archivo añadiéndole la línea: 
<mnuBin Name="tst" Label="TEST" /> 
Con esta línea introducimos un acceso en el menú de CATweb Tool denominado TEST, 
ubicando las páginas de prueba en un directorio en la ruta “\bins\” denominado “tst”. 
 
 
Alojadas las páginas a integrar y depurar se debe tener en cuenta las siguientes 
indicaciones: 
• Cualquier transferencia posterior de un proyecto de CATconfig Tool 
deshará los cambios hechos en el archivo anterior. 
• Una vez editado el archivo es necesario entrar de nuevo en CATweb 
Tool para que el cambio tenga efecto 
Para la depuración de las páginas web desarrolladas existen múltiples herramientas. 
Una primera aproximación la proporciona los navegadores a través de sus mensajes en 
tiempo de interpretación del código (html y scripts). 
Si la visualización se realiza en Internet Explorer se puede usar Visual Studio para depurar 
haciendo una depuración del proceso abierto por el explorador. 
También se puede hacer referencia a Mozilla que integra un entorno de depuración en sus 
distribuciones 
 
 
 
 
 
Rev. 1.0 (06-10-2006) 
TELVENT 3-1 
CATweb Tool - Manual del Desarrollador 
Capítulo 3 - Librerías de CATweb Tool 
3.1 Introducción 
CATweb proporciona una librería genérica que facilita el desarrollo de webs. Se llama 
libCAT.js y se puede incluir en cualquier página desarrollada insertando la línea que se 
muestra a continuación: 
 
<script language="JavaScript" src="/scr/libCAT.js"/> 
3.2 Objetos de la Librería 
A continucación se detallan los objetos disponibles al incluir esta librería en nuestros 
desarrollos: 
3.2.1 Timer 
3.2.1.1 Clase Timer 
Constructor 
Timer(int time,string myhandler) 
Donde: 
• time tiempo de temporización (milisegundo) 
• myhadler callback del timer 
Propiedades Públicas 
period Acepta un “int” con el nuevo valor de temporización o obtiene el actual (en 
milisegundos) 
Métodos Públicos 
void start() Arranca el timer 
void stop() Para el timer 
Ejemplo 
var timer1=new Timer(1000,”refresca”); 
timer1.start(); 
function refresca() 
{ 
3.2.2 Tablas 
Existen varios métodos públicos que permiten realizar varias operaciones con las tablas: 
void show_hide_column(stringTableID,int col_no, bool do_show) 
Tiene el objetivo de ocultar una columnade una tabla, donde: 
TableID Identificador (atributo ID) de la tabla. 
col_no número de columna 
do_show Mostrar (true) u ocultar (false) 
Rev. 1.0 (06-10-2006) 
TELVENT 3-2 
CATweb Tool - Manual del Desarrollador 
void show_hide_row(int RowID,bool do_show) 
Tiene el objetivo de ocultar una fila de una tabla, donde: 
TableID Identificador (atributo ID) de la tabla. 
do_show Mostrar (true) u ocultar (false) 
3.2.3 Cookies 
3.2.3.1 Clase CookieManager 
Constructor 
CookieManager() 
Propiedades Públicas 
isEnabled Devuelve si están habilitadas las cookies en el navegador (true) o no (false) 
Métodos Públicos 
void setCookie(string name, string value,string 
expires, string path,string domain, 
string secure) Establece la cookie con los parámetros típicos de ésta. 
void DelCookie(name) Borra la cookie seleccionada por su nombre (name) 
string GetCookie(name) Obtiene la cookie seleccionada por su nombre (name) 
 
3.2.4 Encriptación 
Existen varios métodos para encriptar / desencriptar la información manejada: 
string encode64(string input) 
Codifica en base64 la cadena introducida en “input”. 
Devuelve la cadena codificada. 
string decode64(string input) 
Descodifica la cadena introducida en “input” en base64. 
Devuelve la cadena decodificada. 
 
 
 
 
 
 
 
 
 
Rev. 1.0 (06-10-2006) 
TELVENT A 
CATweb Tool - Manual del Desarrollador 
Glosario 
 
SOAP Single Object Access Protocol 
Estándar para realizar invocaciones remotas de funciones 
HTTP Hypertext Transfer Protocol 
Servicio sobre TCP para transferencia de hipertexto 
RTU Remote Terminal Unit 
Remota 
W3C World Wide Web Consortium 
WSDL Web Service Description Language 
Lenguaje de descripción de servicios web. 
Rev. 1.0 (06-10-2006) 
TELVENT B 
CATweb Tool - Manual del Desarrollador 
Índice 
Arquitectura de la Herramienta 
Arquitectura de CATweb Tool ..................... 1-2 
HTTP Server ................................................... 1-1 
Introducción .................................................. 1-1 
Desarrollo de Páginas Web 
Apariencia y Estilo ........................................ 2-2 
Integración y Depuración........................... 2-12 
Introducción .................................................. 2-1 
Llamada a Servicios....................................... 2-3 
Soporte Multilenguaje ................................. 2-9 
Uso de Privilegios.......................................... 2-8 
HTTP Server 
Funcionalidad................................................ 1-1 
Web Files ....................................................... 1-1 
Web Services ................................................. 1-1 
Librerías de CATweb Tool 
Introducción .................................................. 3-1 
Objetos de la Librería ................................... 3-1 
Llamada a Servicios 
Métodos......................................................... 2-3 
Propiedades................................................... 2-8 
Objetos de la Librería 
Cookies .......................................................... 3-2 
Encriptación................................................... 3-2 
Tablas............................................................. 3-1 
Timer.............................................................. 3-1 
Soporte Multilenguaje 
Estructura de un Archivo de Lenguaje ...... 2-11 
Métodos....................................................... 2-10 
Uso de Privilegios 
Métodos......................................................... 2-8 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
La información contenida en este documento es confidencial y es propiedad de Telvent. No puede ser copiada ni distribuida bajo ningún concepto, salvo que exista 
autorización expresa y escrita por parte de Telvent. Aunque esta información fue verificada en el momento de su publicación, puede estar sujeta a cambios sin previo aviso. 
 
	Prefacio
	Portada
	Control de Revisiones
	Información Relevante para el Usuario
	Tabla de Contenidos 
	Índice de Figuras 
	Índice de Tablas 
	Contenido del Documento 
	Capítulo 1 - Arquitectura de la Herramienta 
	1.1 Introducción 
	1.2 HTTP Server 
	1.2.1 Funcionalidad 
	1.2.2 Web Files 
	1.2.3 Web Services 
	1.3 Arquitectura de CATweb Tool 
	Capítulo 2 - Desarrollo de Páginas Web 
	2.1 Introducción 
	2.2 Apariencia y Estilo 
	2.3 Llamada a Servicios 
	2.3.1 Métodos 
	2.3.2 Propiedades 
	2.4 Uso de Privilegios 
	2.4.1 Métodos 
	2.5 Soporte Multilenguaje 
	2.5.1 Métodos 
	2.5.2 Estructura de un Archivo de Lenguaje 
	2.6 Integración y Depuración 
	Capítulo 3 - Librerías de CATweb Tool 
	3.1 Introducción 
	3.2 Objetos de la Librería 
	3.2.1 Timer 
	3.2.2 Tablas 
	3.2.3 Cookies 
	3.2.4 Encriptación 
	Glosario 
	Índice

Continuar navegando