(PDF) Sistemas de información - El profesional de la información · resize” scrolling=”no” marginheight=”0” mar- ... ses, programación de algu-nas rutinas, etc. 4. Web author: - DOKUMEN.TIPS (2024)

EL MODELO de hojas de es-tilo de DynaBase es un medio pa-ra gestionar y editar en el web deforma dinámica grandes colec-ciones de información. En estaspáginas describiremos somera-mente su entorno y componen-tes: DynaBase server 3.12, Dyna-Base web developer, DynaBaseweb manager y DynaBase scrip-ting language.

Sobre todo se intenta destacaruna opción de implementaciónpráctica de una serie de buenas ide-as como la generación dinámica depáginas web, la separación de con-tenido —identificado, cada vezmás a menudo, con una colecciónde documentos xml y su/s corres-pondiente/s DTD/s—, presenta-ción y comportamiento, la explota-ción de los navegadores para des-cargar al servidor de procesos, eluso de distintos lenguajes de scrip-ting y la decidida orientación a ob-jetos. Lo más interesante es obser-var cómo las soluciones avanzanhacia la aplicación de nuevas tec-nologías multiplataforma, escala-bles y no propietarias —la arqui-tectura de las hojas de estilo para

presentación se basa enel estándar xml delW3C—.

Inso es una de lascompañías punteras ala cabeza de la I+D co-mercial en aplicacionesxml y sgml. Sólo es ne-cesario mencionar, porejemplo, DynaText oDynaTag. La novedades, tal vez, que facilitaa sus clientes el desa-rrollo de soluciones, sobre todo pa-ra intranets, basadas en tecnologíasabiertas. Esta apuesta puede pare-cer algo arriesgada —realmente nolo es tanto si se analiza la forma enque comercializan sus productos osus cursos— y es sintomático dealgo que ya es un hecho: xml esútil y su rentabilidad no deja decrecer.

El entorno reseñado en estetexto es DynaBase dynamic webpublishing system, un sistema inte-grado de publicación y gestiónweb basado en la orientación a ob-jetos, la arquitectura cliente servi-dor, el protocolo http, la utilizaciónde xml, dhtml, html y diversos len-guajes de scripting para organizar

directamente la in-formación. En primerlugar, quizá sería útilpresentar sus princi-pales componentesde forma gráfica, taly como pueden verseen la figura 1.

El servidor DynaBa-se contiene una basede datos orientada aobjetos (servidor de

datos) y un pluginque interactúa con elservidor web que loesté usando (Netsca-pe enterprise server3.5.1 o Microsoft in-ternet informationserver 4.0). Una desus funciones escontrolar los cam-bios en los objetosque mantiene. Comose analizará más

adelante, DynaBase mantiene múl-tiples versiones de, por ejemplo,los documentos que gestiona ha-ciendo uso de memorias tempora-les y de la caché del navegador, loque presenta muchas ventajas y al-gunos inconvenientes.

«Dynabase mantienemúltiples versionesde los documentosque gestiona hacien-do uso de diversasmemorias temporalesy de la caché del na-vegador»

En el servidor también hay unintérprete para el lenguaje de scrip-ting DynaBase, mediante el cual sepuede controlar el comportamientode los objetos (a nivel de docu-mento, objeto DynaBase e, inclu-so, etiqueta). Su utilización no sig-nifica que se renuncie a las posibi-lidades de otros medios como Ja-va, JavaScript, Perl o Visual basic.Simplemente unos scripts son in-terpretados y ejecutados en el ser-vidor y otros en los clientes. Estamodularización de tareas resultarealmente efectiva.

25El profesional de la información, vol. 9, nº 3, marzo de 2000

Sistemas de informaciónDynaBase y xml: edición/gestión web

de información corporativaPor Antonio de la Rosa

Antonio de la Rosa

Figura 1

El profesional de la información, vol. 9, nº 3, marzo de 200026

