Prévia do material em 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