Isis Script: Aplicaciones Web Con Bases ISIS
Isis Script: Aplicaciones Web Con Bases ISIS
Isis Script: Aplicaciones Web Con Bases ISIS
Internet
Red de Redes. Podemos afirmar que la unión de redes WAN si un centro fijo
constituye esta gran red.
Cuando Sir Tim Berners Lee creó Internet, tuvo en mente un sistema que
permitiera la comunicación entre las personas de manera más fácil. Una de las
herramientas existentes en Internet es el web, que junto con el correo
electrónico se han convertido en maneras muy populares de comunicarnos.
Cuando una persona visita una página web, lo que hace es, a través del
navegador web, demandar al servidor web una página html. Este servidor web,
atiende la petición y envía la página que es visualizada por el usuario.
1
Tecnología de Información 2 - Luis Maguiña
A lo largo del curso utilizaremos el servidor httpd, por ser software libre y
puede ser empleado con cualquier sistema operativo.
• htdocs
• cgi-bin
• conf
a).-La carpeta conf, tiene los archivos de configuración del servidor web
b).-La carpeta htdocs, tiene todas las páginas html que serán visualizadas por
el navegador web.
Cada uno de los servidores que tienen páginas web y que siempre están
conectados a internet, tiene un número IP. Como una forma de ayudar al ser
humano para que pueda navegar por los millones de páginas web, este número
IP se encuentra asociado a un Dominio. Así, cuando escribe en la barra de
direcciones de su navegador web http://www.aprendamosjuntos.info , en
realidad usted está haciendo una solicitud al computador que tiene el IP
67.210.123.75, esta asociación la realiza un programa que se llama SERVIDOR
DE NOMBRES.
2
Tecnología de Información 2 - Luis Maguiña
En Resumen:
El servidor web es necesario ya que este entrega las páginas web solicitadas
desde el navegador web. Si no está, simplemente no podrá publicar sus páginas
web.
Además necesitará tener un dominio, para que sus usuarios no tengan que
recordar un número IP (lo cual por cierto sería sumamente difícil).
Existen diversas interfaces para operar con bases de datos ISIS como:
microisis, winisis, cisis, xisis, wwwisis.
3
Tecnología de Información 2 - Luis Maguiña
- Página web
- Base de Datos ISIS
- wwwisis
- Archivos IsisScript
4
Tecnología de Información 2 - Luis Maguiña
Este lenguaje sirve para escribir páginas web. Existen diversas herramientas
de autoría web, que nos facilitan la publicación de un sitio web sin necesidad
de conocer el lenguaje. Sin embargo, para controlar todos los aspectos web lo
mejor es conocer el xhtml.
HTML y XHTML sin bien son parecidos, tenemos que estar conscientes de sus
diferencias. Mientras HTML desciende directamente de SGML el XHTML
nació de XML, es decir un documento XHTML debe seguir las reglas del XML.
Como su nombre lo indica, y según hemos visto en las reglas, este lenguaje
utilizar “marcas” (tag), estas marcas se escriben en par : marca de inicio y
marca de fin
Ejemplo:
<p> texto de varias lineas </p>
<table> .......</table>
<div> ...... </div>
Ejemplos:
5
Tecnología de Información 2 - Luis Maguiña
Niveles de encabezamiento
Otras marcas
6
Tecnología de Información 2 - Luis Maguiña
</ol>
* <ul>
<li>Texto</li
<li>Texto dos</li>
</ul>
Lista de Definición
• <dl>
• <dt>RAM</dt>
• <dd>Random Access Memory</dd>
• </dl>
Imágenes y Tablas
Elementos de la tabla
• <table border="numero">, define una tabla
• <caption>, damos un titulo a la tabla
• <tr>, crea una fila
• <td>, crea una celda de datos
• </table>, cierra la tabla.
• <th> se usa para escribir encabezados de tabla
Formularios
Son elementos que sirven para ingresar información que luego será enviada a
la pantalla, a un archivo de texto o a una base de datos.
Estos formularios, constan de varios elementos de distinto tipo: cajas de
texto, listas desplegables, cajas de chequeo, radio botones, listas de
selección múltiple, botones de envío y de borrado.
7
Tecnología de Información 2 - Luis Maguiña
Ejemplo:
<form action="http://localhost/cgi-bin/wxis.exe” method="post">
Nota importante
Existen dos métodos para enviar la información POST y GET. La diferencia
fundamental ii
es que en el método GET, la información es enviada
utilizando el URL, el que tiene una limitación de 256 caracteres. La
especificación técnica dice que el método GET se debe usar cuando
realicemos alguna operación de recuperación de información (vgr. búsqueda
en opac), y se emplea el método POST cuando se deba realizar alguna
operación de grabación o actualización de información o cuando se realice
alguna compra por web o cuando se envíe algún correo electrónico.
Cajas de texto
<input type="text" name="codigobarras" value="" />
Cada elemento del formulario debe tener asociado un nombre, para ello se
utiliza la etiqueta <label>
Ejemplo:
<label for="codigobarras">Código de Barras</label>
<input type="text" name="codigobarras" value="" />
8
Tecnología de Información 2 - Luis Maguiña
Listas Desplegables
Radio Botón
<form action="http://localhost/cgi-bin/wxis.exe" method="post">
<label for="sexo">masculino</label> <input type="radio" name="sexo"
value="hombre" />
<label for="sexo">femenino</label> <input type="radio" name="sexo"
value="mujer" />
<input type="submit" name="enviar" value="Aceptar" />
</form>
Nota importante: observe que en este elemento del formulario cada una
de las opciones tiene el mismo nombre, esto es así para conseguir que las
opciones sean excluyentes.
Ejemplo:
<form action="http://localhost/cgi-bin/wxis.exe" method="post">
<label for="sexo">masculino</label> <input type="radio" name="sexo"
9
Tecnología de Información 2 - Luis Maguiña
value="hombre" />
<label for="sexo">femenino</label> <input type="radio" name="sexo" value="mujer"
checked="checked" />
<input type="submit" name="enviar" value="Aceptar" />
</form>
10
Tecnología de Información 2 - Luis Maguiña
Areas de Texto
Da la oportunidad de ingresar grandes cantidades de texto. Se utiliza para
ingresar resúmenes.
Texto Oculto
Podemos utilizar este elemento del formulario para enviar datos sin que el
usuario los ingrese.
11
Tecnología de Información 2 - Luis Maguiña
Personalización de Botones
Se puede incluir imágenes como botones de envío. De esta manera se puede
mejorar el aspecto de los botones en los formularios.
Ejemplo:
<td><input type="image" name="enviar" src="ir.jpg" alt="Buscar" /></td>
Ejemplo:
<h3>Formulario de Inscripción</h3>
<form action="http://localhost/cgi-bin/wxis.exe" method="post">
<fieldset>
<legend>Estudios</legend>
<label>Educación</label>
<select name="educacion">
<option value="Egresado">Egresado</option>
<option value="Bachiller">Bachiller</option>
<option value="Licenciado">Licenciado</option>
<option value="Magister">Magister</option>
<option value="Doctor">Doctor</option>
</select>
<br /><br />
<label>Centro de Estudios</label>
<input type="text" name="universidad" value="" size="60" maxlength="50" />
12
Tecnología de Información 2 - Luis Maguiña
</fieldset>
<br />
<fieldset>
<legend>Experiencia Laboral</legend>
<label for="primero">Primer trabajo</label><input type="text" name="primero"
value="" />
<br /><br />
<label for="ultimo">Ultimo trabajo</label><input type="text" name="ultimo"
value="" />
</fieldset>
</form>
Ejercicio:
Elabore una página web con un formulario para búsqueda.
Cuando se escribe xhtml, veremos una página web simple, sencilla. Algunos
dirán se ve “feo”. Pero, por suerte CSS se encargará de adornar y darle el
toque “bonito” a esa página web “fea”.
Cuando se tiene una hoja de estilos, enlazada a todas nuestras páginas web,
13
Tecnología de Información 2 - Luis Maguiña
Ejemplo:
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>datos</title>
<meta name="generator" content="Amaya, see http://www.w3.org/Amaya/" />
<link rel="stylesheet" type="text/css" href="personal.css" />
</head>
Sintaxis CSS
selector {
atributo : valor;
atributo : valor;
}
Ejemplos:
h1 {
font-family: Verdana;
color: red;
}
h2 {
color: red;
font-family: Verdana;
}
14
Tecnología de Información 2 - Luis Maguiña
h1, h2 {
font-family: Verdana;
color: red;
}
Ejemplo 2:
p strong {
color: navy;
}
Esto indica que se pintará de color “navy” todas las etiquetas strong que se
encuentren entre el <p> y </p>
<p>
Las <strong>Naciones Unidas</strong> obligaron a los países .....
</p>
Clases CSS
Se define una clase antecediendo un punto al nombre de la clase. Se puede
aplicar a cualquier etiqueta del html.
.importante {
font-family: Arial;
font-size: 1.5 em;
font-weight: bold;
color: blue;
}
15
Tecnología de Información 2 - Luis Maguiña
p.importante {
color: red;
font-family: Verdana;
}
#importante {
color: red;
}
<p>texto .....</p>
<p id="importante">GNU/Linux es un sistema operativo</p>
<p>otro texto ... </p>
body {
overflow: auto;
}
#contenedor {
border: 1px solid #000057;
margin: 0 auto;
16
Tecnología de Información 2 - Luis Maguiña
width: 800px;
height: 518px;
}
p{
font-family: Arial;
color: #000000;
font-size: 0.9em;
text-align: justify;
}
#imagenes {
position: relative;
left: 2px;
}
#header {
border: 0px solid #EFF5FB;
padding-top: 4px;
padding-bottom: 1px;
margin-bottom: 1px;
background: #ffffff none repeat scroll 0% 50%;
width: 320px;
height: 20px;
font-family: Verdana;
text-align: center;
font-size: 13px;
font-weight: bold;
color: #000000;
}
#header p {
17
Tecnología de Información 2 - Luis Maguiña
font-family: Verdana;
color: #000000;
font-size: 13px;
text-align: left;
}
#expo_texto {
clear: both;
}
#item {
border: 1px solid #d8d8d8;
background-color: #f2f2f2;
margin-top: 10px;
width: 158px;
}
.redondo {
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
-moz-box-shadow: 2px 2px 10px #000000;
}
18
Tecnología de Información 2 - Luis Maguiña
ISISSCRIPT
<IsisScript>
</IsisScript>
Esta marca tiene un atributo “name” que sirve para documentar el archivo.
Ejemplo:
19
Tecnología de Información 2 - Luis Maguiña
</IsisScript>
</section>
</IsisScript>
20
Tecnología de Información 2 - Luis Maguiña
Tareas en IsisScript
Se pueden desarrollar tareas como: búsquedas, actualización de información,
eliminación de registros, importación – exportación
Tarea de Búsqueda
Empezaremos construyendo nuestro script para recuperar información de una
base de datos ISIS existente.
21
Tecnología de Información 2 - Luis Maguiña
<section name="inicio">
<do task="search">
<parm name="db">bases/sdoc/sdoc</parm>
<parm name="expression"><pft>v9000</pft></parm>
<loop>
<display><pft>mfn,'<br />'</pft></display>
</loop>
</do>
</section>
</IsisScript>
22
Tecnología de Información 2 - Luis Maguiña
<do task="search">
<parm name="db">bases/sdoc/sdoc</parm>
<parm name="expression"><pft>v9001+|*|</pft></parm>
<loop>
<display><pft>'Autor: ',v10+|; |,'<br />','Titulo: ',v12,'<br /><br
/>'</pft></display>
</loop>
</do>
</section>
</IsisScript>
Uso de cgitable
Es una forma más rápida de recibir los datos desde el formulario web. Se
23
Tecnología de Información 2 - Luis Maguiña
<cgitable>
<pft>'9000 terminos'</pft>
</cgitable>
Uso de CIPAR
informa sobre las rutas de los archivos de bases de datos. Para ello
empleamos la etiqueta <parm> de la siguiente manera:
<parm name="cipar">
<pft>
'sdoc.*=bases/sdoc/sdoc.*'/
</pft>
</parm>
Tarea mfnrange
Trabaja con un rango de registros de la base de datos. El usuario puede
solicitar al sistema recuperar un conjunto de registros.
La información que se debe suministrar para que se realice la tarea :
<parm name=db>
<parm name=from>
<parm name=to> | <parm name=count>
Ejemplo:
24
Tecnología de Información 2 - Luis Maguiña
<IsisScript name="rango">
<section name="rango">
<display><pft>'Content-type:text/html',##</pft></display>
<!-- <trace>On</trace> -->
<!-- definiendo las rutas de las bases de datos -->
<parm name="cipar">
<pft>
'sdoc.*=bases/sdoc/sdoc.*'/
</pft>
</parm>
<cgitable>
<pft>
'9000 desde'/
'9001 hasta'/
</pft>
</cgitable>
<do task="mfnrange">
<parm name="db">sdoc</parm>
<parm name="from"><pft>v9000</pft></parm>
<parm name="to"><pft>v9001</pft></parm>
<loop>
<display><pft>mfn(4),'<br />','Autor: ',v10+|; |,'<br />','Titulo: ',v12,'<br
/><br />'</pft></display>
</loop>
</do>
</section>
</IsisScript>
25
Tecnología de Información 2 - Luis Maguiña
a lo esperado.
Tarea keyrange
Recupera información de la base de datos a partir de los términos del listado
invertido. En su estructura es muy similar a la tarea mfnrange, pues se tiene
que pasar al wwwisis los mismos parámetros.
Ejemplo:
<IsisScript name="rango">
<section name="rango">
<display><pft>'Content-type:text/html',##</pft></display>
<!-- <trace>On</trace> -->
<!-- definiendo las rutas de las bases de datos -->
<parm name="cipar">
<pft>
'sdoc.*=bases/sdoc/sdoc.*'/
</pft>
</parm>
<cgitable>
<pft>
'9000 clave'/
</pft>
</cgitable>
<do task="keyrange">
<parm name="db">sdoc</parm>
<parm name="from"><pft>v9000</pft></parm>
<parm name="count">30</parm>
<field action="define" tag="1001">Isis_Current</field>
<field action="define" tag="1">Isis_Key</field>
<field action="define" tag="2">Isis_Postings</field>
<display><pft>
'<form action=http://localhost/cgi-bin/wxis.exe method=get>'/
'<input type=hidden name=IsisScript value=aj/recupera.xis />'/
'<select name=terminos size=10>'
26
Tecnología de Información 2 - Luis Maguiña
</pft></display>
<loop>
<display><pft>
'<option value='v1'>'v1'</option>'
</pft></display>
</loop>
<display><pft>
'</select><input type=submit name=enviar value=Recuperar></form>'
</pft></display>
</do>
</section>
</IsisScript>
27
Tecnología de Información 2 - Luis Maguiña
Zona loop. En esta zona del script se trabaja con los campos de las bases de
datos. No se tiene acceso a los campos de la base virtual. Para poder tener
acceso a estos campos debemos importarlos. Todo lo que esté fuera del loop,
trabaja con los campos del registro virtual.
Tarea Fullinvertion
Genera el listado invertido de una base de datos, conociendo la FST.
Parámetros :
Nombre de la base de datos
Nombre de la FST (Field Selection Table)
Ejemplo:
<IsisScript name="invierte">
<section name="invierte">
<display><pft>'Content-type:text/html',##</pft></display>
28
Tecnología de Información 2 - Luis Maguiña
<cgitable>
<pft>
'9001 base'/
'9002 fichero'/
</pft>
</cgitable>
<display><pft>v9001,'<br />',v9002</pft></display>
<do task="fullinvertion">
<parm name="db"><pft>v9001</pft></parm>
<parm name="fst"><pft>cat(v9002)</pft></parm>
<field action="define" tag="1102">Isis_Status</field>
<loop></loop>
<display><pft>'Archivo Invertido Generado'</pft></display>
</do>
</section>
</IsisScript>
Tarea Update
Mediante esta tarea se graba información en la base de datos ISIS o se actualizan
sus registros.
Los parámetros que admite esta tarea son:
<parm name=”db”>nombre de base de datos</parm>
<parm name=”mfn”>NEW</parm>
<parm name=”fst”>nombre de fst</parm>
El parámetro mfn debe llevar la palabra NEW cuando se trate de crear un nuevo
registro
29
Tecnología de Información 2 - Luis Maguiña
Funciones
Deben ser declaradas entre <IsisScript> y <section>
Ejemplo:
<IsisScript>
<function ...>
</function>
<section>
....
</section>
</IsisScript>
Al igual que <loop> crea una zona de trabajo especial, donde se necesita importar las
variables que no son de “registro”, igualmente también <function> crea una zona
especial de trabajo.
Ejemplo
<IsisScript name="sistemabusqueda">
<function name="cabecera">
<display><pft>'Content-type:text/html'##</pft></display>
</function>
<function name="buscar">
<parm name="cipar">
<pft>
'sub.*=bases/sub/sub.*'/
'gizmo.*=bases/gizmo/gizmo.*'/
'noti.*=bases/noticia/noti.*'/
</pft>
</parm>
<cgitable>
<pft>'9005 termino'</pft>
</cgitable>
<do task=”search”>
30
Tecnología de Información 2 - Luis Maguiña
(.....)
</do>
</function>
<function>
<display><pft>'Modulo de edicion de datos'</pft></display>
</function>
<section>
<call name="cabecera">now</call>
<cgitable>
<pft>'9050 accion'/</pft>
</cgitable>
<flow action="jump">
<pft>if v9050='buscar' then 'BUSCAR' else if v9050='editar' then 'EDITAR' fi
fi</pft>
</flow>
<label>BUSCAR</label>
<call name="buscar">now</pft></call>
<label>EDITAR</label>
<call name="editar">now</pft></call>
</section>
</IsisScript>
31
i Javier Eguiluz Pérez (2008). Introducción xhtml.
ii http://www.cs.tut.fi/~jkorpela/forms/methods.html fecha de último acceso: lunes 16 de marzo de 2009