El comportamiento de muchas de es-tas etiquetas está asociado a librerías de fi-cheros .wbs específicos desarrollados porDynaBase, como por ejemplo: Inso generalscript library (general_lib.wbs), Inso searchtag pack (search_tag_pack.wbs), InsoXpointer script library (Xpointers_lib.wbs),Inso CLI script library (cli_lib.wbs), Inso CLIcommand script library(cli_command_lib.wbs).

<Xpointer>

Se usa para recoger el contenido de unfichero y servirlo dentro de la hoja de estilo.La parte que debe recuperarse se definemediante los atributos de <Xpointer>. Pordefecto, el documento sobre el que actúa esel especificado por la URL incluida en elmensaje de petición del navegador (se pue-de especificar otro mediante el atributo hrefde <Xpointer>, lo que lleva a la aplicación deconceptos como el de la transclusión).

<!—Escribe el primer P encontrado enel primer body del documento /content/anto-nio..html . —>

<Xpointer href=”/content/antonio.html”Xpo in te r= ”ch i l d (1 ,body ) . ch i l d (1 ,P ) ”serve=”False”>

<list>

<query />

</list>

Crea una lista de artículos DynaBasedefinidos mediante etiquetas de consulta<query> y las muestradentro de la hoja deestilo.

<!—Escribe una lista en orden ascen-dente con los títulos de los documentos ob-tenidos. La búsqueda recupera los docu-mentos cuya “docClass” sea fútbol, balon-cesto, taeKwonDo o deportes y contenga lacadena de texto incluida en el parámetro se-arch de la URL requerida —>

<list sortorder=”ascending” sortpro-perty=”sortKey” sortkey=”child(1,title)” for-matID=”list1”>

<query type=”property” query=”fútbol”op=”6” property=”docClass”>

<query type=”property” query=”balon-cesto” op=”6” property=”docClass” mer-ge=”0” >

<query type=”property” query=”taeK-wonDo” op=”6” property=”docClass” mer-ge=”0” >

<query type=”content” query=”depor-tes” merge=”0”>

<query type=”content” query=”search”dynamic=”True” merge=”1”>

</list>

<include />

Se utiliza para servir un objeto (un do-cumento, por ejemplo) inline con la hoja de

estilo. No se halla en el interior de ésta perose procesa cuando el parser llega a la re-ferencia localizada en la etiqueta <include>.El artículo se referencia mediante el atributoSRC.

<include src=”/content/antonio.html” />

<switch>

<case />

<else />

</switch>

La etiqueta <switch> sirve un docu-mento que responde de forma diferente adistintos valores de una propiedad especifi-cada.

<!—Dependiendo de la propiedad“docClass” del documento requerido, estaetiqueta escribe dentro de la hoja de estilouna de las versiones de copyright.html(sports_copyright o news_copyright) si el va-lor de la propiedad no es news ni sports, en-tonces escribe el documento por defecto,copyright.html) —>

<switch prop=”docClass”>

<case href=”/content /sports_copy-right.html” value=”sports” />

<case href=”/content /news_copy-right.html” value=”news” />

<else href=”/content/default_copy-right.html” />

</switch>

<prop />

Recupera el valor de una propiedad deun objeto y lo sirve dentro de la hoja de es-tilo. Esta propiedad se define mediante elatributo prop. La fuente por defecto dondese busca es la URL incluida en el mensajede petición.

<prop prop=”docClass” />

<prop prop=”whenVersionCreated” />

<prop src=”/content/123098.html”prop=”estimatedExportSize” />

<date />

Recupera del servidor el valor de la fe-cha y lo presenta dentro de la hoja de estilo.El formato por defecto es ‘mmmm, dd,aaaa’.

<date />

<date format=”dd/mm/yy” />

<frame>

Esta etiqueta es equivalente a <frame>en html. Se han hecho modificaciones paraimplementar frames en las hojas de estilo.Por ejemplo, el valor del atributo SRC puede

cambiarse a: CurrentSRC. De este mododentro del frame aparecerá el contenido dela dirección URL incluida en el mensaje depetición.

<frameset border=”false”rows=”100,*,100” frameborder=”0”>

<frame name=”top”src=”/content/top_frame.html” noresize=”no-resize” scrolling=”no” marginheight=”0” mar-ginwidth=”0”>

