Servidor de aplicaciones

Anuncio
11
Servidor
de aplicaciones
11
A continuación vamos a explicar a través de un esquema una serie de conceptos, tratados de forma general, con el propósito de ayudar a comprender qué es el Servidor de Aplicaciones, qué servicios ofrece y cómo es su
funcionamiento:
Se puede definir el Servidor de aplicaciones Velázquez Visual como un programa que se instala en un equipo, con el objeto de que otro equipo pueda
acceder a las aplicaciones desarrolladas con Velázquez Visual que se hayan
instalado previamente en el Servidor de aplicaciones Velázquez Visual (del
primer equipo).
Este funcionamiento corresponde a la denominada arquitectura ClienteServidor. Por esto, al equipo que tiene instalado el Servidor de aplicaciones
Velázquez Visual se le denomina SERVIDOR y al equipo que pretende acceder a las aplicaciones se denomina CLIENTE.
El servidor y el cliente pueden estar dentro de una red local o bien dentro
de la red que forma Internet.
El servidor de aplicaciones Velázquez Visual tiene las siguientes características:
Es el motor de las bases de datos de las aplicaciones que se hayan instalado en él.
Gracias al servidor HTTP puede mostrar, por ejemplo, las páginas web de
la empresa, tanto estáticas como dinámicas (es decir, puede mostrar los
datos que se deseen de las distintas aplicaciones Velázquez Visual instaladas en él).
Finalmente, permite que los distintos equipos cliente puedan acceder a las
carpetas del equipo Servidor que se hayan compartido. Razón por la cual
se dice que el Servidor es también un Servidor de disco.
Cuando un cliente quiere entrar en una de las aplicaciones Velázquez Visual instaladas en el Servidor debe utilizar el Navegador de Velázquez Vi-
Servidor de aplicaciones
492 493
VELAZQUEZ VISUAL
sual. La comunicación entre Servidor y Cliente se realiza a través de un
protocolo (es decir, el conjunto de normas y procedimientos para la transmisión de datos). Un ejemplo de protocolo es el conocido TCP/IP, utilizado en Internet.
El protocolo utilizado en Velázquez Visual es el denominado VATP. Dicho
protocolo es propio de Velázquez Visual y tiene asignado a nivel internacional su propio número de puerto (es el 690).
VATP permite acceder a las distintas aplicaciones instaladas en el Servidor
y a sus correspondientes datos, y también acceder a las carpetas compartidas por el Servidor de Disco.
Si un cliente quiere visualizar las páginas web que tiene instaladas el Servidor puede utilizar tanto el Navegador de Velázquez Visual como cualquier
otro navegador web. En este caso el protocolo de comunicación que se utiliza es el TCP/IP habitual.
11.1
Instalación del Servidor
La instalación del Servidor de aplicaciones Velázquez Visual (también denominado Motor) es sencilla, ya que el asistente de instalación indica los
pasos a realizar. Una vez instalado, tenemos un fichero ejecutable, denominado Vmotor.exe, situado en la senda C:\Archivos de Programa\Atica\Velazquez\Program.
Adicionalmente, el usuario debe instalar los drivers correspondientes a la
llave de protección Sentinel, ya que el servidor está protegido con tales llaves los necesita para acceder a ellas. Dichos controladores se encuentran
en el CD de instalación, dentro de la carpeta Sentinel.
Una vez realizada la instalación podemos iniciar el servidor a través de Menú de Inicio/Programas/Velázquez/Servidor aplicaciones:
11
11.2
Interfaz del Servidor
Cuando accedemos al Servidor de aplicaciones las distintas áreas que
componen la ventana principal del servidor son las siguientes:
a) Área de configuraciones: contiene varias pestañas denominadas Aplicaciones, Usuarios (Personas), Enganches, Transacciones y Archivos. Dichas pestañas las iremos viendo con detalle posteriormente.
b) Área de mensajes: útil de cara sobre todo a los programadores. En ella
podremos visualizar mensajes enviados desde procesos ejecutados en
Servidor de aplicaciones
494 495
VELAZQUEZ VISUAL
el Servidor a través de la función de proceso Mensaje. Es habitual el intercalar mensajes en procesos para depurarlos. En el caso de procesos
que son ejecutados en el servidor de aplicaciones, la forma de visualizar
dichos mensajes es en esta barra de salida. En ella también se visualizan mensajes internos del Servidor de Aplicaciones:
c) Área de demonios: se trata de un proceso que definimos en la aplicación y que
son ejecutados de forma continuada mientras la aplicación está en ejecución.
Son procesos de baja prioridad, es decir, su ejecución no afecta al trabajo normal por parte de los usuarios.
En esta área se muestra, para cada demonio en ejecución, información
sobre el nombre del proceso, cada cuántos milisegundos es ejecutado y
el nº de veces que ha sido ejecutado:
d) Área de tablas: muestra para la aplicación seleccionada en ese momento la lista de sus tablas de datos, indicando el número de fichas que tiene cada una de ellas:
e) Área de tareas: está divida por las pestañas Tareas programadas (acciones que el administrador del servidor puede crear para que se realicen
con la periodicidad que se desee) y Tareas Ejecución (muestra las tareas
que han sido ejecutadas o se están ejecutando).
11
11.3
Servidor de aplicaciones
Barra de menús
La barra de menús del Servidor contiene las siguientes opciones:
11.3.1. Aplicaciones
Abrir
Cerrar
Reiniciar
Con el menú Aplicaciones podemos abrir una nueva aplicación ( Abrir),
cerrar la aplicación seleccionada ( Cerrar), reiniciar la aplicación seleccionada ( Reiniciar) o reiniciarla utilizando el fichero encriptado y comprimido de extensión .VAM ( Reiniciar con vam). También podremos detener (
Detener ejecución) o continuar la ejecución ( Continuar ejecución) de la
aplicación seleccionada. Asimismo, podremos visualizar las propiedades de
la aplicación ( Propiedades) y los usuarios que pueden acceder a ella (
Usuarios).
Reiniciar con vam
Detener ejecución
Continuar ejecución
Propiedades
Usuarios
496 497
Copia de seguridad
VELAZQUEZ VISUAL
Podemos realizar, además, una copia de seguridad en caliente de la aplicación ( Copia de seguridad) y poder en un momento dado recuperarla (
Recuperar copia).
Recuperar copia
Cortar
Finalmente, visualizamos un listado con las cuatro últimas aplicaciones instaladas en el servidor y podemos cerrar el Servidor (Salir).
Copiar
Pegar
11.3.2. Editar
Nueva carpeta de usuarios
Suprimir carpeta de usuarios
Modificar carpeta de usuarios
Nuevo usuario
Duplicar usuario
Suprimir usuario
Modificar usuario
Nuevo grupo de usuarios
Suprimir grupo de usuarios
Modificar grupo de usuarios
Nuevo grupo de mensajería
Suprimir grupo de mensajería
Modificar grupo de mensajería
Nueva máquina
Suprimir máquina
Modificar máquina
Nueva carpeta de archivo
Nueva tarea
Suprimir tarea
Con el menú Editar podemos cortar ( Cortar, Crtl+X), copiar (
Ctrl+C) y pegar ( Pegar, Ctrl+V) lo que seleccionemos.
Copiar,
También es posible crear ( Nueva), suprimir ( Suprimir) o modificar (
Modificar) una Carpeta de usuarios, crear ( Nuevo), duplicar ( Duplicar),
suprimir ( Suprimir) o modificar ( Modificar) un Usuario, crear ( Nuevo), suprimir ( Suprimir) o modificar ( Modificar) un Grupo de usuarios,
crear ( Nuevo), suprimir ( Suprimir) o modificar ( Modificar) un Grupo
de mensajería, crear ( Nueva), suprimir ( Suprimir) o modificar ( Modificar) una Máquina, crear ( Nueva) una Carpeta de archivo y crear (
Nueva), suprimir ( Suprimir) o modificar ( Modificar) una Tarea.
Modificar tarea
Listas de aplicaciones
Dominios Web
Podemos crear una lista de aplicaciones ( Listas de aplicaciones), y crear
un dominio web ( Dominios Web) para que sirva páginas html.
11
Finalmente, podemos borrar el texto que aparece en el área de mensajes
( Limpiar barra salida mensajes) y modificar la configuración del Servidor
( Configuración).
Servidor de aplicaciones
Limpiar barra salida mensajes
Configuración
11.3.3. Servicios
Arrancar servidores
Detener servidores
Arrancar servidor
Detener servidor
Expulsar enganche
Expulsar enganches usuario
Deshacer transacción
Tablas seleccionadas
Todas las tablas
Tablas seleccionadas
Con el menú Servicios podemos arrancar ( Arrancar servidores, F5) o detener ( Detener servidores, F8) todos los servicios VATP o también arrancarlos y detenerlos de forma individual, bien el VATP ( Arrancar servidor o
Detener servidor), bien el http ( Arrancar servidor o
Detener servidor).
Es posible también expulsar ( Expulsar enganche) un enganche, expulsar
( Expulsar enganches usuario) los enganches de un usuario o expulsar todos los enganches (Expulsar todos los enganches).
Finalmente, también podemos parar y deshacer las operaciones que esté
llevando a cabo una transacción (
Deshacer transacción).
11.3.4. Utilidades
Con el menú Utilidades podemos Regenerar índices de algunas ( Tablas
seleccionadas) o de todas ( Todas las tablas) las tablas de una aplicación,
así como también Regenerar área de datos de algunas ( Tablas seleccionadas) o de todas ( Todas las tablas) las tablas de la aplicación.
Todas las tablas
498 499
ADVERTENCIA
Normalmente regeneraremos
en primer lugar el área de
datos, para a continuación
regenerar los índices.
VELAZQUEZ VISUAL
También es posible desde esta opción de menú partir el contenedor para
que cada tabla tengo el suyo propio (Partir contenedor por tabla).
Finalmente, podemos visualizar un cuadro de diálogo (Registro de ficheros)
donde consultar el estado de los ficheros que componen la aplicación,
agrupados por directorios.
11.3.5. Ver
Barra del servidor
Barra de tareas
Barra de salida mensajes
Barra de estado
Personalizar
Licencias
Con el menú Ver se pueden mostrar u ocultar las diferentes áreas del Servidor ( Barra del servidor,
Barra de tareas y
Barra de salida mensajes).
También es posible desde aquí que se puedan mostrar u ocultar las diferentes barras del Servidor: por una parte, la de menú y la estándar junto con
la posibilidad de poder personalizarlas (Barras de herramientas), y por otra
parte, la barra situada en la parte inferior ( Barra de estado) que muestra
información sobre el servidor VATP, el servidor HTTP, el hilo de control y los
ficheros de las aplicaciones.
Como comentamos anteriormente, las barras de menú y estándar pueden
personalizarse ( Personalizar). Asimismo, con esta opción también se
pueden crear nuevas barras de herramientas.
Por último, es posible visualizar en un determinado momento ( Licencias) el uso que se está haciendo de la licencia, es decir, información relativa a la IP del enganche y del socket, así como los puestos y enganches
que consume. Además podemos ver el número de serie, si se tiene licencia para servidor HTTP y cuántos puestos tenemos reservados para acceso vía web.
11
Servidor de aplicaciones
11.3.6. Ventana
Cascada
Mosaico horizontal
Cada aplicación instalada en el servidor dispone de una ventana que muestra su correspondiente área de tablas. Con el menú Ventana podemos organizar la disposición de cada una de dichas ventanas ( Cascada,
Mosaico horizontal y
Mosaico vertical,
Organizar iconos).
Es posible minimizar el Servidor ( Ocultar) para que desaparezca de pantalla. Al ocultarlo aparecerá un icono en la barra de tareas de Windows. Si
el icono tiene una luz verde
significa que el Servidor está a la escucha.
Mosaico vertical
Organizar iconos
Ocultar
El servidor está a la escucha
500 501
El servidor está parado
Acerca de Velázquez Server
VELAZQUEZ VISUAL
Si presenta una luz roja
significa que el Servidor está parado. Para volver a mostrar el Servidor en pantalla debemos hacer doble clic sobre el
mencionado icono. Si hemos establecido en el Servidor la petición de contraseña de supervisor, se solicitará una contraseña de supervisor para su
apertura.
Finalmente, podemos seleccionar qué ventana de área de tablas correspondiente a cada aplicación instalada en el Servidor queremos mostrar
(en la figura aparecen numeradas del uno al cuatro porque sirve cuatro
aplicaciones).
11.3.7. Ayuda
La opción de menú Ayuda (
Acerca de Velázquez Server) nos permite visualizar información relativa a la licencia: número de serie, número de puestos, si dispone o no del Servidor http, versión del Servidor, desde cuándo
está funcionando y el número de conexiones realizadas desde entonces.
11.4
Barra de herramientas
La barra de herramientas por defecto del Servidor de aplicaciones Velázquez Visual contiene los siguientes botones:
11
Abrir aplicación: abre un proyecto realizado con Velázquez Visual para
que sea servido por el Motor.
Configuración: muestra el cuadro de diálogo Configuración que permite
modificar las propiedades del Servidor.
Arrancar servidores (F5): pone en marcha los servicios VATP y HTTP (SI
dispone de él) del Motor.
Detener servidores (F8): detiene los servicios VATP y HTTP del Servidor.
Expulsar enganche: anula el enganche que ha creado el usuario que accede a una aplicación. Si en ese momento el cliente estuviese ejecutando
transacciones, se avisaría en el Servidor sobre su existencia y si éste desea
continuar con su expulsión; si el supervisor responde afirmativamente, las
transacciones serán deshechas y el enganche expulsado. En caso de respuesta negativa, las transacciones seguirán su curso y el enganche no será expulsado. En el caso de expulsar un enganche, el Cliente de ese enganche no podrá seguir trabajando con la aplicación.
Nueva carpeta de usuarios: crea una carpeta de usuarios para poder organizar los usuarios dados de alta en el Servidor.
Servidor de aplicaciones
Abrir aplicación
Configuración
Arrancar servidores
Detener servidores
Expulsar enganche
Nueva carpeta de usuarios
Suprimir carpeta de usuarios
Modificar carpeta de usuarios
Nuevo usuario
Duplicar usuario
Suprimir usuario
Modificar usuario
Nuevo grupo
Suprimir carpeta de usuarios: elimina una carpeta de usuarios creada
con anterioridad.
Modificar carpeta de usuarios: permite realizar modificaciones en la carpeta dada de alta previamente.
Nuevo usuario: crea un usuario para que pueda acceder a las aplicaciones que se desee.
Duplicar usuario: el usuario que se crea tiene inicialmente las mismas
propiedades del usuario seleccionado.
Suprimir usuario: elimina un usuario creado con anterioridad.
Modificar usuario: permite realizar modificaciones en el usuario dado de
alta previamente.
Nuevo grupo: crea un grupo de usuarios. Cuando más de un usuario vaya a tener acceso a las mismas aplicaciones, con los mismos estilos y con
las mismas máquinas, nos es muy útil crear un grupo de usuarios. De esta
forma, no tendremos que dar de alta las aplicaciones y máquinas en las propiedades de cada usuario, pues heredarán las definidas en el grupo al que
pertenezcan. Si hemos incluido un usuario en un grupo y posteriormente en
las propiedades de dicho usuario modificamos algo de lo que hereda del
grupo al que pertenece (máquinas, aplicaciones, estilos de usuarios en aplicaciones…) prevalecerá lo que esté establecido en las propiedades del
usuario sobre las del grupo.
502 503
Suprimir grupo
Modificar grupo
VELAZQUEZ VISUAL
Suprimir grupo: elimina un grupo de usuarios creado con anterioridad.
Modificar grupo: permite realizar modificaciones en el grupo de usuarios
creado con anterioridad.
Nueva máquina
Suprimir máquina
Modificar máquina
Barra del servidor
Barra de tareas
Barra de salida de mensajes
Nueva máquina: crea una nueva máquina, es decir, un equipo que tendrá acceso al Motor.
Suprimir máquina: elimina una máquina creada anteriormente.
Modificar máquina: modifica las propiedades de una máquina creada
previamente.
Barra del servidor: muestra u oculta la ventana correspondiente al área
de configuraciones.
Acerca de
Ocultar
Configuración
Barra de tareas: muestra u oculta la ventana correspondiente al área de
tareas.
Barra de salida de mensajes: muestra u oculta la ventana correspondiente al área de mensajes.
Acerca de: presenta el cuadro de diálogo Acerca de Vmotor que contiene información acerca del motor y su licencia.
Ocultar: minimiza el Motor y lo representa con un icono situado en la barra de tareas de Windows.
11.5
Configuración del Servidor
Como comentamos anteriormente existe en el Motor un cuadro de diálogo
llamado Configuración que permite modificar las propiedades del Servidor.
Para abrirlo debemos pulsar el botón
Configuración (o bien ejecutar la
opción de menú Editar/Configuración).
En primer lugar vamos a ir comentando las distintas propiedades del cuadro de diálogo Configuración, para posteriormente indicar cuál es la configuración básica del Motor.
11
Servidor de aplicaciones
11.5.1. Pestaña Estilos
Poner el servidor a la escucha al ejecutarse el programa: cuando marcamos
esta opción, la próxima vez que iniciemos el Servidor pondrá en marcha los
servicios VATP y HTTP y se pondrá a la escucha, oculto en la barra de tareas de Windows representado con el icono
.
Fichero LOG activo: si activamos esta opción se generará un fichero .LOG
en el que se irán almacenando todas las operaciones realizadas por los
usuarios en las aplicaciones abiertas en el Servidor. Esta opción es aconsejable que la activemos solamente en caso de estar realizando algún tipo
de depuración para detectar algún posible error en la aplicación.
Pedir contraseña de supervisor para abrir: si hemos activado la opción
Poner el servidor a la escucha al ejecutarse el programa, para poder abrir
el Servidor o ejecutar cualquier opción del menú de contexto desde la
barra de tareas de Windows se pedirá una contraseña, que debe ser la
de cualquiera de los usuarios que hayan sido dados de alta como supervisores.
Enviar mensajes a los supervisores: si activamos esta opción, el supervisor
de la aplicación recibirá a través de un telegrama (un pequeño cuadro de
diálogo que contiene un mensaje) aquellos mensajes que se hayan definido
para esa licencia en el Servidor de licencias (se ampliará este concepto más
adelante en el apartado dedicado a dicha aplicación). También recibirá un
telegrama con los mensajes que haya en los procesos de cualquier aplicación que ejecute un cliente.
Velázquez - Servidor de aplicaciones
504 505
VELAZQUEZ VISUAL
Desbloqueo de usuarios automático: debemos activar esta opción si queremos desbloquear de forma automática las cuentas de usuarios que han sido bloqueadas por haber superado el número máximo de intentos de especificación de usuario/contraseña. Si esta opción está activada deberá especificarse el número de minutos que deben transcurrir para desbloquearlas, y que por defecto son 10 minutos. Si esta opción está activada y se cierra el Servidor, al volver a ejecutarlo las cuentas bloqueadas serán desbloqueadas automáticamente.
Número máximo de intentos usuario/contraseña: aquí se especifica el número máximo de intentos de especificación de usuario/contraseña que podrá efectuar un usuario para ejecutar una aplicación. Una vez excedido ese
número de intentos, la cuenta será bloqueada. La cuenta podrá ser desbloqueada de forma manual accediendo a las propiedades del usuario y desactivando la casilla Cuenta bloqueada o de forma automática activando la
opción anterior (Desbloqueo de usuarios automático).
Cierre del servidor: se puede programar el cierre del servidor de dos formas
diferentes:
Cierre automático a una hora: si activamos esta propiedad tendremos que
seleccionar en la lista desplegable la hora a la que el servidor será cerrado.
Al llegar la hora especificada el servidor será cerrado.
Cerrar servidor al finalizar la sesión de Windows: si activamos esta opción
no hará falta cerrar el Motor antes de cerrar la sesión de Windows, al cerrarla será el sistema quien se encargue de cerrar el Servidor.
11.5.2. Pestaña VATP
11
Servidor de aplicaciones
Directorio del servidor: indica el directorio donde se encuentra instalado el
Servidor de aplicaciones Velázquez Visual.
Directorio para Copias de seguridad: directorio donde van a ser almacenadas las copias de seguridad de las aplicaciones.
Enganches sin accesos expiran en: cuando un usuario se conecta con el
Servidor y solicita una aplicación se genera un enganche. A medida que el
usuario va ejecutando la aplicación, se van generando diferentes accesos
de dicho enganche en el Servidor. En esta pestaña se indica el tiempo que
ha de transcurrir para que un enganche sin accesos sea dado por muerto
(en horas y/o minutos). Una vez transcurrido este tiempo, un usuario cuyo
enganche ha sido extinguido no podrá seguir trabajando con la aplicación.
Por ejemplo, si se consulta una ficha, aparecerán los controles de edición
vacíos, rejillas vacías, etc.
Ver nombre completo en enganches: si activamos esta opción, al consultar
enganches veremos el nombre completo del usuario. Si no está activada
veremos el nombre corto.
11.5.3. Pestaña HTTP
ADVERTENCIA
Directorio de la Web: directorio donde se encuentran las páginas web externas a los proyectos de Velázquez Visual.
Archivo Html por defecto: página web que se presentará por defecto cuando se conecte desde un navegador de Internet con el Servidor. Ésta debe
Todos los archivos que
están en ese directorio son
descargables, así que
debemos tener en cuáles
tenemos allí. Además, por
defecto, está configurado
para que sea el directorio
donde está instalado el
motor: C:\Archivos de
programa\Atica\Velazquez\
program, así que si no lo
cambiamos, se podrán
descargar todos los archivos
que allí se encuentran.
Debemos tener cuidado de
no dejar allí copias de los
mapas, u otros archivos
sensibles.
506 507
VELAZQUEZ VISUAL
ser un archivo HTML, no puede ser una página web interna de una aplicación Velázquez Visual. Si se especifica la página Html en este parámetro,
para acceder a ella desde cualquier navegador de Internet simplemente
bastará con escribir http:// seguido de la IP o el nombre de Servidor.
% Calidad de imágenes: Velázquez Visual guarda las imágenes al 100% de
calidad, pero con esta opción podemos indicar al Motor a qué calidad mostrará las imágenes cuando las tenga que servir.
Puerto de escucha: el puerto estándar para la escucha para HTTP es el 80, y
éste es el que se aplica por defecto al servidor HTTP. Si queremos modificar
el número de puerto debemos especificarlo en este parámetro. No es posible
modificar el puerto de escucha si el Servidor HTTP está arrancado; debemos
pararlo previamente. Si hemos cambiado el número de puerto del Servidor
HTTP, para poder acceder desde un explorador web a las páginas del mismo,
en la especificación de la URL se deberá incluir el número de puerto a través
del cual debe conectarse precedido de dos puntos (:). Por ejemplo, se ha
cambiado el número de puerto HTTP por el 81; para que un usuario pueda conectarse con este Servidor a través de un explorador web, en la barra de direcciones del explorador tendría que escribir: http://IP_SERVIDOR:81/
ADVERTENCIA
Únicamente será necesario
reservar puestos VATP
cuando desde una página
web se lance un proceso
del mapa. Si desde nuestra
página web no se ejecutan
procesos, es decir, al
servidor sólo se realizan
peticiones de otros
elementos de Velázquez
Visual, no necesitamos
reservar el puesto:
Búsquedas, Páginas Html,
Componentes Html. La
razón de reservar un puesto
VATP es que el servidor
necesita controlar las
transacciones que el
proceso realice, y esto
únicamente se puede hacer
a través del protocolo VATP.
Reservar puesto vatp para la web: los enganches vía web no consumen
puestos concurrentes, pero, si se ejecutan procesos vía web, es necesario
que exista un enganche libre; si es el caso, puede activar esta opción para
que el servidor siempre deje un enganche libre.
11.5.4. Pestaña iRunner
11
Cada versión del Navegador Velázquez Visual (iRunner) se corresponde con
una versión determinada del Servidor. En este apartado indicaremos la versión del Navegador que se corresponde con la del Servidor (y no la del mapa). De esta forma, cuando un usuario se conecte con el Servidor desde un
Navegador de una versión anterior, se le presentará un mensaje informando que tiene una versión antigua de Navegador, y le da la posibilidad de actualizarlo automáticamente. Es decir, el Servidor podrá actualizar el Navegador del cliente cuando éste se conecte. Podemos usar versiones del navegador superiores a la del servidor sin ningún problema.
11.5.5. Pestaña Licencia
Si vamos a realizar el arranque del Servidor utilizando el Servidor de licencias deberemos indicar previamente en esta pestaña la correspondiente
clave de licencia para la próxima vez que se arranque el Motor.
11.5.6. Configuración básica
La configuración básica del Motor consiste en activar, en la pestaña Estilos,
las opciones Poner el servidor a la escucha al ejecutarse el programa y Cerrar servidor al finalizar sesión de Windows y desactivar la opción de Fichero LOG activo.
Servidor de aplicaciones
ADVERTENCIA
Si utilizamos un acceso
directo a una aplicación con
el iRunner debemos
comprobar, tras la
actualización de éste, que el
acceso directo apunte al
navegador actualizado y no
al antiguo. En el caso de
que sobreescribamos sobre
el anterior no debería haber
problema.
508 509
Abrir aplicación
VELAZQUEZ VISUAL
11.6
Área de configuraciones
11.6.1. Pestaña Aplicaciones
En esta pestaña aparecen representadas las aplicaciones Velázquez Visual
que hemos instalado en el Servidor. Por defecto el Servidor tiene instaladas
dos aplicaciones que se verán más adelante: el Historial del servidor y el
Servidor de licencias.
La información de las aplicaciones abiertas es guardada por el servidor en
el archivo fuvm.vuf en el directorio en el que está instalado, y del cual es
conveniente guardar copias de seguridad en caso de modificaciones accidentales, reinstalación del servidor, etc.
Instalación de una aplicación
Vamos a ver el proceso de instalación a través del siguiente ejemplo:
e Ejemplo: Instalación de la aplicación Agenda.map
Queremos instalar en un Servidor la aplicación Agenda.map. Para ello seguiremos los siguientes pasos:
Pulsamos el botón
caciones > Abrir.
Abrir aplicación (o se ejecuta la opción de menú Apli-
A continuación seleccionamos, utilizando el cuadro de diálogo Abrir, el
nombre del mapa de Velázquez Visual que queremos instalar en el Servidor.
11
Servidor de aplicaciones
e
Una vez se pulsa el botón Abrir, la aplicación aparecerá representada en el
área de configuraciones del Motor, dentro de la pestaña Aplicaciones.
Propiedades de una aplicación
Vamos a ver las propiedades utilizando el mapa que instalamos en el apartado anterior.
Ejemplo: Visualizar las propiedades de la aplicación Agenda.map
Queremos ver las propiedades en un Servidor de la aplicación Agenda.map.
Para ello seguimos los siguientes pasos:
Con la aplicación agenda seleccionada, pulsamos el botón derecho del ratón, y seleccionamos en el menú contextual la opción
Propiedades aplicación (o seleccionando la opción de menú Aplicaciones/Propiedades) para mostrar el cuadro de diálogo Propiedades de la aplicación:
Propiedades aplicación
510 511
VELAZQUEZ VISUAL
e
Dicho cuadro de diálogo muestra las propiedades siguientes:
Código: número de la aplicación abierta.
Nombre, Versión, Aplicación desarrollada por y Nº Licencia: son las especificadas para dicho mapa en el cuadro de diálogo Propiedades proyecto del
Editor de Proyectos de Velázquez Visual).
Alias: será el que se presente al usuario en la lista de aplicaciones al conectar el Navegador con el Servidor. Si no se indica ninguno, la aplicación aparecerá en la lista de aplicaciones con lo indicado en la propiedad Nombre.
Incluir en la lista de aplicaciones por defecto: si marcamos esta propiedad
la aplicación figurará en la lista de aplicaciones que se presenta al realizar
la conexión desde el Navegador con el Servidor.
Nº puestos: indica cuántos puestos están utilizando la aplicación.
11.6.2. Pestaña Usuarios
En esta pestaña aparecen los Usuarios (e incluidas aquí las Carpetas de
usuarios), los Grupos de usuarios, los Grupos de mensajería y las Máquinas
que estén creadas en el Motor.
11
Servidor de aplicaciones
Por defecto aparece creado, por un lado, un usuario denominado Supervisor, y por otro lado también una máquina denominada Toda la red.
En este apartado se va a crear en primer lugar una Carpeta de usuarios y en
segundo lugar una Máquina.
Las configuraciones de usuarios y grupos de usuarios se guardan en el archivo fuvm.vuf en el directorio del servidor, por lo que es conveniente hacer
copias de seguridad de este archivo de forma que en caso de modificaciones accidentales, reinstalación del servidor, etc., podamos hacer uso de este archivo y recuperar los datos.
Creación de una Carpeta de usuarios
Se va a realizar este proceso utilizando para ello el siguiente ejemplo:
Ejemplo: Creación de la carpeta Supervisores
e
Vamos crear una carpeta de usuarios para introducir en ella a dos usuarios
que se crearán posteriormente. Los pasos a realizar son los siguientes:
Dentro del área de configuraciones pinchamos con el botón izquierdo del ratón
sobre la pestaña Usuarios. Aparecerá, creado por defecto, el usuario Supervisor.
Entonces pulsamos el botón
Nueva carpeta de usuarios de la barra de
herramientas (o bien usamos la opción de menú Editar/Carpetas de usuarios/Nueva), creándose automáticamente la carpeta.
Si pulsamos el botón
Modificar carpeta de usuarios de la barra de herramientas (o bien seleccionando la opción de menú Editar/Carpetas de
usuarios/Modificar) se mostrará el cuadro de diálogo Carpeta de usuarios en
Nueva carpeta de usuarios
Modificar carpeta de usuarios
512 513
VELAZQUEZ VISUAL
e el cual podemos modificar el nombre de la carpeta. Dicho nombre lo sustituimos por Supervisores.
Al pulsar el botón Aceptar, la nueva carpeta aparecerá representada con el
nombre asignado en el Servidor.
Creación de una máquina
Una máquina engloba aquellos equipos que tendrán acceso al Servidor. Vamos a explicar los pasos a realizar utilizando un nuevo ejemplo.
e Ejemplo: Creación de una máquina
Vamos a crear una nueva máquina que va a ser la que se asignará al Departamento de Administración. Dicho departamento forma una red con
equipos entre la IP 100.100.120.0 y la IP 100.100.120.255. Los pasos a realizar son los siguientes:
Nueva máquina
Dentro de la pestaña Usuarios pulsamos el botón
Nueva máquina de la
barra de herramientas (o también podemos seleccionar la opción de menú
Editar/Máquinas/Nueva...). Esto mostrará el cuadro de diálogo Máquina.
En las propiedades del cuadro de diálogo escribiremos lo siguiente:
Nombre: en nuestro ejemplo Administración.
Nombre completo: es una propiedad opcional. Escribimos Departamento
de Administración.
11
Ip: si vamos a crear una sola máquina para una sola IP se rellenaría únicamente el valor Inicial. Como en el ejemplo mencionamos un rango de IP’s,
marcamos la opción Varios y rellenamos como valor Inicial 100.100.120.0 y
como valor Final 100.100.120.255.
Al pulsar el botón Aceptar aparecerá representada esa máquina en el apartado Máquinas de la pestaña Aplicaciones:
11.6.3. Pestaña Enganches
Cuando un usuario abre una aplicación con el Navegador de Velázquez Visual se genera un enganche con el Servidor.
Servidor de aplicaciones
e
514 515
VELAZQUEZ VISUAL
Adicionalmente, cada petición que el usuario hace al Servidor durante la
ejecución de la aplicación generará un acceso.
Cada vez que se establezca un enganche o se finalice, éste será dado de
alta automáticamente en la aplicación del Historial del Servidor.
Dentro del área correspondiente a esta ventana podemos ver información
relativa a:
Aplicación: nombre de la aplicación abierta en el enganche.
Usuario: si la aplicación tiene activada la petición de usuario se mostrará el
nombre del mismo.
Máquina: IP de la máquina desde la que el usuario esté ejecutando la aplicación.
Inicio: día de la semana y hora en que el enganche ha sido establecido.
Acceso: hora del último acceso realizado en dicho enganche.
Transac.: indica el número de transacciones que está realizando el enganche.
11.6.4. Pestaña Transacciones
Las transacciones son operaciones que implican escritura en disco. La arquitectura que utiliza el Servidor funciona transaccionalmente a dos niveles
diferentes:
Si durante la ejecución de una transacción generada por un usuario se produce una finalización anómala de la misma, será deshecha solamente esa
transacción, no afectará al resto de los clientes.
Si esto ocurre en el propio Servidor, se deshará todas las que estuvieran
pendientes de finalizar.
Si en la máquina donde está instalado el Servidor se hubiese producido una
terminación anómala del mismo mientras se estuviesen ejecutando transacciones sobre una aplicación, al volver a arrancar el Servidor, el programa advertirá sobre la existencia de transacciones pendientes de finalizar y
11
da opción al supervisor para reconstruir las bases de datos de la aplicación.
En el caso de que no las reconstruya se indicará en la lista de aplicaciones
que la aplicación tiene transacciones pendientes de finalizar con el icono
junto al nombre de la misma. Para reconstruir las bases de datos bastará con que seleccionemos la aplicación en la lista de aplicaciones y ejecutemos la opción de menú Aplicaciones/Reiniciar.
Por otro lado, supongamos un proceso que transacciona pero que en la
transacción no se realizan operaciones durante más de cuatro minutos. En
este caso se entenderá que el cliente que lo lanzó está colgado o no responde, y la transacción será deshecha. Un ejemplo es un proceso en el que
se abra un formulario: si éste permanece abierto durante más de 4 minutos,
se terminará el proceso y se deshará la transacción efectuada.
Esta arquitectura cliente-servidor incluye un potentísimo sistema de control
de bloqueos. Por ejemplo, desde dos usuarios se ejecutan sendos procesos durante la ejecución de los cuales se produce una colisión (en los dos
se intenta bloquear la misma ficha), uno continuará con la transacción y la
del otro será deshecha por el sistema, que ejecutará una serie de reintentos, tras los cuales, si no ha sido posible continuarla, avisará al usuario si
quiere reintentar y, en caso afirmativo, la transacción permanecerá a la espera hasta que finalice la del otro usuario y, una vez finalizada, la lanzará de
nuevo.
Los bloqueos son realizados a nivel de registro, no a nivel de tabla.
En esta pestaña Transacciones podremos obtener información sobre:
Título Transacción: nombre de la transacción que está siendo ejecutada.
Aplicación: nombre de la aplicación sobre la que se está ejecutando la transacción.
Usuario: nombre del usuario que ha disparado la transacción.
Inicio: hora en que la transacción ha comenzado.
Acceso: hora en la que se ha efectuado el último acceso al Servidor.
Nº de operaciones realizadas: número de operaciones realizadas en la transacción.
Servidor de aplicaciones
Transacciones pendientes de
finalizar
516 517
VELAZQUEZ VISUAL
Cada nueva transacción que reciba el Servidor será presentada en la primera posición de la lista de transacciones. Las transacciones tendrán un
icono diferente según su estado. Los posibles estados son:
Transacción ejecutándose
• La transacción se está ejecutando
.
Transacción: colisión
Transacción finalizada correctamente
• La transacción está fuera de control y ha entrado otra en el Servidor con
la que colisiona. El Servidor rechaza la que está fuera de control y continúa la ejecución de la nueva
.
Transacción deshecha
• La transacción ha finalizado correctamente
Nueva
• La transacción ha sido deshecha
.
.
Las notificaciones sobre estado de las transacciones que aparecen en esta
pestaña no desaparecen inmediatamente al concluir, sino que permanecen
cierto tiempo en pantalla para que el Administrador del sistema tenga tiempo de monitorizarlas. Una vez transcurrido dicho tiempo desaparecerán de
la lista de transacciones.
Es posible abortar manualmente una transacción que esté siendo ejecutada. Para ello la seleccionamos en la pestaña de Transacciones y ejecutamos
la opción Deshacer transacción del menú de contexto que se presenta al
hacer clic con el botón derecho del ratón sobre la misma:
Nos pedirá confirmación antes deshacerla.
11.6.5. Pestaña Archivos
Motor, además de servir aplicaciones de Velázquez Visual y páginas web,
también funciona como servidor de disco, es decir, podemos compartir carpetas que serán accesibles a través del Explorador de equipos del Navegador Velázquez Visual.
Para crear una nueva carpeta compartida pulsamos sobre el área correspondiente a esta pestaña con el botón derecho del ratón y seleccionamos la opción
Nueva... del menú contextual que se muestra. Al seleccionar dicha opción se presenta el cuadro de diálogo Compartir carpeta de archivo.
11
Servidor de aplicaciones
Los parámetros a cumplimentar son:
Nombre de la carpeta compartida: nombre que va a tener la carpeta en el
cliente cuando se conecte con el SDV (Servidor de Disco Velázquez).
Senda: ruta de la carpeta a compartir. Si pulsamos el botón
se mostrará el cuadro de diálogo Seleccione carpeta a compartir para seleccionar dicha ruta y la correspondiente carpeta:
Examinar
518 519
Agregar
Examinar
VELAZQUEZ VISUAL
Permisos: permisos que van a tener los usuarios sobre las carpetas. Para
añadir un permiso pulsamos el botón
Agregar, para seleccionar en primer lugar un grupo de usuarios. Una vez seleccionado aparecerá la primera carpeta compartida.
Por defecto, el tipo de acceso por parte de los usuarios es de Control total,
aunque es posible modificar estos valores.
La información sobre la configuración de las carpetas compartidas se guarda en el archivo carcom.vuf en la carpeta en que está instalado el servidor.
Por tanto, es importante realizar copias de seguridad de este archivo para,
en caso de modificaciones accidentales, reinstalación del servidor, etc., poder recuperar la configuración guardada en este archivo.
Vamos a realizar a continuación un ejemplo para crear una nueva carpeta
compartida en el Servidor:
e Ejemplo: Creación de una carpeta compartida
Vamos a crear una carpeta compartida en el Servidor denominada Administración y que va a estar en la senda c:\Agenda. Los pasos a realizar son
los siguientes:
Dentro de la pestaña Archivos pulsamos con el botón derecho del ratón sobre el área blanca y se selecciona la opción del menú contextual Nueva... (o
bien la opción de menú Editar/Carpetas de archivos/Nueva...) para que se
muestre el cuadro de diálogo Compartir carpeta de archivos.
En dicho cuadro de diálogo se definen las siguientes propiedades:
Nombre de la carpeta compartida: Administración.
Senda: pulsamos el botón
para mostrar el cuadro de diálogo Seleccione carpeta a compartir y elegimos la senda c:\\Agenda (si no se tiene esta
carpeta creada se puede crear una nueva carpeta en Windows para poder
asignarla en este apartado).
Al pulsar el botón Aceptar dicha carpeta aparecerá en la lista de carpetas
de la pestaña Archivos.
11
11.7
Servidor de aplicaciones
Configuración de usuarios
Como hemos comentado en un apartado anterior, la primera vez que ejecutamos el Servidor se crea un usuario Supervisor por defecto. Si queremos
eliminarlo debemos crear previamente otro usuario antes de hacerlo. En el
árbol de usuarios el Supervisor es identificado por el icono
Supervisor.
Para crear un usuario pinchamos con el botón izquierdo del ratón sobre la
pestaña Usuarios. Dentro de la carpeta Usuarios aparecerá creado por defecto el usuario Supervisor.
Pulsamos el botón
Nuevo usuario (o bien seleccionamos la opción de
menú Editar/Usuarios/Nuevo...) para que se muestre el cuadro de diálogo
Usuario.
Supervisor
Nuevo usuario
520 521
VELAZQUEZ VISUAL
Las propiedades de dicho cuadro de diálogo son las siguientes:
Nombre: nombre que deberá escribir el usuario en la ventana de petición de
usuario que se presenta al ejecutar una aplicación de Velázquez Visual.
Nombre completo: nombre completo de dicho usuario.
Contraseña: contraseña que deberá escribir el usuario en la ventana de petición de usuario que se presenta al abrir una aplicación Velázquez Visual
desde el Navegador.
Repetir contraseña: confirmación de la contraseña escrita en el parámetro
anterior.
Carpeta: si hemos creado carpetas de usuarios es posible seleccionar aquí
la carpeta en la que incluiremos al usuario.
Estilos:
Supervisor: activaremos este estilo si deseamos que el usuario sea Supervisor. El Supervisor puede, por ejemplo, reconstruir el sistema, crear y modificar otros usuarios, abrir el servidor, etc.
Desconfiar
Desconfiar
Desconfiar: si a un usuario le marcamos esta opción, el Servidor creará un
LOG independiente con las operaciones que éste vaya realizando al ejecutar las aplicaciones. De esta manera, el supervisor del sistema podrá vigilar
todos sus movimientos. En el árbol de usuarios, el que tenga activado este
estilo será identificado por el icono
Desconfiar. Al acceder a la pestaña
de enganches, si existe uno de un usuario en el que se desconfía, se mostrará junto al enganche el icono
Desconfiar.
Cuenta desactivada: esta opción nos permite desactivar la cuenta de un
usuario sin que para ello tengamos que eliminarlo. En el momento que desactivemos esta opción, el usuario podrá acceder de nuevo a las aplicaciones del Servidor.
ADVERTENCIA
Esta opción no puede ser
activada por el Supervisor
del sistema, sino que es el
servidor el que la activa.
Pero el Supervisor sí puede
desmarcarla para
desbloquear la cuenta.
Cuenta bloqueada: si un usuario intenta abrir una aplicación con una contraseña errónea, tantas veces como se haya especificado en el cuadro de
diálogo Configuración, automáticamente el Servidor bloqueará dicha cuenta. Cuando esto ha ocurrido, queda ya de mano del supervisor del sistema
el desbloquearla.
Debe cambiar contraseña en siguiente conexión: si activamos este estilo, la
siguiente vez que el usuario se conecte con el Servidor, se le avisará que
cambie su contraseña por una nueva.
La contraseña nunca caduca: si activamos esta opción, la contraseña asignada al usuario nunca caducará; si no la activamos, se entenderá que ésta
caducará el día y la hora especificados en las opciones de inicio.
Caducidad cuenta:
11
Servidor de aplicaciones
Tiene caducidad: si queremos establecer una fecha de caducidad a la cuenta del usuario, bastará con que activemos esta opción y especifiquemos la
fecha y hora en que ésta caducará.
Enganches simultáneos:
Sin límite: cada vez que el usuario pide una aplicación al Servidor genera un
enganche. Si activamos esta propiedad el usuario podrá generar varios enganches simultáneos.
Nº: si no activamos la opción Sin límite especificaremos en este parámetro
el número de enganches simultáneos permitidos al usuario.
El cuadro de diálogo Usuarios presenta en la parte inferior una serie de pestañas. Que son las siguientes:
Pestaña
Grupos: si hemos creado grupos de usuarios seleccionaremos
el grupo o grupos donde queremos incluir al usuario. Para seleccionar un
grupo de usuarios pulsaremos el botón
Añadir grupo. Se presentará un
menú desplegable con los grupos de usuarios disponibles para así seleccionar el deseado.
Un usuario puede estar vinculado a varios grupos.
Si queremos quitar al usuario de un grupo determinado, seleccionaremos el
grupo en la lista y pulsaremos el botón
Quitar grupo.
En el apartado siguiente veremos cómo crear un Grupo de usuarios.
Pestaña
Mensajería: desde el Navegador Velázquez Visual un usuario
puede enviar Telegramas (mensajes) al resto de los usuarios. Solamente podrá enviar telegramas a usuarios pertenecientes al mismo grupo o grupos
de mensajería que él.
Si hemos creado grupos de mensajería seleccionaremos el grupo o grupos
donde incluiremos al usuario. Para seleccionar un grupo de mensajería pulsaremos el botón
Añadir grupo de mensajería. Se presentará un menú
desplegable con los grupos de mensajería disponibles para poder seleccionar el deseado.
Un usuario puede estar vinculado a varios grupos de mensajería.
Si queremos quitar al usuario de un grupo de mensajería determinado, seleccionar el grupo en la lista y pulsar el botón
Quitar grupo de mensajería.
Pestaña
Aplicaciones: en este apartado seleccionaremos la aplicación o
aplicaciones a las que el usuario podrá tener acceso. Si hemos activado al
usuario la propiedad Supervisor, automáticamente será asignado como
usuario autorizado de la aplicación del Historial del servidor aunque ésta no
aparecerá en la lista de aplicaciones del mismo.
Grupos
Añadir grupo
Quitar grupo
Mensajería
Añadir grupo de mensajería
Quitar grupo de mensajería
Aplicaciones
522 523
Agregar
Quitar
VELAZQUEZ VISUAL
Al pulsar el botón
Agregar se presenta un menú desplegable con las
aplicaciones disponibles abiertas en el Servidor en las que hayamos activado la petición de usuario. Al seleccionar la aplicación deseada ésta aparece en la lista de aplicaciones del usuario.
Propiedades
Con el botón
Quitar se suprime la aplicación seleccionada de entre las
que aparecen en la lista de aplicaciones del usuario.
El botón
Propiedades nos permite establecer los permisos que el usuario tendrá en la aplicación seleccionada. Para ello debemos seleccionar la
aplicación en la lista y pulsar este botón. Se presentará el cuadro de diálogo Permiso:
ADVERTENCIA
En el Navegador existen
ciertas opciones de listas ya
preprogramadas que estarán
activadas o desactivadas
según el nivel de privilegio
de los usuarios; éstas son:
Modificar campo: para que
esté activa el usuario deberá
tener un nivel de privilegio
igual o superior a 92.
Modificar campo si…: para
que esté activa el usuario
deberá tener un nivel de
privilegio igual o superior a 92.
Fundir fichas: para que esté
activa el usuario deberá
tener un nivel de privilegio
igual o superior a 92.
Exportar ASCII: para que
esté activa el usuario deberá
tener un nivel de privilegio
igual o superior a 90.
Este cuadro de diálogo tiene las siguientes propiedades:
Privilegio: nivel de privilegio del usuario en la aplicación.
Grupo: los grupos de usuarios de una aplicación son necesarios cuando en
el proyecto de Velázquez hemos creado variables globales con la propiedad
Por grupos de usuarios activada. Esta propiedad permite que, en tiempo de
ejecución, la variable tenga un valor diferente para cada grupo. Pues bien,
en este parámetro simplemente habrá que escribir un número, que será indicativo del grupo al que pertenecerá dicho usuario. Obviamente, dicho número no puede ser superior al número máximo de grupos de usuarios definido en el proyecto de Velázquez.
Menú inicial: menú inicial de la aplicación para dicho usuario.
Perfil: existe un producto, el Editor de Personalizaciones Velázquez Visual,
que permite personalizar y crear informes y dibujos en una aplicación de Ve-
11
lázquez Visual. Si hemos creado alguna personalización aparecerá listada
en el combo box. Por tanto, cada usuario puede tener sus propios informes
y dibujos personalizados.
Servidor de aplicaciones
Máquinas
A cada usuario de la aplicación sólo le podemos asignar una personalización, pero una misma personalización puede ser asignada a diferentes
usuarios.
En esta propiedad seleccionamos en el combo box la personalización que
se quiere asignar al usuario.
A partir de este momento dicho usuario tendrá a su disposición tanto los dibujos e informes que hayamos personalizado como los que hayamos añadido específicamente para la personalización asignada.
Estilos: si en el proyecto de Velázquez Visual hemos creado estilos de usuarios, éstos aparecerán en este control. A la izquierda de cada estilo de usuario se incluye una casilla de verificación que permitirá activarlo o desactivarlo. Con los botones Marcar Todos y Desmarcar todos se puede, respectivamente, marcar o desmarcar todos los estilos de la aplicación.
Pestaña
Máquinas: si hacemos doble clic sobre el área correspondiente a esta pestaña se presentará el cuadro de diálogo Máquinas autorizadas,
que muestra todas las máquinas que estén creadas en el Servidor:
ADVERTENCIA
Si hemos creado
personalizaciones durante la
ejecución de la aplicación,
hay que cerrar la aplicación
y reiniciarla para que los
cambios estén disponibles
para los usuarios.
524 525
VELAZQUEZ VISUAL
Para seleccionar una máquina debemos activar la casilla de verificación que
se encuentra junto al nombre de la misma.
La máquina o máquinas seleccionadas aparecerán en la lista de máquinas
autorizadas del usuario.
Para desasignar una máquina a un usuario haremos doble clic sobre ella en
las propiedades del usuario y desactivaremos la casilla de verificación correspondiente.
Observación
Nuevo usuario
Pestaña
Observación: en esta pestaña es posible escribir cualquier comentario que queramos realizar sobre el usuario.
A continuación realizaremos un ejemplo para ver la configuración de
usuarios.
e Ejemplo: Creación de dos usuarios
Vamos a crear dos nuevos usuarios que deben acceder a la aplicación
Agenda.map instalada anteriormente y que forman parte del Departamento
de Administración. Los pasos a realizar son los siguientes:
Dentro de la pestaña Usuarios pulsamos el botón
Nuevo usuario de la
barra de herramientas (o bien seleccionamos la opción de menú
Editar/Usuarios/Nuevo..) para que se muestre el cuadro de diálogo Usuario.
En él rellenamos los siguientes datos correspondientes al primer usuario.
Nombre: Usuariouno.
Nombre completo: El primer usuario.
La contraseña nunca caduca: Activamos esta opción.
Enganches simultáneos: Sin límite.
11
Servidor de aplicaciones
e
Seleccionamos la pestaña Aplicaciones y pulsando el botón
Agregar escogemos la aplicación Agenda. Dicha aplicación aparecerá en la lista de
aplicaciones del usuario.
Al hacer doble clic sobre la aplicación para que aparezca el cuadro de diálogo Permiso rellenamos sus propiedades con los siguientes datos:
Privilegio: 90
Grupo: 0
Menú inicial: Menú General
Perfil: .Ninguno
Agregar
526 527
VELAZQUEZ VISUAL
e
A continuación seleccionamos la pestaña Máquinas y en su correspondiente ventana hacemos doble clic para que aparezca el cuadro de diálogo Máquinas autorizadas a: Usuariouno. En dicho cuadro se marca la casilla correspondiente a la máquina denominada Administración. La máquina seleccionada aparecerá en la lista de máquinas del usuario:
De esta manera el nuevo Usuariouno tiene autorización para acceder a la
aplicación Agenda utilizando la máquina Administración (que tiene el rango
de IP’s vista en el apartado de Creación de máquina).
Seguidamente creamos el segundo usuario. Podemos utilizar el mismo procedimiento utilizado para crear el primer usuario. Pero para hacerlo más rápido esta vez optamos por seguir otro camino:
Duplicar usuario
Con el usuario Usuariouno del árbol Usuario de la pestaña Usuarios seleccionado, pulsamos el botón
Duplicar usuario de la barra de herramientas (o bien seleccionamos la opción de menú Editar/Usuarios/Duplicar). De
esta manera se presenta de nuevo el cuadro de diálogo Usuario, pero en es-
11
te caso, al duplicar el usuario, tiene la particularidad de que ya hereda las
propiedades del usuario duplicado. Por lo tanto, sólo tenemos que definir
las propiedades de usuario y contraseña:
11.8
Configuración de grupos de usuarios
Los grupos de usuarios se utilizan en los casos en que más de un usuario
vaya a tener acceso a las mismas aplicaciones, con los mismos estilos y
con las mismas máquinas.
De esta forma, no tendremos que dar de alta las aplicaciones y máquinas
en las propiedades de cada usuario, pues heredarán las definidas en el grupo al que pertenezcan. Si hubiésemos incluido un usuario en un grupo y
posteriormente en las propiedades de dicho usuario se modifica algo de lo
que hereda del grupo al que pertenece (máquinas, aplicaciones, estilos de
usuarios en aplicaciones…) prevalecerá lo que esté establecido en las propiedades del usuario sobre las del grupo.
Asimismo, los grupos de usuarios también son necesarios cuando vayamos
a utilizar el Servidor de disco de Velázquez Visual.
Servidor de aplicaciones
e
528 529
Nuevo grupo
VELAZQUEZ VISUAL
Para crear un nuevo Grupo de usuarios debemos pulsar, desde la pestaña
Usuarios, el botón
Nuevo grupo de la barra de herramientas. Se mostrará el cuadro de diálogo Grupo de usuarios.
Usuarios
Nuevo usuario
Dicho cuadro de diálogo tiene las siguientes propiedades:
Nombre: nombre que se le va a asignar al grupo de usuarios.
Pestaña
Usuarios: aquí se irán seleccionando uno a uno los usuarios que van
a formar parte del grupo. Para añadir un usuario se pulsa el botón
Nuevo
usuario. Se presentará el cuadro de diálogo Selección de miembros del grupo:
En el panel izquierdo aparecerá la lista de usuarios seleccionables. Para seleccionar uno haremos doble clic sobre él. Desaparecerá del panel izquier-
11
Servidor de aplicaciones
do y se mostrará en el derecho, que es el panel de usuarios seleccionados
en el grupo.
Pestaña
Aplicaciones: tiene la misma funcionalidad que la pestaña Aplicaciones vista en el apartado dedicado a los usuarios.
Pestaña
Máquinas: tiene la misma funcionalidad que la pestaña Máquinas vista en el apartado dedicado a los usuarios.
Pestaña
Archivos: en el área correspondiente a esta pestaña podemos
definir las diferentes carpetas compartidas del Servidor de disco a las que
puede acceder el grupo de usuarios. Para ello debemos pulsar el botón
Agregar, que mostrará un menú desplegable con las carpetas compartidas
por el Servidor. Al seleccionar la carpeta deseada ésta aparece en la lista de
carpetas del Grupo de usuarios. Los botones
Quitar y
Propiedades
permiten, respectivamente, eliminar y mostrar el cuadro de diálogo Permisos (que se verá a continuación) de la carpeta seleccionada en la lista de
carpetas del Grupo de usuarios:
Es posible definir para cada una de las carpetas de la lista de carpetas del
grupo de usuarios el tipo de acceso que van a tener (si pueden crear nuevas carpetas, borrar, copiar o pegar). Si hacemos doble clic con el botón izquierdo del ratón sobre una de las carpetas de la lista de carpetas del Grupo de usuarios (o bien seleccionamos una carpeta de dicha lista y pulsamos
el botón
Propiedades) se presentará el cuadro de diálogo Permisos en
el cual podemos definir los citados niveles de acceso.
Aplicaciones
Máquinas
Archivos
Agregar
Quitar
Propiedades
530 531
VELAZQUEZ VISUAL
Para definirlos bastará con que marquemos o desmarquemos las casillas
correspondientes a cada tipo de acceso (Lectura, Escritura, Borrado de archivos o carpetas y Creación de nuevas carpetas, respectivamente).
Veremos a través de un ejemplo cómo crear un nuevo grupo de usuarios:
e Ejemplo: Creación de un grupo de usuarios
Vamos a crear un nuevo Grupo de usuarios llamado Administración que va
a englobar a los dos usuarios creados anteriormente y que pertenecen al
Departamento de Administración de una empresa. Dichos usuarios podrán
tener todos los accesos, salvo el de borrado. Los pasos a realizar son los
siguientes:
Nuevo grupo
Agregar usuario
Dentro de la pestaña Usuarios se pulsa el botón
Nuevo grupo de la barra de herramientas (o también seleccionamos de la opción de menú Editar
> Grupos de usuarios > Nuevo). Esto mostrará el cuadro de diálogo Grupo
de usuarios.
Las propiedades de este Grupo de usuarios son las siguientes:
Nombre: Administración.
Pestaña Usuarios: Pulsamos el botón
Agregar usuario para que se
muestre el cuadro de diálogo Selección de miembros del grupo. Hacemos
doble clic sobre los usuarios Usuariodos y Usuariouno para que pasen al
área de la derecha:
11
Servidor de aplicaciones
e
Pestaña Aplicaciones: Pulsamos el botón
Agregar y seleccionamos la
aplicación Agenda del menú desplegable. Una vez situados en la lista de
aplicaciones del Grupo de usuarios, seleccionamos y hacemos doble clic
con el botón izquierdo del ratón (o bien se selecciona y se pulsa el botón
Propiedades) para definir las siguientes propiedades en el cuadro de
diálogo Permiso:
Privilegio: 100
Grupo: 0
Menú inicial: Arranque menú formulario.
Perfil: .Ninguno
Agregar
Propiedades
532 533
VELAZQUEZ VISUAL
e Pestaña Máquinas: Hacemos clic con el botón derecho del ratón sobre el
área de color blanco para seleccionar la opción del menú contextual Modificar máquinas autorizadas y marcamos, dentro del cuadro de diálogo Máquinas autorizadas, la casilla de la máquina denominada Administración
(creada en un apartado anterior).
Agregar
Pestaña Archivos: Pulsamos el botón
Agregar y en la lista desplegable
que aparece seleccionamos la carpeta Administración para que se muestre
en la lista de carpetas del Grupo de usuarios. Al hacer doble clic sobre esa
carpeta de la lista aparece el cuadro de diálogo Permisos. Como en el enunciado comentamos que no permitiremos el borrado, desmarcamos la opción Borrado de archivos o carpetas.
11.9
Configuración de grupos
de mensajería
Desde el Navegador Velázquez Visual un usuario puede enviar Telegramas
(mensajes) al resto de los usuarios. Solamente podrá enviar telegramas a
usuarios pertenecientes al mismo grupo o grupos que él.
Si un usuario no se encuentra dentro de un grupo de mensajería no podrá
enviar ni recibir telegramas.
Para crear un nuevo Grupo de mensajería deberemos pulsar, dentro de la
pestaña Usuarios, la opción de menú Editar/Grupos de mensajería/Nuevo...
Se mostrará el cuadro de diálogo Grupo de mensajería:
11
Servidor de aplicaciones
Este cuadro de diálogo tiene las siguientes propiedades:
Nombre: nombre que daremos al Grupo de mensajería.
Si pulsamos el botón
Agregar usuario aparece el cuadro de diálogo Selección de miembros del grupo, similar al que aparece en la definición de un
nuevo Grupo de usuarios:
Agregar usuario
En el panel izquierdo aparecerá la lista de usuarios seleccionables. Para seleccionar uno hacemos doble clic sobre él. Desaparecerá del panel izquierdo y se mostrará en el derecho, que es el panel de usuarios seleccionados
en el grupo.
La creación de un grupo de usuarios se va a explicar a través de un ejemplo.
Ejemplo: Creación de un Grupo de mensajería
Vamos a crear un nuevo Grupo de mensajería denominado Administración,
que engloba a todos aquellos usuarios que pertenecen al Departamento de
Administración de una empresa. Los pasos a realizar son los siguientes:
Dentro de la pestaña Usuarios seleccionamos la opción de menú
Editar/Grupos de mensajería/Nuevo... Aparecerá el cuadro de diálogo Grupo de mensajería. En la propiedad Nombre se escribe Administración.
A continuación pulsamos el botón
Agregar usuario para mostrar el cuadro de diálogo Selección de miembros del grupo. Se hace doble clic sobre
el Usuariouno y el Usuariodos para pasarlos al área de la derecha. Así formarán parte del Grupo de mensajería.
e
534 535
VELAZQUEZ VISUAL
e
De esta manera, al pulsar el botón Aceptar del cuadro de diálogo Grupo de
mensajería se habrá creado el nuevo Grupo de mensajería.
11.10
Tareas programadas
Nueva tarea
11.10.1. Pestaña
Configuración de tareas
Tareas programadas
Para programar una nueva tarea hacemos clic sobre el área blanca de la
pestaña y seleccionamos, en el menú contextual que aparece, la opción
Nueva tarea... (o también a través de la opción de menú Editar/Tareas/Nueva). Aparecerá el cuadro de diálogo Tarea.
CUADRO DE DIÁLOGO TAREA
Las propiedades del cuadro de diálogo son las siguientes:
Asunto: especificación del tipo de tarea que vamos a programar. Existen
tres tipos de tareas:
11
Servidor de aplicaciones
• Copia de seguridad: la tarea a programar será la realización de una copia de seguridad de las tablas de datos de una aplicación concreta. Sus
parámetros específicos son:
Aplicación: nombre de la aplicación de la que vamos a hacer una copia
de seguridad.
Directorio destino: especificación del directorio donde se guardará el archivo de la copia de seguridad (archivo con extensión VCS). Para facilitar la especificación del mismo pulsamos el botón
Examinar.
• Regenerar índices: la tarea a programar será la regeneración de los índices de una tabla de datos de una aplicación concreta.
Aplicación: nombre de la aplicación de la que queremos regenerar índices.
Tabla: especificación de la tabla de datos de la aplicación de la que queremos regenerar los índices.
• Ejecutar proceso: la tarea a programar será la ejecución de un proceso
de una aplicación concreta. Esta opción está pensada para la ejecución
de procesos para el mantenimiento de la aplicación. El proceso será ejecutado en el Servidor. Sus parámetros específicos son:
Aplicación: nombre de la aplicación de la que ejecutaremos un proceso.
Procesos: especificación del proceso a ejecutar. Solamente estarán disponibles
aquellos procesos del proyecto que sean públicos y cuyo origen sea ninguno.
La Periodicidad se refiere al momento en el que se ha de ejecutar la tarea.
Las opciones son:
• Absoluto (Fecha/Hora concreta): la tarea se ejecutará un día y hora concretos. Es decir, será ejecutada una sola vez. Parámetros complementarios:
Fecha: día, mes y año en que la tarea ha de ser ejecutada. Para facilitar
su especificación, pulsando el botón que se encuentra dentro del control de edición aparecerá un calendario para su selección.
Hora: hora en la que la tarea debe ser ejecutada. Con las teclas de movimiento del cursor izquierda y derecha se puede desplazar entre la hora, los minutos y los segundos, y con las teclas de movimiento del cursor arriba y abajo cambiar los valores del elemento seleccionado.
• Diario: la tarea será ejecutada todos los días a una hora determinada.
Parámetros complementarios.
Hora: hora en la que la tarea debe ser ejecutada. Con las teclas de movimiento del cursor izquierda y derecha se puede desplazar entre la hora, los minutos y los segundos, y con las teclas de movimiento del cursor arriba y abajo cambiar los valores del elemento seleccionado.
Examinar
536 537
VELAZQUEZ VISUAL
• Semanal: la tarea será ejecutada cada semana en un día y hora concretos. Parámetros complementarios:
Día de la semana: en el que la tarea debe ser ejecutada (de lunes a domingo).
Hora: tiene las mismas especificaciones comentadas para la opción Absoluto.
• Mensual: la tarea será ejecutada cada mes un día y a una hora concretos. Parámetros complementarios:
Día del mes: en el que la tarea debe ser ejecutada (del 1 al 31).
Hora: tiene las mismas especificaciones comentadas para la opción Absoluto.
• Anual: la tarea será ejecutada cada año a una hora de un día de un mes
concreto. Parámetros complementarios:
Día del mes: en el que la tarea debe ser ejecutada (del 1 al 31).
Mes: en el que la tarea debe ser ejecutada (de enero a diciembre).
Hora: tiene las mismas especificaciones comentadas para la opción Absoluto.
• Cada cierto tiempo: tiene los siguientes parámetros complementarios:
Horas: tiene las mismas especificaciones comentadas para la opción
Absoluto.
Minutos: tiene las mismas especificaciones comentadas para la opción
Absoluto aplicado a los minutos.
Modificar tarea
Para modificar una tarea basta con seleccionarla, pulsar con el botón derecho del ratón y seleccionar en el menú contextual la opción
Modificar tarea (o seleccionarla y ejecutar la opción del menú Editar/Tareas/ Modificar).
Suprimir tarea
Tareas ejecución
Para eliminar una tarea basta con seleccionarla, pulsar con el botón derecho del ratón y seleccionar en el menú contextual la opción
Suprimir tarea (o seleccionarla y ejecutar la opción del menú Editar/Tareas/Suprimir).
El servidor de aplicaciones guarda la configuración de las tareas programadas en el archivo tareas.vuf, de forma que es importante hacer copias de
seguridad de este archivo para prevenir modificaciones accidentales, o en
caso de reinstalar el servidor conservar y recuperar los datos anteriores sobre tareas.
11.10.2. Pestaña
Tareas ejecución
En esta pestaña se podrán consultar aquellas tareas que están siendo o han
sido ejecutadas.
11
En ella se muestra la siguiente información:
Tarea: tipo de tarea ejecutada.
Aplicación: nombre de la aplicación sobre la que se ha ejecutado la tarea.
Observaciones: si se trata de una copia de seguridad se mostrará el directorio donde ésta ha sido almacenada. Si se ha ejecutado una regeneración
de índices se mostrará el nombre de la tabla de datos que ha sido regenerada. Si se trata de la ejecución de un proceso se mostrará el nombre del
proceso ejecutado.
Inicio: día y hora de inicio de la tarea.
Fin: hora de finalización de la tarea.
11.11
Historial del servidor
Se trata de una aplicación incorporada al Servidor que, como cualquier otra
aplicación Velázquez Visual, podrá ser atacada con el Navegador Velázquez
Visual aunque solamente por todos aquellos usuarios dados de alta en el
Servidor que sean Supervisores.
Su utilidad es la de monitorear (visualizar en el monitor del equipo) los enganches y trabajos realizados por los usuarios en las aplicaciones abiertas
en el Servidor. Cada vez que un usuario abre una aplicación del Servidor se
genera un enganche, y la información de cada trabajo que éste ejecute en
la aplicación será almacenada en esta aplicación.
Dado su carácter de consulta no es posible la generación, modificación o la
eliminación de fichas por parte del usuario que la ejecute. Es el propio Servidor quien se encarga de su mantenimiento.
Con esta aplicación podremos obtener información sobre los enganches y
trabajos realizados en las aplicaciones del Servidor, así como el control de
enganches y trabajos realizados por usuario dado de alta en el Servidor.
Servidor de aplicaciones
538 539
VELAZQUEZ VISUAL
11.11.1. Opciones de menú
Las opciones que encontramos en el área derecha de la aplicación Historial
del servidor son las siguientes:
Enganches activos: muestra una lista con todos los enganches activos en el
momento de la consulta.
11
Finalizados entre fechas: presenta una lista con todos los enganches finalizados entre límites de fecha desde-hasta.
Por usuario: aparece un cuadro de diálogo para la selección de un usuario
del Servidor y presenta todos los enganches realizados por él:
Por aplicación: presenta un cuadro de diálogo para la selección de una de
las aplicaciones del Servidor y presenta todos los enganches realizados a
la misma.
Los enganches que están activos en el momento de la consulta serán destacados en color azul.
Al editar la ficha de cualquier enganche se incluirá en el formulario una lista con todos los trabajos realizados durante ese enganche.
Servidor de aplicaciones
540 541
VELAZQUEZ VISUAL
Para todas las opciones de menú vistas, la información que se presentará
en las rejillas después de disparar dichas opciones será la siguiente:
IP Cliente: dirección IP de la máquina desde la que se ha realizado el enganche.
Usuario: nombre del usuario que ha realizado el enganche. Si una aplicación no tiene especificada la petición de usuario el dato será presentado
en blanco.
Nombre completo: nombre completo del usuario que ha realizado el enganche. Si una aplicación no tiene especificada la petición de usuario dicho
dato será presentado en blanco.
Aplicación: nombre de la aplicación objeto del enganche.
Directorio: senda de la aplicación objeto del enganche.
Fecha inicio: fecha en la que se ha generado el enganche.
Hora: hora en la que se ha generado el enganche.
Fecha fin: fecha en la que ha finalizado el enganche. Cuando se consultan
los enganches activos esta columna no aparecerá.
Hora: hora en la que ha finalizado el enganche. Cuando se consultan los enganches activos esta columna no aparecerá.
Las opciones de menú del área izquierda del Historial del servidor son las
siguientes:
11
Enganches: muestra el área derecha Enganches con las opciones de menú
vistas anteriormente (Activos, Finalizados entre fechas, Por usuario y Por
aplicación).
Trabajos período: presenta un cuadro de diálogo en el cual se pide una fecha de inicio y de fin, así como una hora inicial y final (en Horas y Minutos).
El resultado será una rejilla con todos los trabajos realizados en la fecha y
entre las horas especificadas.
Trabajos última hora: se presentará una rejilla con todos los trabajos realizados durante la hora previa a la de la ejecución de esta consulta.
Servidor de aplicaciones
542 543
VELAZQUEZ VISUAL
En cualquier consulta de trabajos, la información que se facilitará será:
Aplicación: nombre de la aplicación objeto del enganche.
Usuario: nombre del usuario que ha realizado el enganche. Si una aplicación no tiene especificada la petición de usuario el dato será presentado
en blanco.
IP: dirección IP del equipo utilizado por el usuario.
Tipo: tipo de trabajo efectuado (búsqueda, alta de ficha, proceso, etc.).
Descripción: presenta un texto descriptivo del trabajo efectuado.
Inicio: fecha y hora de inicio del trabajo.
Fin: fecha y hora de finalización del trabajo.
Nº operaciones: número de operaciones que ha generado el trabajo en el
Servidor (modificaciones de fichas).
Más opciones de menú disponibles en el área izquierda de la aplicación son
las siguientes:
Usuarios: se presentará una rejilla con todos los usuarios dados de alta en
el Servidor y que muestra el nombre y el nombre completo de cada uno de
ellos.
Cuando hacemos doble clic sobre cualquiera de ellos se muestra el formulario del usuario y dos pestañas: una denominada Enganches y otra Enganches/Aplicación. La pestaña Enganches presenta una rejilla con los distintos
enganches realizados por el usuario. Dicha rejilla aporta información sobre la
IP del usuario, la aplicación, el directorio y las fechas y horas de inicio y fin.
Por otra parte la pestaña Enganches/Aplicación muestra en una rejilla los datos mencionados en la pestaña anterior encarpetados por aplicación.
11
Si aún no ha finalizado el enganche aparecerá el texto Activo.
Localizar usuario: se presentará un localizador en el que, si se selecciona un
usuario, se presentará un formulario con su ficha correspondiente. En dicha
ficha podemos consultar los enganches efectuados, con posibilidad de encarpetar la información de los enganches por cada aplicación, tal y como
sucedía en la opción de menú anterior.
Aplicaciones: muestra una rejilla con todas las aplicaciones que hemos instalado en algún momento en el Motor:
Utilidades: muestra en el área derecha las siguientes opciones de menú:
Cambiar nº días a conservar: podemos especificar cuántos días se desea
conservar los datos del historial.
Eliminar historiales atrasados: borrará todos los historiales anteriores al número de días especificados en la opción Número de días de historial a conservar.
11.11.2. Configuración básica del Historial del servidor
En las opciones de menú Cambiar nº días a conservar dicho mapa, configuramos el tiempo que ha de ser guardado, por ejemplo, 60 días.
Servidor de aplicaciones
544 545
VELAZQUEZ VISUAL
Asimismo, en el Servidor es conveniente crear una nueva tarea programada (dentro de la pestaña Tareas programadas del área tareas) que active el único proceso que es público de dicho mapa: LIMPIAR-ANTERIORA–FECHA:
11.12
Configuración
Configuración de los dominios
web
Si un Servidor dispone del Servidor HTTP puede servir las Páginas HTML
que se encuentren dentro del directorio definido en la pestaña HTTP del
cuadro de diálogo Configuración que aparece al seleccionar la opción de
menú Editar/Configuración (o bien pulsando el botón
Configuración de
la barra de herramientas).
Adicionalmente, dicho servidor HTTP puede gestionar más de un dominio
web. Para definir los dominios seleccionamos la opción de menú Editar/Dominios Web. Se presentará, entonces, el cuadro de diálogo Dominios web:
11
Para crear un nuevo dominio debemos pulsar el botón
Añadir. Se mostrará el cuadro de diálogo Propiedades del dominio web que tiene las siguientes propiedades:
Servidor de aplicaciones
Añadir
Examinar
Suprimir
Editar
Dominio: nombre del dominio.
Directorio de la Web: directorio de la web por defecto para ese dominio. Podemos seleccionar el que queramos pulsando el botón
Examinar.
Archivo Html por defecto: nombre del archivo html que presentaremos por
defecto para ese dominio.
Mediante los botones
Suprimir y
Editar es posible, respectivamente,
eliminar el dominio web o mostrar el cuadro de diálogo Propiedades del dominio web del dominio web seleccionado.
546 547
VELAZQUEZ VISUAL
A continuación se va a realizar un ejercicio práctico para revisar estos conceptos teóricos:
e Ejemplo: Creación de dos dominios web
Vamos a servir dos dominios en una misma máquina: www.dominio1.com
(cuyas páginas web se encuentran en C:\Web\Dominio1 y tiene como página inicial indexd1.htm) y www.dominio2.com (cuyas páginas web se encuentran en C:\Web\Dominio2 y tiene como página inicial indexd2.htm). Para ello decidimos utilizar los dominios web del Motor. Los pasos a realizar
son los siguientes (para realizar el ejercicio completo deberíamos crear previamente la carpetas Web, y dentro de ésta las carpetas Dominio1 y Dominio2, así como las páginas indexd1.htm e indexd2.htm).
Agregar
Seleccionamos la opción de menú Editar/Dominios Web para que se muestre el cuadro de diálogo Dominios web. En dicho cuadro de diálogo pulsamos el botón
Agregar y en el cuadro de diálogo Propiedades del dominio web introducimos las propiedades correspondientes al primero de los
dominios:
Dominio: www.dominio1.com
Directorio de la Web: C:\Web\Dominio1\
Archivo Html por defecto: indexd1.htm
Una vez pulsado el botón Aceptar, volvemos a pulsar el botón
Agregar
e introducimos las propiedades correspondientes al segundo dominio.
11
Servidor de aplicaciones
e
ADVERTENCIA
De esta manera, cuando un visitante de la web teclea cualquiera de los dos
dominios, ambos irán dirigidos al Motor, y éste resolverá en función de las
propiedades que se han definido para cada uno de ellos.
11.13
Navegador Velázquez Visual
El Navegador de Velázquez Visual permite ejecutar aplicaciones de Velázquez Visual cargadas en un Servidor de aplicaciones de Velázquez Visual.
La conexión con el Servidor ha de hacerse a través de una dirección IP, bien
en una red local, o bien vía telefónica.
Asimismo, también es un navegador web y un cliente de disco (permite acceder a las carpetas compartidas en el Servidor).
11.13.1. Instalación del Navegador
La instalación del Navegador Velázquez Visual es sencilla, ya que el asistente de instalación indica los pasos a realizar. Una vez instalado, se crea un fichero ejecutable, denominado iRunner.exe, situado en la senda C:\Archivos
de Programa\Atica\Velazquez\Program.
Cuando se actualiza el Motor con una nueva versión es posible actualizar
los puestos clientes que disponen de un Navegador de versión anterior a la
nueva versión del Servidor. Dicha actualización del Navegador se producirá
Para que los dominios web
en el Motor estén bien
definidos se debe tener en
cuenta lo siguiente:
En la propiedad Dominio del
cuadro de diálogo
Propiedades del dominio
web debe escribirse el
dominio sólo con www (es
decir, para uno de los
dominios del ejercicio
anterior será
www.dominio1.com).
El proveedor de servicios de
internet que tiene registrado
el dominio debe redirigir el
dominio a la IP del router (en
caso de disponer de una
conexión ADSL) de la
siguiente manera: (utilizando
el ejemplo del ejercicio
anterior sería:
http://Iprouter/dominio2.com
/indexd2.hml).
548 549
VELAZQUEZ VISUAL
cuando accedamos a alguna de las aplicaciones que sirva el Servidor. En
ese momento aparecerá un cuadro de diálogo que pregunta si queremos
realizar la actualización:
ADVERTENCIA
Las actualizaciones de
versión del Navegador no
afectan a los iconos de
acceso directo. Es decir, si
cuando actualizamos el
navegador, lo hacemos en
un directorio distinto del que
teníamos la versión anterior,
debemos revisar los
accesos directos que
teníamos creados y
apuntarlos al nuevo
Navegador.
Si se pulsa el botón No se mostrará un nuevo cuadro de diálogo indicando la necesitad de actualizarse, y por la que no podremos acceder a la
aplicación solicitada. Si pulsamos el botón Sí aparecerá el cuadro de diálogo Actualización de Navegador Velázquez Visual versión X.X que mostrará la senda en la que esté instalado dicho Navegador. Con el botón
Examinar podremos modificar la ruta (en el caso de no estar instalado en
la senda por defecto, es decir, C:\Archivos de Programa\Atica\Velazquez\Program).
11.13.2. Interfaz del Navegador
Una vez arrancado el Navegador se mostrará una ventana que está dividida en las siguientes partes.
El área [a] corresponde a la barra de menús, el área [b] corresponde a la
barra de herramientas y, finalmente, la opción [c] es el área de visualización (tanto de aplicaciones, como de páginas web, como de carpetas
compartidas).
11
11.13.3. Barra de menús
Antes de pasar a las opciones de la barra de menús indicar que sólo se van
a explicar aquellas opciones propias del Navegador, ya que el resto se han
mencionado al hablar del Ejecutor de proyectos (vRunner).
Menú Archivo
En este menú existen las siguientes opciones:
Ver estado cachés..., que lanza el cuadro de diálogo Estado de las cachés
y que muestra para cada tabla de la aplicación el número de fichas almacenadas en caché hasta ese momento.
Servidor de aplicaciones
550 551
VELAZQUEZ VISUAL
Dormir aplicación: esta opción aparece siempre y cuando se realiza la conexión a internet a través de un módem. Si durante la ejecución de una aplicación cualquiera dormimos ésta, se desconectará la conexión y se minimizará el Navegador en la barra de herramientas. Haciendo doble clic sobre el icono del mismo en la barra de herramientas estableceremos de nuevo la conexión telefónica con el Servidor y se abrirá la aplicación en el punto donde la habíamos dejado durmiendo.
Menú Editar
En este menú contamos con las siguientes opciones:
Enviar telegrama...: si previamente hemos creado Grupos de mensajería
es posible enviar telegramas a otros usuarios desde el Navegador. Cuando se ejecuta esta opción se presenta el cuadro de diálogo Enviar telegrama:
11
Servidor de aplicaciones
Las opciones del cuadro de diálogo son las siguientes:
Seleccionar todos: el telegrama a enviar será recibido por todos los
usuarios que formen parte del Grupo de mensajería (los que aparecen en el
área Destinatarios).
Seleccionar los activos: el telegrama a enviar será recibido por todos
los usuarios del Grupo de mensajería que estén en ese momento conectados.
Deseleccionar todos: desmarca los usuarios del Grupo que se hayan
marcado para enviar el telegrama.
Mensaje: área en el que se escribe el texto del telegrama.
Una vez pulsemos el botón Enviar los usuarios seleccionados como destinatarios recibirán un cuadro de diálogo Telegrama recibido que contiene el
nombre del remitente junto con el texto del telegrama.
Seleccionar todos
Seleccionar los activos
Deseleccionar todos
552 553
VELAZQUEZ VISUAL
Ver telegramas..: permite visualizar los telegramas recibidos por el usuario
en el caso de tener seleccionada la propiedad Telegramas-Se presentan
cuando se desee en la pestaña Opciones dentro de la opción de menú Ver
> Personalizar (se verá más adelante).
Explorar Web: abre el panel correspondiente al navegador web.
Explorar equipo: permite visualizar las carpetas compartidas por los servidores de Velázquez Visual a los que el usuario tiene acceso.
Al seleccionar esta opción se mostrará una ventana dividida en cuatro
partes:
Los dos paneles de la parte superior muestran para cada uno de los servidores Velázquez Visual a los que está conectado el usuario (panel izquierdo) las carpetas y ficheros a los que tiene acceso (panel derecho).
11
Servidor de aplicaciones
Los dos paneles de la parte inferior son los correspondientes a un explorador de Windows del equipo del usuario.
A continuación realizaremos un ejemplo de conexión al Servidor de disco.
Ejemplo: Conexión a un Servidor de disco Velázquez
El usuario Usuariodos desea crear una conexión con el Servidor de disco de
la empresa. Para ello se siguen los siguientes pasos:
Selecciona desde el Navegador la opción de menú Editar/Explorar equipo.
Se muestra la ventana del Navegador con los cuatro paneles vistos anteriormente.
Sobre el panel superior izquierdo de la ventana pulsa con el botón derecho
del ratón y selecciona, en el menú contextual que aparece, la opción Añadir servidor...
Al seleccionar esa opción se muestra el cuadro de diálogo Servidor de disco de Velázquez. En dicho cuadro el usuario rellena las propiedades:
e
554 555
VELAZQUEZ VISUAL
e
Las propiedades del cuadro de diálogo son las siguientes:
Nombre o IP del servidor: nombre del Servidor (o IP) al que se conecta el
usuario.
Nombre usuario: nombre que tiene el usuario en el Servidor Velázquez Visual, es decir, la que utiliza para acceder a las aplicaciones.
Contraseña: contraseña del usuario en el Servidor Velázquez Visual, es decir, la que utiliza para acceder a las aplicaciones.
Pedir contraseña en cada sesión: si se marca este check le aparecerá el
cuadro de diálogo Control de acceso, que le pedirá la contraseña del
usuario.
Descripción: la que tiene el Servidor. Dicha descripción aparecerá en la lista de servidores.
Una vez se pulsa el botón Aceptar, aparecerá representado en el panel superior izquierdo el Servidor, y en el panel superior derecho las carpetas y ficheros a los que accede el usuario.
11
Servidor de aplicaciones
e
Seleccionando el icono del Servidor del panel superior izquierdo y pulsando con el botón derecho del ratón es posible tanto borrar (Eliminar servidor) como modificar (Modificar servidor) las propiedades del Servidor seleccionado.
Menú Favoritos
Favoritos es una lista donde podemos almacenar tanto aplicaciones Velázquez como URL a las que accedamos con frecuencia.
En este menú contamos con las siguientes opciones:
Agregar a Favoritos: agrega a la lista de favoritos la aplicación de Velázquez
Visual o URL actual. Al seleccionar esta opción se presentará el cuadro de
diálogo Agregar a Favoritos.
556 557
VELAZQUEZ VISUAL
En dicho cuadro de diálogo podemos dar un nombre descriptivo a la página o aplicación que vayamos a agregar a Favoritos y especificar en qué carpeta queremos almacenarlo.
Organizar Favoritos: nos permite organizar por carpetas todas las páginas o
aplicaciones agregadas en favoritos. Al seleccionar esta opción se muestra
el cuadro de diálogo Organizar Favoritos.
En dicho cuadro de diálogo nos es posible cambiar el nombre, tanto de carpetas, como de páginas agregadas a favoritos, así como crear nuevas car-
11
petas, cambiar su ubicación o eliminarlas. Finalmente, en esta opción de
menú pueden aparecer los Favoritos que no estén guardados en ninguna
carpeta.
Menú Ver
En este menú tenemos las siguientes opciones:
Display Out: si en la aplicación ejecutamos funciones de Correo electrónico
podemos activar esta opción de menú para ver los mensajes enviados y recibidos. Una vez seleccionada se mostrará el cuadro de diálogo EMail.
En ella se informa sobre los mensajes enviados y recibidos, número de
mensajes que no han podido ser enviados y sobre el estado de la conexión.
Personalizar...: permite personalizar barras de herramientas, así como otros
datos de entorno del Navegador. Al seleccionar esta opción se presenta el
cuadro de diálogo Personalización:
Servidor de aplicaciones
558 559
VELAZQUEZ VISUAL
En el mencionado cuadro de diálogo aparecen las barras de herramientas
por defecto del Navegador. Si queremos crear una nueva barra de herramientas se debe pulsar el botón Nueva dentro de la pestaña Toolbars.
Para personalizar una barra de herramientas debemos hacer clic en la carpeta Comandos y mediante la técnica de arrastrar y soltar, mover el botón
que se desee a la barra de herramientas.
Para facilitar la localización de los botones, éstos han sido agrupados por
categorías (Archivo, Editar, Árbol, Fichas, Lista, Navegante, Procesos, Ver,
Ventana y Navegador).
La pestaña más interesante es la de Opciones, que tiene las siguientes propiedades:
11
Servidor de aplicaciones
• Formato de Números, Carácter separador:
Miles: indica el carácter que se utiliza como separador de miles en campos numéricos.
Decimales: indica el carácter que se utiliza como indicador de decimales en campos numéricos.
• Milisegundos retardo:
Autocompletar: permite, en campos NOMBRE de una tabla maestra, que al escribir en el control una cadena y transcurridos los milisegundos establecidos en
esta opción, el programa presente automáticamente el primer registro de la tabla maestra cuyo campo nombre comience por dicha cadena. La parte añadida
quedará seleccionada, con lo que, si el usuario prosigue la escritura, la parte seleccionada será sustituida por los nuevos caracteres que el usuario escriba.
Localizadores: cuando el usuario escribe en el localizador una cadena a
buscar, transcurridos los milisegundos especificados en esta opción se
presentarán los registros encontrados en la rejilla.
• Inicio: existen tres posibles modos de iniciar el Navegador:
Abrir aplicación Velázquez: al ejecutar el Navegador se presentará el
cuadro de diálogo Introduzca nombre del servidor que solicita la IP del
servidor de aplicaciones Velázquez con el que conectarse.
ADVERTENCIA
Es importante que en ambos
retardos no pongamos
valores muy pequeños, ya
que si no estarían
refrescando la información
cada muy poco tiempo,
ralentizando el uso de la
aplicación. También
debemos tener en cuenta si
el acceso lo realizamos a
través de Internet o a través
de una red local. En este
último podremos poner
valores menores que para
Internet.
560 561
VELAZQUEZ VISUAL
Explorador web: inicia el Navegador como un explorador web y cargará la página html de inicio especificada en las opciones de internet
del sistema.
Explorador del equipo: inicia el Navegador como un explorador de equipos, similar al explorador de Windows™.
Ninguno: el navegador no se abrirá en ninguno de los tres modos anteriores. Será el usuario quien debe o bien ejecutar una aplicación Velázquez o bien abrir una página web.
• Telegramas:
Se presentan cuando llegan: si a un usuario le han enviado un telegrama
éste le será mostrado en pantalla cuando llegue.
Se presentan cuando se desee: el telegrama no será mostrado al
usuario hasta que ejecute la opción Editar > Ver telegramas… Al recibir un telegrama se emitirá un aviso acústico (si está activada la opción siguiente) y se presentará en la barra de tareas del navegador un
icono advirtiéndolo.
Aviso acústico al recibir: si hemos activado esta opción se emitirá un pitido cuando recibamos un telegrama.
• Hilo de control: tiempo en segundos, transcurrido el cual el Navegador
debe enviar un pulso al Servidor de Aplicaciones para el refresco de los
datos en notificaciones terciarias.
Por ejemplo, el usuario A y el usuario B editan una misma ficha. El usuario A realiza cambios y acepta. Transcurridos los segundos especificados en esta opción se refrescarán los datos de la ficha editada por el
usuario B.
11.13.4. Barra de herramientas
La barra de herramientas por defecto del Navegador Velázquez Visual contiene los siguientes botones:
Como en el apartado anterior, vamos a comentar aquellos botones especiales del Navegador. A continuación detallamos la acción que ejecuta cada uno de ellos:
Ejecutar aplicación
Ejecutar aplicación: muestra el cuadro de diálogo Introduzca nombre del
servidor en el que se escribe el nombre o la IP del servidor al que se quiere conectar:
11
Una vez pulsamos el botón Aceptar se presenta el cuadro de diálogo Seleccione aplicación, que mostrará el listado de todas las aplicaciones que
sirve el Motor.
Cuando seleccionamos una aplicación y pulsamos el botón Aceptar aparece el cuadro de diálogo Control de usuario en el que el usuario escribe su
nombre y su contraseña para acceder finalmente a la aplicación:
Servidor de aplicaciones
562 563
Conectarse a Servidor
de Ática Software
Enviar telegrama
Explorar equipo
Atrás
Adelante
Detener
Actualizar
VELAZQUEZ VISUAL
En el cuadro de diálogo Introduzca nombre del servidor, si el usuario pulsa
el botón
se conectará a un Servidor de Atica Software que, al presentar el cuadro de diálogo Seleccione aplicación, mostrará la aplicación Libros, que es un ejemplo de aplicación de Velázquez Visual.
Enviar telegrama: presenta el cuadro de diálogo Enviar telegrama que
hemos visto en el apartado anterior.
Explorar equipo: presenta en una ventana la estructura de cuatro paneles, que comentamos anteriormente para acceder a las carpetas compartidas por el Servidor.
A continuación mencionamos los botones correspondientes a la barra de
herramientas Explorador:
Inicio
Inicio serie
Marca inicio serie
Atrás: si hemos abierto varias páginas en la misma ventana, cuando pulsemos este botón iremos a la página anterior a la actual.
Adelante: si hemos abierto varias páginas en la misma ventana, cuando
pulsemos este botón iremos a la página siguiente a la actual.
Detener: detiene la carga de la página web.
Actualizar: carga de nuevo la página web en curso.
Inicio: abre la página que hayamos especificado como página principal
en las Propiedades de Internet del sistema.
Inicio serie: si en una misma ventana del explorador hemos abierto diferentes páginas, este botón retornará a la que hayamos marcado con una
marca de inicio de serie (ver el siguiente botón), o, si no establecimos una
marca, a la primera página abierta en dicha ventana.
Marca inicio serie: la página en la que hayamos generado la marca será a la que retornemos si, en la misma ventana, pulsamos el botón de Inicio
serie.
Barra de direcciones: este control permite acceder
directamente desde el Navegador a la dirección URL escrita en el mismo.
Si este control es incluido en una barra de herramientas del Navegador
siempre estará activo, por tanto, desde cualquier punto de la aplicación
donde esté visible dicha barra de herramientas podrá dispararse el explorador web. Pulsando sobre el botón de este control se mostrará el historial
de las distintas URL’s a las que se haya accedido a lo largo de esa sesión
del Navegador.
11
11.14
Optimización de aplicaciones
en Cliente-Servidor
Si hemos desarrollado una aplicación y ésta se ejecuta en arquitectura de
red local (utilizando el Ejecutor vRunner) dicha aplicación podrá ser instalada en el Servidor de aplicaciones Velázquez Visual sin realizar por ello ningún tipo de modificación.
Sin embargo, hemos de tener en cuenta una serie de cuestiones que aumentarán el rendimiento de la aplicación (optimizarla) de cara a su instalación en el Motor, ya que los usuarios pueden estar conectados a la aplicación desde cualquier lugar a través de Internet.
11.14.1. Sockets TCP: retardos y optimización
La comunicación entre máquinas se establece mediante sockets. Una
vez establecida dicha comunicación, la información viaja distribuida en
paquetes con un tamaño de unos 4 kb (aproximadamente). Por ejemplo: un conjunto de datos de 400 kb viajaría distribuido en unos 100 paquetes.
Los sockets llevan, entre otros parámetros, las IP origen e IP destino, de
modo que siempre alcanzan su destino: si un nodo falla en la comunicación
otros nodos son interrogados para lograr el envío.
Una vez establecida la comunicación (socket), el tiempo que los paquetes
de información emplean en viajar es el mismo independientemente de que
ocupen 4 kb o menos. Es en el establecimiento del socket donde se ralentiza la comunicación, ya que una vez establecida el traspaso de información
es rápido, tardando más o menos según el canal por el que viajen los datos
(enviar 1k es casi igual a enviar 4k).
Por otro lado, en una red local el tiempo que un socket emplea en viajar es
de unos 10 ms, mientras que a través de internet ronda los 250 ms, de ahí
que las peticiones a través de internet sean mucho más lentas: se produce
un retardo, y por lo tanto conviene generar el menor número de sockets posible: hemos de optimizar nuestras aplicaciones.
Existen diversos factores que aumentan el número de sockets generados,
por ejemplo, las rejillas en las que se presentan datos capturados mediante punteros indirectos. Por ejemplo: si a través de internet presentamos una
rejilla con datos de la misma tabla se generan dos sockets, uno para la petición y otro para el envío de datos, de modo que la rejilla se presentaría en
menos de un segundo. Sin embargo, si presentamos registros capturados
mediante un puntero indirecto generamos tantos sockets como registros se
presenten, de modo que si encontramos 100 registros, la rejilla tardaría 25
segundos en presentarse.
Servidor de aplicaciones
564 565
VELAZQUEZ VISUAL
11.14.2. Optimizar el tamaño del mapa
Cuando nos conectamos a un servidor de Velázquez éste nos envía la información del mapa de la aplicación, de modo que necesitamos optimizar el tamaño del mapa con el fin de que este traspaso sea lo más rápido posible.
En el Servidor de aplicaciones podemos instalar tanto un fichero .map como un .vam, pero no pensemos que por instalar el .vam (que ocupa menos)
realizamos optimización alguna, ya que el servidor convierte esos archivos
a otro archivo .mgz, que es el que realmente nos envía, y que ocupa lo mismo hayamos instalado el .map o el .vam.
Optimización de dibujos
Hemos de reducir al máximo el tamaño de los dibujos que incluimos en el
mapa, para lo cual en un programa de edición iremos reduciendo la paleta
de colores del dibujo, cuidando que éste no pierda calidad. Esta reducción
en la paleta hemos de realizarla paulatinamente, ya que si lo hacemos de
golpe puede fallar el algoritmo de cálculo del programa de edición.
Una vez hayamos reducido la paleta, con el programa de edición realizaremos una nueva compresión a formato RLE estándar (bmp) (cuidado: si no
es RLE estándar puede que el editor de Velázquez rompa al llevar el dibujo
al mapa) y la guardamos en disco para después abrir el editor y traernos la
imagen retocada (opción “pegar desde”). Hemos de hacerlo así y no mediante “copiar y pegar”, ya que usando el portapapeles se reservan los primeros veinte colores para Windows y no se respeta la paleta de colores de
la imagen retocada.
Cuando reducimos el tamaño de una imagen (pensemos en todos los iconos que puede tener nuestra aplicación) lo ideal es reducirla a 16 colores (4
bits por pixel), ya que de este modo optimizamos la paleta al máximo. Si la
imagen no queda del todo bien al reducirla a 16 colores podemos retocarla con el programa de edición.
Aprovechamiento de los objetos
Otra manera de controlar el tamaño de un mapa es el aprovechamiento de
objetos. Por ejemplo: si una misma rejilla puede servirnos para presentar
dos listados distintos, no tiene sentido crear una rejilla para cada listado.
11.14.3. Elementos que retardan una aplicación
Cuando diseñamos una aplicación o trabajamos con ella a través de internet hay ciertos detalles que hemos de tener en cuenta, ya que ralentizan en
gran modo su funcionamiento. Veámoslos:
Visualización de datos obtenidos a través de punteros indirectos
Supongamos una aplicación en la que tenemos las tablas LIBROS, AUTORES y EDITORES, siendo LIBROS histórica de las otras dos. Para presentar en una rejilla de la aplicación una lista de libros con su autor y editor el
11
proceso sería el siguiente: nuestra máquina genera un socket de petición de
libros, devolviéndonos el servidor los primeros títulos a presentar (pongamos unos 50 del total, que podrían ser 1.000, por ejemplo). Una vez devueltos estos 50 primeros títulos, se generan un segundo y tercer sockets
para pedir los autores y los editores de los títulos devueltos.
En el ejemplo anterior presentamos en una rejilla punteros enlazados a
maestro, muy optimizados en Velázquez Visual. Ahora bien, en absoluto es
aconsejable presentar en una rejilla punteros indirectos, ya que estos enlaces no se encuentran optimizados, de modo que para presentar cada registro de la lista ha de generarse un socket. Si en la rejilla del ejemplo anterior presentáramos un campo capturado mediante un puntero indirecto, como son 1.000 registros tardaría 250 segundos en presentarse (¡más de cuatro minutos!).
Si se trata de un formulario la presentación de datos capturados mediante
punteros indirectos también ralentiza la apliación, pero como presentamos
uno o pocos registros el efecto se nota menos.
Filtros secuenciales
Supongamos que en una rejilla en la que presentamos artículos queremos
quedarnos sólo con aquellos cuyo campo agotado (booleano) tenga valor 1.
Tenemos la opción de Filtrar, pero ésta es desaconsejable ya que filtrando
generamos una petición (socket) al servidor, el cual devuelve una primera
remesa con 50 o 100 registros que el irunner debe recorrer uno a uno, comprobando el contenido del campo agotado. Terminada esta primera remesa
se genera otro socket en el que se piden más registros al servidor y que el
irunner debe filtrar... así hasta acabar con toda la lista.
Este proceso es muy lento a través de internet, por lo que es totalmente desaconsejable a no ser que sepamos con total seguridad que el número de
registros es muy pequeño. También hemos de saber que cuando filtramos
desde las propiedades de una búsqueda el proceso es algo más rápido, ya
que el filtrado lo realiza el servidor (tercer plano).
De todos modos, la forma óptima para resolver el problema anterior es mediante la opción de listas Rebuscar, indicando que quite de la lista aquellos
registros cuyo campo agotado sea 0. Esto es así ya que Rebuscar trabaja
con índices y no va leyendo los registros uno por uno.
Rejillas iniciales donde se muestren objetos
Todos los objetos del contenedor (objetos texto, dibujos, etc.) se tienen que
pedir al servidor cada vez que van a ser presentados en una rejilla, de modo que por cada uno se genera un socket. Además no hay caché para los
objetos del contenedor. Esto ocasiona que las rejillas en las que presentemos objetos del contenedor se van a ralentizar mucho si las presentamos a
través de internet.
Rejillas con totales
En las rejillas hemos de evitar la introducción de pies, ya que esto fuerza a
la lectura de toda la lista para el cálculo del pie.
Servidor de aplicaciones
566 567
VELAZQUEZ VISUAL
Condiciones activo / visible y enlaces a hermano
Supongamos un formulario en el que establecemos una condición de activo para un botón (el botón Aceptar, por ejemplo) en las propiedades de un
control de edición de un campo enlazado con un puntero indirecto. Como
los punteros indirectos no se guardan en la caché de nuestra máquina, cada vez que escribamos sobre el control de edición se generará un socket
para que nos devuelva el contenido del campo con el fin de determinar si
se cumple la condición. Además, se generarán tantos sockets como condiciones hayamos introducido en el formulario.
Es por esto que las condiciones activo / visible sobre campos capturados
con puntero indirecto son totalmente desaconsejables trabajando a través
de internet.
Si el campo es enlazado a maestro o de la propia tabla no tenemos este problema, ya que sí son guardados en la memoria caché de nuestra máquina.
Otro caso parecido al anterior aparece cuando trabajamos con campos enlazados a hermano contiguo. Supongamos un formulario en el que presentamos un campo enlazado a hermano contiguo y en el que tenemos botones Siguiente y Anterior que nos permiten movernos por los hermanos. Sería útil una condición de activo para el botón, de manera que éste se desactivara cuando no hubiera más hermanos (habríamos llegado a los “extremos”), pero verificar esta condición implicaría la generación de un socket
cada vez que pulsamos una tecla (al pulsar una tecla se analizan todas las
condiciones activo y visible), lo que la hace totalmente desaconsejable
cuando trabajamos por internet.
11.14.4. Transacciones
Cada vez que realizamos una operación que implique escritura en disco estamos realizando una transacción. Cuando lanzamos procesos que transaccionen nos encontramos con dos casos extremos:
Puede que forcemos muchas transacciones pequeñas, lo que implica:
Abrir y cerrar cada una de las transacciones, lo que provoca un tiempo de
retardo por cada operación (desventaja).
Dar de alta un registro en el Historial del servidor por cada transacción realizada, que también implica retardo (desventaja).
Bloqueamos pocas fichas, de modo que apenas gastamos memoria en el
servidor (ventaja), pero esto no siempre nos interesa. Supongamos, por
ejemplo, un proceso en el que para una factura de un cliente realizamos una
transacción por cada albarán, y justo cuando hemos facturado la mitad se
cae el sistema. ¡Nos queda la otra mitad sin facturar y las transacciones que
ya se han realizado no se deshacen! En casos como éste es aconsejable
realizar una transacción por cada factura del cliente que englobe todos los
albaranes.
11
Puede que forcemos una sola transacción grande, lo que implica:
Un gasto considerable de memoria en el servidor (desventaja), ya que éste
guarda en memoria las fichas bloqueadas por si hay que deshacer la transacción. Ojo: hay gasto de memoria cuando realizamos bajas o modificaciones, pero no cuando damos altas, ya que en este caso no hay ficha que
memorizar por si hay que deshacer la transacción. Caso aparte son aquellas altas que desencadenan actualizaciones, ya que en este caso las fichas
modificadas por la actualización sí se guardan en memoria.
La velocidad a la que se realizan las operaciones es mucho mayor que en
el primer caso (ventaja).
Se genera una sola transacción, de modo que la pérdida de tiempo es mucho menor (ventaja).
Se bloquean las fichas implicadas en la operación, lo que impide a otros
usuarios de la aplicación trabajar con esas fichas (desventaja). No se bloquean todas las fichas a la vez, sino que se van bloqueando según trabajamos con ellas. Es decir, si en una transacción vamos a modificar 1.000 fichas, cuando llega a la 563 habrá bloqueado las primeras 563.
11.14.5. Optimizaciones para el rendimiento óptimo
11.14.5. en ejecución
Procesos en tercer plano
En nuestras aplicaciones podemos optimizar los procesos forzando que éstos se ejecuten en tercer plano, es decir, en el servidor. Veámoslo con un
ejemplo.
A continuación presentamos un proceso sin optimizar:
El origen del proceso es una lista de la tabla CLIENTES y en él se pregunta
si queremos o no actualizar los clientes. En caso afirmativo se recorre la lista y se modifica el campo FECHA ALTA.
El proceso se ejecuta en primer plano, es decir, en nuestra máquina. Además, como incluye la función recorrer lista lectura / escritura, escribe en disco. Esto implica que sólo realice una transacción al recorrer el bucle (si no
escribiera en disco realizaría tantas transacciones como registros encontrara, ralentizándose mucho más el proceso).
Podemos optimizar este proceso partiéndolo en dos: uno que incluya el bucle y que se ejecute en tercer plano y otro encargado de lanzar el anterior y
que se ejecute en primer plano. Veámoslo:
Servidor de aplicaciones
568 569
VELAZQUEZ VISUAL
El proceso que se va a ejecutar en el servidor es el siguiente:
El proceso anterior tiene como origen una lista de la tabla CLIENTES y lo
hemos identificado como UPDATE-CLIENTES-OPT-3P.
El proceso encargado de lanzar el anterior es:
Este proceso se ejecuta en primer plano, y en él incluimos la función Ejecutar proceso en la que seleccionamos el proceso UPDATE-CLIENTESOPT-3P, indicando que éste debe lanzarse en modo servidor.
Al montar el proceso de este segundo modo (optimizado) la actualización
de la lista se realiza mucho más rápido (diez veces más de media), ya que
es el servidor quien la realiza, evitando que haya tráfico de información a
través de la red.
Al montar una estructura como la anterior hemos de tener en cuenta que en
un proceso en tercer plano no podemos lanzar preguntas, presentar formularios, rejillas... sólo podemos usar la función de procesos Mensaje, que se
suele usar para depurar. Sus contenidos se presentarán en la barra de mensajes del servidor de aplicaciones.
Forzar una única transacción
Supongamos un proceso para actualizar las ventas en una lista de clientes
y que necesita confirmación por parte del usuario. Éste se compondrá de
dos procesos:
Uno lanzador, en primer plano y con origen una lista de la tabla CLIENTES.
En él incluiremos la parte que interactúa con el usuario.
PROCESO LANZADOR
Otro en tercer plano (ACTUALIZAR-VENTAS-CLIENTES-3P en el proceso
anterior) con origen ficha de la tabla CLIENTES, en el que cargamos el histórico de ventas de cada cliente, lo recorremos y realizamos la modificación
necesaria en cada registro.
11
PROCESO EN TERCER PLANO
Sólo ejecutamos esta última parte en el servidor, ya que necesitamos que,
una vez dentro del bucle que recorre los clientes, nos pregunte si queremos
actualizar sus ventas en el caso de que se cumpla una condición (en este
ejemplo la condición es que pertenezca al aula 8). Para que se presente la
pregunta ésta ha de ejecutarse en primer plano.
Ahora bien, aunque parte de este proceso se ejecute en tercer plano, estamos generando una transacción por cada cliente (muchas transacciones
pequeñas), lo que ralentiza su ejecución.
Podemos optimizar este proceso forzando una única transacción global para todo el bucle. Para ello haremos que el proceso en primer plano escriba
en disco, introduciendo una sentencia que implique modificación en la base de datos. Esta sentencia la incluiremos antes del primer bucle, de modo
que todos los subprocesos que vengan después heredarán dicha transacción. Veámoslo:
PROCESO OPTIMIZADO
Al introducir la función de proceso Modificar ficha seleccionada estamos
forzando a que el proceso escriba en disco, es decir, genere una transacción de la que dependerán todas las que se generaban antes y que vienen
después. Fijémonos cómo en el fondo estamos “engañando” a Velázquez,
ya que la sentencia que acabamos de introducir se encuentra bajo una condición que nunca se va a cumplir (también podríamos haber usado la función Modificar ficha seleccionada, o si el proceso no tuviera origen podríamos usar un Alta directa. La función Modificar variable global no implica escritura en disco).
Veamos otro ejemplo. En este caso se trata de un proceso que importa un
fichero ASCII a una base de datos de clientes. El proceso es el que se presenta a continuación:
Servidor de aplicaciones
570 571
VELAZQUEZ VISUAL
IMPORTACIÓN DE CLIENTES
Mediante la función Alta directa (el origen del proceso es ninguno) forzamos
a que se genere una única transacción (si no generamos una por cada cliente). A continuación abrimos el fichero y mediante un bucle vamos leyendo
sus líneas. El siguiente paso es lanzar un proceso en tercer plano, que es el
que realiza el proceso de importación (al ser en tercer plano la importación
es mucho más rápida). A este proceso le pasamos los datos leídos en el fichero mediante una variable.
Con esta técnica que acabamos de ver la velocidad de ejecución es mucho
mayor, ya que generamos una única transacción y un solo alta en el historial. Ahora bien, tiene sus inconvenientes: al generar una única transacción
consumimos mucha memoria en el servidor. Si nos quedamos sin memoria,
Windows dará un aviso. Si el motor detecta que se queda sin memoria deshará la transacción, pero puede que no lo detecte y rompa, con lo que se
tendrá que deshacer la transacción al arrancar de nuevo el motor.
Otro inconveniente es que todas las fichas que intervienen en el proceso
están bloquedas para todos los usuarios. Supongamos, por ejemplo, que
en un proceso como el anterior actualizamos el precio de todos los artículos de una gran empresa. Mientras dure el proceso las fichas de los artículos permanecerán bloqueadas, con lo que las ventas estarían paradas
ese tiempo porque no podríamos generar tickets de venta (éstos modifican
el stock del artículo, pero como las fichas están bloqueadas no se pueden
lanzar).
La solución a los problemas anteriores pasa por trocear el proceso en varias transacciones. Veámoslo con el siguiente ejemplo, con el que importamos fotos (portadas) a una base de datos de libros:
11
Este proceso, que no transacciona, recorre el disco duro buscando extensiones de fotos y memorizando los ficheros en una variable global. Al llegar
a 500 fotos llama al proceso IMPORT-PORTADAS-DE-LIBROS-TRN, que es
el que realmente realiza la importación y que sí transacciona.
PROCESO IMPORT-PORTADAS-DE-LIBROS-TRN
Este segundo proceso toma la variable que le hemos pasado, la memoriza
en una local, busca todos los ficheros y los importa. A continuación busca
el libro, modifica la ficha seleccionada e importa la foto.
Con esta estructura estamos generando una transacción por cada 500 fotos. De este modo la ejecución es rápida, ya que generamos pocas transacciones y a la base de datos le cuesta poco importar 500 fotos. Además
bloqueamos menos registros y durante menos tiempo, a lo que hemos de
añadir que el gasto en memoria es menor.
Servidor de aplicaciones
572 573
VELAZQUEZ VISUAL
11.14.6. Efectos negativos no deseados
Bucle en el cliente con las búsquedas, historial del servidor
Fijémonos en el siguiente proceso con el que actualizamos las ventas de los
clientes entre fechas:
PROCESO ACTUALIZAR-VENTAS-CLIENTES-FECHAS NO OPTIMIZADO
El origen del proceso es una lista de la tabla CLIENTES. Éste recorre en
solo lectura la lista de clientes, y lanza la búsqueda VENTAS-ENTRE-FECHAS-CLIENTE, que devuelve las ventas de cada cliente y que es alimentada por las variables que hemos modificado antes de lanzarla. A
continuación recorre la lista de artículos y modifica la cantidad de cada
artículo.
Este proceso genera una sola transacción, pero ocasiona un efecto no deseado: cada vez que se lanza la búsqueda (tantas veces como clientes contenga la lista) se genera un registro en el historial, lo que disminuye en gran
modo el rendimiento del proceso además de cargar el historial con registros
no deseados.
¿Cómo salvar este inconveniente? Para evitar este efecto aprovechamos
que las búsquedas no son memorizadas en el historial cuando se lanzan en
tercer plano, de modo que diseñamos un nuevo proceso, ACTUALIZARVENTAS-CLIENTES-FECHAS-3P, con origen ficha de la tabla CLIENTES. El
proceso es el siguiente:
PROCESO ACTUALIZAR-VENTAS-CLIENTES-FECHAS-3P
Este proceso hemos de lanzarlo en tercer plano desde principal (ACTUALIZAR-VENTAS-CLIENTES-FECHAS), pero entonces nos encontraremos con
otro detalle: estaremos generando tantas transacciones como clientes tenga la lista, de modo que al proceso principal hemos de añadirle una sentencia que implique escritura en disco bajo una condición que no se cumpla. El proceso totalmente optimizado sería:
11
PROCESO OPTIMIZADO
Lista de registros en una tabla en memoria
Supongamos un almacén en el que se realiza inventario mediante una pistola
inalámbrica conectada al puerto serie de una máquina. De este modo generaremos una lista de registros en una tabla en memoria, pero tenemos un problema: las tablas en memoria no pueden compartirse en arquitectura cliente servidor, de modo que el motor no tiene acceso a la tabla del irunner.
En parte podemos solventar este problema, ya que no se puede compartir
una lista entera, pero sí un solo registro de la lista. Veámoslo en el siguiente proceso (no optimizado):
PROCESO NO OPTIMIZADO
Servidor de aplicaciones
574 575
VELAZQUEZ VISUAL
En el proceso anterior, cuyo origen es una lista de una tabla en memoria (los
códigos de barras leídos por la pistola), filtramos y ordenamos (permitido en
este caso por tratarse de una tabla en memoria). A continuación multipartimos por el artículo, recorremos la lista, modificamos la ficha y disparamos
el tubo de ficha que da de alta en la tabla MOV STOCKS la cantidad total a
regularizar. De este modo (uno a uno) sí podemos compartir los registros de
una tabla en memoria.
El proceso anterior, que se ejecuta en primer plano, va bien si trabajamos
en un red local, ¿pero qué ocurriría si el almacén que regulariza se encuentra en remoto? ¿y si además al dar de alta un registro en la tabla MOV
STOCKS se disparan contenidos iniciales que evalúan varios punteros? En
este caso, al lanzar el tubo de ficha en primer plano se generarían muchos
sockets, que retardarían en gran modo la aplicación.
Podemos optimizar el proceso ejecutando en tercer plano el siguiente subproceso con origen ficha de la tabla en memoria:
PROCESO M-IMPUT-PISTOL-REGULARIZAR-3P
De este modo la ejecución es mucho más rápida, ya que en tercer plano no
se generan todos los sockets generados en primer plano. El proceso optimizado es el siguiente:
11
PROCESO OPTIMIZADO
11.15
Incorporación de un manual de
ayuda propio para una aplicación
Podemos utilizar nuestro propio manual de ayuda para una aplicación final,
en lugar de usar el manual del ejecutor de proyectos/navegador de Velázquez Visual. Para ello crearemos el manual de ayuda con formato HLP, así
como su fichero de contenidos correspondiente (.CNT). Ambos ficheros
tendrán que ser llamados igual que el proyecto (por ejemplo, si hemos creado un proyecto llamado Gestion.map, tenemos que nombrar los ficheros
Gestion.hlp y Gestion.cnt).
Tendremos que almacenar el manual de ayuda en el directorio creado para
la aplicación en el caché de disco de la máquina cliente. Cuando un cliente se conecta por primera vez con un servidor, automáticamente, dentro de
la carpeta WINDOWS o WINNT (según el sistema operativo) de su disco local, se crea una carpeta llamada Vatp; dentro de ésta se generará una carpeta cuyo nombre será la IP del servidor conectado; dentro de esta carpeta se crearán subcarpetas por cada aplicación que haya sido ejecutada;
dentro de la carpeta de la aplicación se incluirá el manual de ayuda correspondiente.
En ejecución, cuando el usuario solicite ayuda se visualizará el fichero de
ayuda que hayamos creado para la aplicación.
Servidor de aplicaciones
576 577
VELAZQUEZ VISUAL
Resumen
Con el Servidor de Aplicaciones y HTTP de Velázquez Visual los usuarios
podrán acceder con el Navegador a una aplicación a través de Internet con
el protocolo VATP. Además éste podrá servir páginas web, tanto estáticas
como dinámicas. Esto último quiere decir que las páginas web se presentarán con datos procedentes de la base de datos de la aplicación, generándose en tiempo real y quedando totalmente integradas con la aplicación.
Podremos ver las páginas web tanto con el Navegador de Velázquez Visual
como con cualquier explorador web. Esto implica también que podremos
ver vía http, y en tiempo real, las actualizaciones y modificaciones hechas
por Internet vía VATP y viceversa, las modificaciones que hagamos con el
navegador podrán ser vistas al instante por un usuario con un explorador
web.
Para servir una aplicación debemos configurar primero el motor, instalar la
aplicación en el servidor y luego configurar los usuarios, sus grupos, las máquinas y las carpetas que queramos que compartan, etc. Por defecto, creará un usuario, que será el Supervisor.
Con el Servidor de Aplicaciones viene una aplicación denominada Historial
del Servidor, donde se graban todos los movimientos que en éste se producen y que nos permite conocer su funcionamiento.
Es conveniente la realización de copias de seguridad de los siguientes archivos para prevenir modificaciones accidentales, en caso de reinstalación
del servidor, etc., y poder recuperar los datos referentes a la configuración
del servidor:
fuvm.vuf: aplicaciones abiertas, usuarios y sus propiedades, grupos de
usuarios, etc.
tareas.fuv: tareas programadas.
carcom.vuf: carpetas compartidas.
Con el Navegador nos conectaremos al Servidor de Aplicaciones para ejecutar una aplicación de la lista que nos presenta. Además podremos ver
páginas web y explorar equipos para ver las carpetas compartidas.
Debemos tener en cuenta a la hora de servir una aplicación que debemos
optimizarla para el medio en que va a ser ejecutada: evitar el uso de funciones que llamen numerosas veces al servidor, cuidar dónde y cómo se
ejecutan los procesos, la carga de datos que se enviará al usuario, la cantidad de cálculos requeridos, las transacciones que se realizan, etc.
Descargar