<frame name=”body” src=”currentsrc”noresize=”noresize” marginheight=”0” mar-ginwidth=”0” template=”/demo_folder/sam-ple_template.html”>

<frame name=”bottom”src=”/content/bottom_frame.html “ noresi-ze=”noresize” scrolling=”no” margin-height=”0” marginwidth=”0”>

<noframes>

<body><p>this browser does not sup-port frames.</p></body>

</noframes>

</frameset>

<search>

<query />

</search>

Crea una lista de resultados de bús-queda correspondientes a las consultas<query> y las incluye dentro de la hoja deestilo.

<form action=”./search.htm” met-hod=”get”>

<input name=”search”size=”10”>&nbsp;<input type=”submit” va-lue=”Search”><br>

</form><br><br>

<!— Escribe una lista en orden ascen-dente con los títulos de los documentos re-cuperados. Con la búsqueda se obtienenaquellos cuya clase sea fútbol, baloncesto,taeKwonDo o deportes y que contengan lacadena de texto incluida en el parámetro se-arch de la URL requerida —>

<search sortorder=”ascending” sort-property=”SortKey” sortkey=”hits” forma-tID=”SearchResults” maxcount=”10”>

<query type=”property” query=”fútbol”op=”6” property=”docClass”>

<query type=”property” query=”balon-cesto” op=”6” property=”docClass” mer-ge=”0” >

<query type=”property” query=”taeK-wonDo” op=”6” property=”docClass” mer-ge=”0” >

<query type=”content” query=”depor-tes” merge=”0”>

<query type=”content” query=”search”dynamic=”True” merge=”1”>

</ search >

Tabla 1. Inso general tag pack: algunas etiquetas con funciones especiales en el sistema DynaBase.

27El profesional de la información, vol. 9, nº 3, marzo de 2000

Formato:

<Xpointer />

No se requiere final de etiqueta.

Atributos :

Cache

Define el comportamiento de lamemoria caché para la presentación dela página. Se le puede dar el valor Disa-ble (con lo que la caché no sirve paranada) o cualquier otro permitido de fe-cha que funciona como indicador parael sistema en el momento de sustituirun documento en memoria por unonuevo del servidor.

Href

Define el documento fuente delcual se va a recuperar parte del conte-nido, que debe ser html o xml. Si no seproporciona un valor se entiende que eldocumento fuente es el referido por laURL actual.

Serve

Es un atributo de dos valoresTrue/False que indica si la parte de con-tenido a recuperar debe servirse permi-tiendo eventos que accionen procesos ono. El valor por defecto es True.

Xpointer

Define la parte del contenido quese debe recuperar dentro del documen-to referido por la URL. Usa el lenguajeXpointer definido por el W3C.

Ejemplos:

<!—Sirve la primer parte del textosolicitado. —>

<XpointerXpointer=”child(1,body)”>

<!—Escribe el primer título del do-cumento solicitado. —>

<Xpointer Xpointer=”child(1,title)”serve=”False”>

<!—Escribe el primer párrafo en-contrado en el primer cuerpo del docu-mento solicitado. —>

<XpointerXpointer=”child(1,body).child(1,P)” ser-ve=”False”>

<!—Sirve la primera parte del do-cumento /content/copyright.html —>

<Xpointer href=”/content/copy-right.html” Xpointer=”child(1,body)”>

Tabla 2. Etiqueta Xpointer.El servidor puede fun-cionar sobre los sistemasoperativos Windows NT oUnix solaris y su instala-ción es bastante dificultosa.Los requisitos para una ins-talación NT son: procesadormínimo Pentium pro 200Mhz., sistema operativo NT4.0 y Service pack 3, 128 Mb deram, unos 60 Mb de espacio en dis-co y cualquiera de los servidoresweb anteriormente mencionados.

«El programa facilitael mantenimiento delcontenido, el diseño orediseño de las sedesweb»

Los clientes permiten inspec-cionar, editar, enlazar y gestionarel contenido de la/s sede/s webmantenida/s en el servidor. Ade-más de los navegadores y cualquierherramienta que los editores utili-cen normalmente —html o xml (elmuchas veces menospreciado No-tePad sobre todo), editores gráfi-cos, etc.— DynaBase presenta, pororden de importancia, los siguien-tes programas:

1. Web manager: para locali-zar, importar/exportar, editar omantener los artículos incluidos enel servidor.

2. Web developer: edita y con-trola la sintaxis de los scripts crea-dos con el lenguaje de scriptingDynaBase. Sirven para añadir cier-to comportamiento a los documen-tos mediante el uso de los objetosdefinidos en el entorno.

3. Command line interface(CLI): proporciona comandos que,

al ejecutarse sobre el servi-dor, permiten automatizardiferentes tareas: gestión deenlaces, asignación de cla-ses, programación de algu-nas rutinas, etc.

4. Web author: edición decontenido.

La seguridad del sistema mere-cería un epígrafe aparte, pero porrazones de espacio y enfoque sólose señalan sus tres componentesprincipales:

— Autentificación con un ser-vidor web. La identidad y el esta-tus de los usuarios se verifica me-diante la base de datos del servidor.

— Autentificación gracias a unservidor proxy si es que se deseaimplementar un cortafuegos, reglasDynaBase de seguridad, etc.

— La gestión de contenidos yel control de acceso de flujos sellevan a cabo mediante reglas quese aplican globalmente sobre la se-de e individualmente a los artícu-los que contiene.

Separación de contenido,comportamiento y estilo

Cuando el servidor DynaBaseresponde a una petición devolvien-do una página web, lo puede hacerdistinguiendo su contenido de lapresentación y del comportamientoañadido a esa página mediantescripts. Para su separación se usanhojas de estilo: ficheros que contie-nen cierta información que es posi-ble utilizar para formatear más deuna página. Esto resulta enor-memente útil a la hora de publicargrandes cantidades de datos puestoque se simplifican en gran medidatodos los problemas tradicionales

de la edición.

Las ventajas son las quese han citado ya tantasveces: se facilita el man-tenimiento del conteni-do, el diseño o rediseñode las sedes web, que se

Figura 2

Figura 3

El profesional de la información, vol. 9, nº 3, marzo de 200028

convierte en una tarea mucho másfácil, y se hace realidad el conceptode la reutilización. Al eliminarse lapresentación de una página html es-tándar se reduce su tamaño en un 50ó 80%, con lo que se minimiza par-te de su complejidad y, en conse-cuencia, su coste de conservación.

Además, con ambos conceptosseparados, las hojas de estilo con-trolan la apariencia del web. Por lotanto sólo hay que modificarlas pa-ra rediseñar una parte o el total delmismo. La reutilización del conte-nido es cuestión solamente decambiar la hoja de estilo a la queestaba asociado. Para ello, su dis-tribución es tan simple como co-piar ficheros, puesto que no haynecesidad de eliminarlos definiti-vamente, al igual que tampoco esobligatorio para las hojas de estilo.

Cómo implementa DynaBaselas hojas de estilo

La manera mediante la cual daformato al contenido es a través dela creación de “métodos” html.Hay que recordar que se trabaja enun entorno orientado a objetos, y“método” se refiere a cierto com-portamiento añadido a un objeto,en este caso a un documento html,y que se localiza en ficheros apar-te: scripts DynaBase con la termi-nación .wbs.

El sistema maneja, al menos,tres documentos interrelacionadospor cada página web servida al na-vegador: un fichero con el conteni-do (.html, .xml), una hoja de estilo(.html) y un script (.wbs). Todosellos y sus componentes son obje-

tos y como tales deben ser esta-blecidos en una clase para cum-plir su función. DynaBase lesasigna cada uno a una clase di-ferente, sin dejar por eso demantener su interrelación.

Es interesante profundizarbrevemente en por qué y cómoDynaBase obliga a que todos susdocumentos/objeto pertenezcan auna clase. En relación a la primeracuestión, es obvio si se tiene encuenta que se trata de un contextoorientado a objetos. El cómo es al-go más difícil de explicar. En laimagen de la figura 2 puede verseel menú del cliente DynaBase webmanager desde el cual se accede alas clases de los documentos queestán actuando en el web. En la fi-gura 3 se aprecia que existen clasespara documentos (HyperText), me-dia y script. Casi todas ellas estáninstaladas por defecto pero, en al-gunos casos, existe la posibilidadde añadir nuevas o modificar lasexistentes.

«El sistema manejatres documentos inte-rrelacionados por ca-da página web servi-da al navegador: unfichero con el conte-nido, una hoja de esti-lo y un script»

Se define una nueva clase dedocumentos cada vez que se deseaque un grupo particular con conte-nido específico se comporte de una

forma determinada. Dos tipos posi-bles podrían servir de ejemplo: “in-formes” para documentos de con-tenido o “templates” para hojas deestilo. Se puede definir una nuevaclase de hipertexto siguiendo el si-guiente proceso:

Cuando se selecciona “New”en la imagen superior izquierda,aparece el menú de la figura 4:

— En el primer cuadro de diá-logo se asigna el nombre de la nue-va clase.

— Como tipo Mime (multipur-pose internet mail extensions) sedebe elegir el adecuado (tercer re-cuadro): text/html, text/xml, etc.

— El tipo de documento debeser acorde a la elección anterior:html, xml.

— Si no existe una DTD espe-cífica (como en el caso de docu-mentos xml) se puede seleccionaruna por defecto, por ejemplo::.classes:nsie4_common.dtd (laDTD que obedecen las versiones 4y superiores de Iexplorer y Netsca-pe navigator).

— Por último es necesario se-leccionar en el cuadro de diálogogrande los scripts que van a inte-

ractuar con los documentos (ob-jetos) de la clase que se está defi-niendo, que, a su vez, son objetosde su propia clase, generalmentede DynaBase scripts. La figura 5muestra el menú desde el cual selocalizan y eligen.

Una vez completados estos pa-sos se obtiene una nueva clase(informes o template), y ahoraserá necesario asignarle los do-cumentos que le pertenecen. El

Figura 4

Figura 5

Figura 6

29El profesional de la información, vol. 9, nº 3, marzo de 2000

Tabla 3. Algunos de los objetos DynaBase más destacados.

Request:

Cookies

Headers

http version

IPAddress

Item

Method

URL

UserAgent

UserCacheKey

UserName

Web

Representa un mensaje httpde petición. Se usa para accedera la información contenida en estemensaje.

Response:

Headers

StatusCode

ReasonPhrase

Representa un mensaje httpde respuesta.

URL:

Host

Params

Path

Port

Query-Params

Scheme

Server-URL

Value

Recupera los parámetros(también los de consulta, si elque se ha recuperado se ha gene-rado gracias a una) incluidos en laURL que contiene el mensaje httpde petición.

Scanner:

Attrs

EventType

NodeType

TagName

Este objeto interacciona bidi-reccionalmente a través de la es-tructura arbórea de los documen-tos xml y html posibilitando así lalocalización del contenido de loselementos xml o html. Usando laspropiedades y métodos de esteobjeto se puede navegar por elcódigo de un documento de unaetiqueta a otra, entre bloques detexto, etc. Así es posible especifi-car con total precisión aquello quese desea recuperar o generar.

Parameter:

Name

Value

Es un par nombre/valor. Unejemplo claro de parámetro esuno de consulta y su valor basa-dos en el encabezamiento de unapetición http. Otro ejemplo es unnombre de atributo (en un ele-mento xml o html) y su valor.

DocItem:

PathName

Properties

Scanner

URL

URLs

Version

VersionCount

Representa un artículo (ítem)dentro de un web DynaBase. Esun fichero que puede contener:texto formateado en html o xml,un fichero script DynaBase (.wbs),imágenes en varios formatos (.gif,.jpg, .tiff), sonido (.wav) o vídeo(.avi, .mpeg, .mov). Un ítem puedeser también un directorio o subdi-rectorio del web.

sistema debe saber que los infor-mes son de la clase “informes”, ti-po Mime text/xml, tipo de docu-mento xml, perteneciente a la DTD:classes:informes.dtd y con losscripts a, b y c asociados. De estemodo el modelo consigue servir undocumento cuya presentación de-pende de la actuación conjunta devarios componentes.

«La recuperación,proceso y definiciónde objetos URL juegaun papel muy impor-tante a la hora de ge-nerar contenido diná-micamente»

Centrándose en la presentacióny en xml, cuando un navegador ha-ce una petición al servidor Dyna-Base, éste localiza y sirve la hojade estilo asociada con el documen-to referido en la URL en lugar de élmismo (contenido). Al procesarseciertas etiquetas xml presentes enesta hoja —aquellas especiales in-cluidas en el Inso tag pack de Dy-naBase (ver tablas 1 y 2)—, recu-peran el contenido apropiado y losuman a la respuesta que se va agenerar. En otras palabras, si desdeel navegador se observa el códigofuente de la página ofrecida, lo quese ve es una estructura (hoja de es-tilo), rellenada dinámicamente(contenido), cuyo comportamientodepende de una serie de scripts Dy-naBase (script). En la figura 6 seesquematiza todo este proceso.

Ejemplo práctico

El entorno DynaBase tienemuchos componentes e interaccio-nes. En un artículo de estas dimen-siones ya es complicado intentardar una idea global precisa. La me-jor forma de, al menos, destacar al-gunas de sus posibilidades y tal vezdespertar el interés de los lectores(no por el producto, sino por laaplicación de la idea) puede ser de-sarrollando un ejemplo concreto.

El profesional de la información, vol. 9, nº 3, marzo de 200030

Habría que iniciarlo desde lapágina que suministra??? el nave-gador cuando se solicita mediantela URL apropiada (figura 7):

http://antonio/documenten/product/debitel/pd000001.xml?Doc=/documenten/product/debitel/pd00001.xml

El objetivo de este artículo noes analizar en profundidad las posi-bilidades del objeto URL y la mejorforma de explotarlas —en la tabla 3se nombran algunos de los objetosy colecciones DynaBase más inte-resantes—. Por lo tanto, sólo indi-car que en una URL puede aparecermucha información útil:

— La posición del documentoen la jerarquía de directorios.

— Datos de su versión y cade-nas de caracteres que se le han en-

viado (si es un for-mulario y activa unscript CGI, por ejem-plo).

— Sus propiedadesespecíficas: la clasede documento seríauna, y un valor po-dría ser “template”.

— La forma de usarla caché del navega-dor, por ejemplo:/;cache=0.

— El puerto por el que se sirveo el valor de los parámetros defini-dos por el script o scripts asociadosa ese documento.

Como resumen se puede decirque la recuperación, proceso y de-finición de objetos URL juegan unpapel muy importante a la hora degenerar contenido dinámicamente.

La página que aparece en laimagen de la figura 7 ha sido gene-rada de esta forma y, como se hadicho anteriormente, es el produc-to de la interrelación de varios fi-cheros. A continuación se presen-tan estos componentes:

1. El fichero xml que genera elcontenido —la parte de texto queaparece a la derecha debajo de labarra verde con el nombre del pro-ducto: Global one— tal y como se

puede ver en la figura 8 si se abrecon WordPad, y que es un simpledocumento xml. Se ha analizado lainformación contenida en un grupode documentos de la misma clase,“productos”, y se ha organizado enunidades de información jerárqui-cas —elementos como <document-gegevens/>, (datos del documento)<inleiding/> (introducción), etc.—, los cuales son, a veces, superele-mentos (<documentgegevens/>respecto a <versie/>) o subelemen-tos (<documentgegevens/> respec-to a <product_dienst>).

Todos pueden presentar ciertosatributos y deben estar sujetos a la

Figura 7

Figura 8

Figura 9

31El profesional de la información, vol. 9, nº 3, marzo de 2000

sintaxis xml en general y por unaDTD particular que determina suposición en la jerarquía, el númerode elementos que pueden contener,el orden y, en general, la estructuraarbórea del documento en cues-tión, es decir, lo que aparece en laimagen. En resumen, informaciónmuy estructurada.

2. El segundo componente es lahoja de estilo (figura 9). Se trata deun fichero html que define la es-tructura de la tabla que aparece en eldocumento generado para el nave-gador. Lo que se debe destacar delcódigo es la presencia de una seriede etiquetas xml especiales: funda-mentalmente <include/> y <Xpoin-ter/> (ver tablas 1 y 2). Las prime-ras sirven para procesar inline unaserie de ficheros: la cabecera, la ba-rra de navegación lateral y el for-mulario de búsqueda de la página1:

<includesrc=”templates/header.txt></include>

<includesrc=”templates/bovenkant.txt></include>

<includesrc=”templates/linkerbalk.txt></include>

Las etiquetas Xpointer sirvenpara llamar ciertas partes del docu-mento xml donde está el contenidoe incluirlas en una determinada po-sición de la página:

<XpointerXpointer=”child(1,titel)”></Xpointer>

<XpointerXpointer=”child(1,definitie)”></Xpointer>

<XpointerXpointer=”child(1,dienst_van)”></Xpointer>

<XpointerXpointer=”child(1,dienst_voor)”></Xpointer>

El código anterior simplementelocaliza el contenido de las etique-tas xml mencionadas (<titel> <de-finitie> <dienst_van> <diens_vo-or>) y lo introduce en el lugaroportuno de la tabla. Por ejemplo,el de <titel>, Global one, es inclui-do dentro de la celda verde.

¿Y el resto? Cuando el navega-dor procese la etiqueta <leesbesch-rijving/> recurrirá al tercer compo-nente de la página vista al princi-pio. Se trata del script DynaBaseque opera sobre ella y, en esteejemplo, se llama product.wbs, quedeclara un conjunto de subrutinasque utilizan los objetos, coleccio-nes de objetos, propiedades y mé-todos DynaBase mediante un len-guaje de scripting para implemen-tar el comportamiento de la propiapágina. Por ejemplo: generar diná-micamente enlaces, organizar laestructura o añadir a la página unainterfaz de búsqueda. El aspectoque presenta en WebDeveloper (elcliente DynaBase para editarscripts) es el que se puede apreciaren la Figura 10.

Excede los límites de este artí-culo comentar el código fuente deeste fichero. Simplemente destacar

Figura 10

Figura 11

El profesional de la información, vol. 9, nº 3, marzo de 200032

la llamada que se produce en la pri-mera línea:

Sub BeforeStart_leesbeschrij-ving (aRequest As Request, aRes-ponse As Response)

Define una subrutina que seiniciará y cumplirá su función en-tre las etiquetas de inicio y final delelemento “leesbeschrijving”. Dealguna forma sería como incluir to-do lo que se encuentra entre Sub yEnd Sub (la subrutina) situadasdentro de las etiquetas de la hoja deestilo <leesbeschrijving></lees-beschrijving>. La ventaja es quecomportamiento, contenido y pre-sentación se implementan en tresficheros diferentes que funcionanconjuntamente para generar unapágina. Esto significa ahorro enmantenimiento, mayor precisiónen todos los niveles, posibilidad dereutilización y simplificación.

«La ventaja es quec o m p o r t a m i e n t o ,contenido y presenta-ción se implementanen tres ficheros dife-rentes que funcionanconjuntamente paragenerar una página»

Para finalizar, se analizará bre-vemente cómo se gestiona todo es-te procedimiento desde el clienteDynaBase web manager tal y co-mo se encuentra en la figura 11. Enla parte superior izquierda de laimagen se muestra un árbol de di-rectorios muy parecido a Windowsexplorer (solapa “Folders”), y querepresenta la sede web desde la queel servidor está suministrando pá-ginas a los navegadores. Si se se-lecciona la solapa “www” aparece-rá una lista con aquellas que man-tenga en ese momento,Debitel@antonio entre ellas. Cadauna debe estar asignada a un puer-to distinto, y es recomendable quese usen carpetas distintas comomemoria temporal de cada web. Es

necesario indicar que todas estascaracterísticas deben especificarsedurante la instalación del servidorDynaBase.

En la parte derecha de la ima-gen aparecen los artículos conteni-dos en la carpeta elegida a la iz-quierda, que en este caso es la descripts, y los artículos son todos losficheros .wbs. Es decir, aquellosque contienen las rutinas que con-trolan el comportamiento de losdocumentos del web y, entre éstos,se halla seleccionado product.wbs.La marca roja a la izquierda signi-fica que ha sido seleccionado(checkout) del servidor para editar-lo o revisarlo (esto produciría laimagen de product.wbs en WebDe-veloper). Los ficheros que se extra-en del servidor se almacenan enmemoria temporal. Cada vez quese quiere editar un artículo del webes necesario hacer una comproba-ción, efectuar los cambios e inte-grarlo de nuevo mediante checkin.

En la parte inferior se ha selec-cionado la solapa de versiones. Enella se pueden ver y activar o de-sactivar todas las establecidas (eneste caso product.wbs) desde laprimera vez que se creó el docu-mento. El mantenimiento de estaestructura ofrece una idea del granuso que hace DynaBase de la me-moria. La parte positiva es que sepuede seguir paso a paso el desa-rrollo de un documento y una sedeweb, con todas las implicacionesque esto tiene para la gestión —sobre todo a nivel documental ysubyacente a esta práctica se hallael concepto del documento comoentidad en continuo desarrollo—.La parte negativa es la enorme uti-lización de recursos y los proble-mas que a veces existen para recu-perar en el navegador la últimaversión y no una anterior.

Además de estas solapas hayotras que se utilizan para: ver losresultados cuando se ha efectuadouna búsqueda en la sede a través de

Web manager (se puede consultarpor documento, texto, objeto, cla-se, etiqueta etc.), importación y ex-portación de ficheros, enlaces, che-kouts de los documentos seleccio-nados y mensajes de gestión deWeb manager.

Conclusiones

Este trabajo no ha pretendidosólo señalar las virtudes de un pro-ducto como DynaBase sino sobretodo resaltar cómo es posible llevara la práctica ciertas ideas: separa-ción de contenido y presentación,documentos y etiquetas tratadoscomo objetos, transclusión de con-tenidos, enlaces sofisticados, utili-zación de las posibilidades de losnavegadores para descargar al ser-vidor, gestión de versiones de undocumento, etc. Estas nociones sonlas que continuamente se investi-gan en lugares como el W3C, lasmismas que la mayoría suele tacharde poco realistas y nada rentables.

Pues bien, como se acaba dever, existen compañías punterasque orientan sus productos hacia laaplicación práctica de esas ideas,lo que hace suponer que tienengrandes perspectivas de rentabili-dad. En consecuencia se deberíantener más presentes las propuestasde TI que nos hacen reír. ¿Quiénsabe? De aquí a unos años puedendar dinero cosas como las interfa-ces storytelling o la investigaciónde la relevancia en recuperación deinformación.

Notas1. Algunos de esos ficheros son javascript quese ejecutan al cargarse la página.

BibliografíaInso corporation. DynaBase programming gui-de. Revisión B. 1998, August.

http://www.inso.com

Antonio de la Rosa, Consultor/inves-tigador, Wisdom. Nieuwe Heren-gracht, 113. 1011 SB, Amsterdam. [emailprotected]

(PDF) Sistemas de información - El profesional de la información · resize” scrolling=”no” marginheight=”0” mar- ... ses, programación de algu-nas rutinas, etc. 4. Web author: - DOKUMEN.TIPS (2024)
Top Articles
Latest Posts
Article information

Author: Prof. An Powlowski

Last Updated:

Views: 5687

Rating: 4.3 / 5 (64 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Prof. An Powlowski

Birthday: 1992-09-29

Address: Apt. 994 8891 Orval Hill, Brittnyburgh, AZ 41023-0398

Phone: +26417467956738

Job: District Marketing Strategist

Hobby: Embroidery, Bodybuilding, Motor sports, Amateur radio, Wood carving, Whittling, Air sports

Introduction: My name is Prof. An Powlowski, I am a charming, helpful, attractive, good, graceful, thoughtful, vast person who loves writing and wants to share my knowledge and understanding with you.