unidad iv distribuido

33
4.1. LENGUAJE DE MARCADO Concepto: Un lenguaje de marcado(markup languaje) o lenguaje de marcas es una forma de codificar un documento que utiliza una notación especial para marcar las diferentes secciones de un documento, junto con el texto, incorpora etiquetas o marcas que contienen información adicional acerca de la estructura del texto o su presentación. Los lenguajes de marcado suelen confundirse con lenguajes de programación. Sin embargo, no son lo mismo, ya que el lenguaje de marcado no tiene funciones aritméticas o variables, como sí poseen los lenguajes de programación. Históricamente, el marcado se usaba y se usa en la industria editorial y de la comunicación, así como entre autores, editores e impresores. Para cada lenguaje de marcado, los desarrolladores de software pueden construir una aplicación para leer los documentos escritos en ese lenguaje. Los navegadores de Web leerán los documentos HTML y Microsoft Office leerá los documentos de Office. Los documentos escritos en XML pueden leerse por medio de aplicaciones personalizadas utilizando diferentes objetos de análisis gramatical o pueden combinarse con el lenguaje de estilo extensible (XLS- Extensible Stylesheet Language) para poder mostrarse en un navegador. Clases de lenguajes de marcado Se suele diferenciar entre tres clases de lenguajes de marcado, aunque en la práctica pueden combinarse varias clases en un mismo documento. Por ejemplo, el HTML contiene etiquetas puramente procedimentales, como la B de bold (negrita), junto con otras puramente descriptivas ('BLOCKQUOTE, el atributo HREF). El HTML también incluye el

Upload: independent

Post on 25-Apr-2023

1 views

Category:

Documents


0 download

TRANSCRIPT

4.1. LENGUAJE DE MARCADO

Concepto: Un lenguaje de marcado(markup languaje) o lenguajede marcas es una forma de codificar un documento que utilizauna notación especial para marcar las diferentes secciones deun documento, junto con el texto, incorpora etiquetas omarcas que contienen información adicional acerca de laestructura del texto o su presentación.

Los lenguajes de marcado suelen confundirse con lenguajes deprogramación. Sin embargo, no son lo mismo, ya que ellenguaje de marcado no tiene funciones aritméticas ovariables, como sí poseen los lenguajes de programación.Históricamente, el marcado se usaba y se usa en la industriaeditorial y de la comunicación, así como entre autores,editores e impresores. Para cada lenguaje de marcado, losdesarrolladores de software pueden construir una aplicaciónpara leer los documentos escritos en ese lenguaje. Losnavegadores de Web leerán los documentos HTML y MicrosoftOffice leerá los documentos de Office. Los documentosescritos en XML pueden leerse por medio de aplicacionespersonalizadas utilizando diferentes objetos de análisisgramatical o pueden combinarse con el lenguaje de estiloextensible (XLS- Extensible Stylesheet Language) para podermostrarse en un navegador.

Clases de lenguajes de marcado

Se suele diferenciar entre tres clases de lenguajes demarcado, aunque en la práctica pueden combinarse variasclases en un mismo documento. Por ejemplo, el HTML contieneetiquetas puramente procedimentales, como la B de bold(negrita), junto con otras puramente descriptivas('BLOCKQUOTE, el atributo HREF). El HTML también incluye el

elemento PRE, que indica que el texto debe representarse taly como está escrito.

Marcado de presentación

El marcado de presentación es aquel que indica el formato deltexto. Este tipo de marcado es útil para maquetar lapresentación de un documento para su lectura, pero resultainsuficiente para el procesamiento automático de lainformación. El marcado de presentación resulta más fácil deelaborar, sobre todo para cantidades pequeñas de información.Sin embargo resulta complicado de mantener o modificar, porlo que su uso se ha ido reduciendo en proyectos grandes enfavor de otros tipos de marcado más estructurados.

Se puede tratar de averiguar la estructura de un documento deesta clase buscando pistas en el texto. Por ejemplo, eltítulo puede ir precedido de varios saltos de línea, y estarubicado centrado en la página. Varios programas puedendeducir la estructura del texto basándose en esta clase dedatos, aunque el resultado suele ser bastante imperfecto.

Marcado descriptivo

El marcado descriptivo o semántico utiliza etiquetas paradescribir los fragmentos de texto, pero sin especificar cómodeben ser representados, o en qué orden. Los lenguajesexpresamente diseñados para generar marcado descriptivo sonel SGML y el XML.

Las etiquetas pueden utilizarse para añadir al contenidocualquier clase de metadatos. Por ejemplo, el estándar Atom,un lenguaje de sindicación, proporciona un método para marcarla hora "actualizada", que es el dato facilitado por el

editor de cuándo ha sido modificada por última vez ciertainformación. El estándar no especifica cómo se deberepresentar, o siquiera si se debe representar. El softwarepuede emplear este dato de múltiples maneras, incluyendoalgunas no previstas por los diseñadores del estándar.

Una de las virtudes del marcado descriptivo es suflexibilidad: los fragmentos de texto se etiquetan tal comoson, y no tal como deben aparecer. Estos fragmentos puedenutilizarse para más usos de los previstos inicialmente. Porejemplo, los hiperenlaces fueron diseñados en un principiopara que un usuario que lee el texto los pulse. Sin embargo,los buscadores los emplean para localizar nuevas páginas coninformación relacionada, o para evaluar la popularidad dedeterminado sitio web.

El marcado descriptivo también simplifica la tarea dereformatear un texto, debido a que la información del formatoestá separada del propio contenido. Por ejemplo, un fragmentoindicado como cursiva (<i>texto</i>), puede emplearse paramarcar énfasis o bien para señalar palabras en otro idioma.Esta ambigüedad, presente en el marcado presentacional y enel procedimental, no puede soslayarse más que con una tediosarevisión a mano. Sin embargo, si ambos casos se hubierandiferenciado descriptivamente con etiquetas distintas,podrían representarse de manera diferente sin esfuerzo.

Lenguajes especializados

Matemática: MathML y OpenMath. Geomática: Geography ML.

Aeronáutica: Spacecraft ML.Multimedia: Synchronized Multimedia Integration Language.Voz: VoiceXML.Mensajería instantánea: XMPP.Gráficos 3D: VRML/X3D, STEP.Orígenes

El concepto de lenguaje de marcas fue expuesto por vezprimera por William W. Tunnicliffe en 1967. La mayor novedadconsistía en la separación entre la presentación y laestructura del texto. Tunnicliffe, que prefería referirse aeste concepto como codificación genérica (generic coding),dirigiría más tarde el desarrollo de un estándar al quebautizaría como GenCode, destinado a la industria editorial.El editor Stanley Fish también expuso ideas similares afinales de los años 1960. Brian Reid, en su disertación de1980 en la Carnegie Mellon University, mostró su teoría y unaimplementación práctica de un lenguaje descriptivo todavía enuso.

Sin embargo, quien es considerado el padre de los lenguajesde marcas es Charles Goldfarb, investigador para la compañíaIBM. Goldfarb participó en la creación del lenguaje GML, yposteriormente dirigió el comité que elaboró el estándarSGML, la piedra angular de los lenguajes de marcas. Encualquier caso, y a pesar de las controversias sobre suorigen, es comúnmente aceptado que la idea surgió de formaindependiente varias veces durante la década 1970, y que segeneralizó en los 80.

La web semántica

Los lenguajes de marcado son la herramienta fundamental en eldiseño de la web semántica, aquella que no solo permiteacceder a la información, sino que además define susignificado, de forma que sea más fácil su procesamiento

automático y se pueda reutilizar para distintas aplicaciones.[9] Esto se consigue añadiendo datos adicionales a losdocumentos, por medio de dos lenguajes expresamente creados:el RDF (Resource descriptión framework-Plataforma dedescripción de recursos) y OWL (Web Ontology Language-Lenguaje de ontologías para la web), ambos basados en XML.

Lenguajes de marcado

SGML

Lenguajes hipertextuales.jpg.gif

SGML son las siglas de Standard Generalized Markup Languageo "Estándar de Lenguaje de Marcado Generalizado". Consiste enun sistema para la organización y etiquetado de documentos.La Organización Internacional de Estándares (ISO) normalizóeste lenguaje en 1986.

El lenguaje SGML sirve para especificar las reglas deetiquetado de documentos y no impone en sí ningún conjunto deetiquetas en especial.

El lenguaje HTML está definido en términos del SGML. XML esun estándar de creación posterior, que incorpora unsubconjunto de la funcionalidad del SGML (suficiente para lasnecesidades comunes), y resulta más sencillo de implementarpues evita algunas características avanzadas de SGML. Es unlenguaje extremadamente potente y versátil, estascaracterísticas exigen un precio, es difícil su utilización,entrenar a personas para que utilicen documentos SGML y crearaplicaciones para que utilicen estos requiere gran cantidadde tiempo y energía.

HTML

Prácticamente todos los usuarios de computadoras estánfamiliarizados con HTML. Es un lenguaje bastante sencillo queha ayudado a promover el uso generalizado de internet. HTMLha recorrido un largo camino desde su diseño original con elobjeto de que los científicos pudieran utilizar documentos detexto con hipervínculos para compartir la información.

HTML original, en su concepción inicial, la intención de HTMLera incluir elementos que pudieran utilizarse para marcar lainformación de un documento de acuerdo a su significado. Secrearon etiquetas como <title>, <h1> <h2>, etc. Pararepresentar el contenido del documento HTML.

Elementos del lenguaje HTML

Caracteres:

Cualquier cadena de caracteres imprimibles que no representeun marcado se representa literalmente, aunque los espacios ytabuladores se reducen a un solo carácter cuando no estándentro de un bloque pre formateado.

Marcadores, marcas o etiquetas (tags) :

Los marcadores delimitan elementos de un documento comocabeceras, párrafos, etc. La mayoría de los marcadoresconstan de una marca inicial < ...> , que da el nombre yatributos del elemento, seguida del contenido ó secuencia decaracteres y una marca final</...>.

Las marcas iniciales se escriben entre los símbolos "<" y ">"(menor y mayor) y las finales entre "</" y ">" (menor barra ymayor). Por ejemplo, <H1>Contenido</H1>, indica que"Contenido" es una cabecera de nivel uno.

Algunos elementos sólo tienen una marca inicial (por ejemplola marca <HR> que representa una línea horizontal) y otros,aunque disponen de ambas, se suelen expresar sólo con lainicial.

Nombres de etiquetas:

Los nombres consisten en una letra seguida de letras,dígitos, puntos o guiones. Los ejemplos H1 y HR anterioresson ejemplos de nombres de etiquetas. La longitud de unnombre está limitada a 72 caracteres en la definición delHTML. Los nombres de elementos y atributos no distinguenentre mayúsculas y minúsculas, pero los nombres de entidades(la representación alternativa de los caracteres) sí. En lasmarcas, el nombre del elemento debe comenzar inmediatamentedespués del <.

Atributos:

Cuando una marca inicial admite atributos, éstos se escribena continuación del nombre del elemento. Generalmente losatributos tienen la forma nombre, signo igual, valor delatributo aunque en algunos casos basta con el nombre delatributo. Se pueden poner espacios en blanco antes y despuésdel signo igual.El valor de un atributo puede ser una cadenade caracteres entre comillas (simples o dobles) que nocontenga el símbolo de fin de marca ">" o un nombre como losdefinidos en el apartado anterior. Por ejemplo, en <imgsrc="foto.gif">, img src es el nombre de la marca que serefiere a insertar una imagen en la página web; y "foto.gif"es el atributo que hace referencia al fichero específico deimagen que queremos incluir.

Comentarios:

Para incluir comentarios en HTML se emplea la declaración decomentarios. Una declaración de comentarios comienza con <!,le siguen uno o varios comentarios y termina con >. Cadacomentario comienza con -- e incluye todo el texto hasta lasiguiente aparición de -- . Dentro de una declaración decomentarios, se pueden poner espacios en blanco después decada uno de ellos, pero no antes del primero. Toda ladeclaración del comentario se ignora. En páginas webcomplejas, con abundante código html, se utilizan estoscomentarios para señalar partes de la página web que sirvande orientación para ubicarse dentro del documento. Porejemplo, en <!--Aquí empieza el texto--> está señalando unaparte de la página web en la que empieza el grueso del textode la página.

XML

Siglas en inglés de eXtensible Markup Language ('lenguaje demarcas extensible'), es un metalenguaje extensible deetiquetas desarrollado por el World Wide Web Consortium(W3C). Es una simplificación y adaptación del SGML y permitedefinir la gramática de lenguajes específicos (de la mismamanera que HTML es a su vez un lenguaje definido por SGML).Por lo tanto XML no es realmente un lenguaje en particular,sino una manera de definir lenguajes para diferentesnecesidades [cita requerida]. Algunos de estos lenguajes queusan XML para su definición son

XHTML, SVG, MathML.

No ha nacido sólo para su aplicación en Internet, sino que sepropone como un estándar para el intercambio de informaciónestructurada entre diferentes plataformas. Se puede usar enbases de datos, editores de texto, hojas de cálculo y casicualquier cosa imaginable.

Es una tecnología sencilla que tiene a su alrededor otras quela complementan y la hacen mucho más grande y con unasposibilidades mucho mayores. Tiene un papel muy importante enla actualidad ya que permite la compatibilidad entre sistemaspara compartir la información de una manera segura, fiable yfácil.

XHTML

Acrónimo en inglés de Extensible Hypertext Markup Language(lenguaje extensible de marcado de hipertexto), es ellenguaje de marcado pensado para sustituir a HTML comoestándar para las páginas web. En su versión 1.0, XHTML essolamente la versión XML de HTML, por lo que tiene,básicamente, las mismas funcionalidades, pero cumple lasespecificaciones, más estrictas, de XML. Su objetivo esavanzar en el proyecto del World Wide Web Consortium delograr una web semántica, donde la información, y la forma depresentarla estén claramente separadas. La versión 1.1 essimilar, pero parte a la especificación en módulos. Ensucesivas versiones la W3C planea romper con los tagsclásicos traídos de HTML.

4.2. TECNOLOGÍAS PARA IMPLEMENTACIÓN INTERFACES DE USUARIO.

Historia

Los lenguajes de marcas se llaman así por la prácticatradicional de marcar los manuscritos con instrucciones deimpresión en los márgenes. En la época de la imprenta, estatarea ha correspondido a los marcadores, que indicabanel tipo de letra, el estilo y el tamaño, así como lacorrección de errores, para que otras personas compusieran latipografía. Esto condujo a la creación de un grupo de marcas

estandarizadas.1 Con la introducción de las computadoras, setrasladó un concepto similar al mundo de la informática.

OrígenesEl concepto de lenguaje de marcas fue expuesto por vezprimera por William W. Tunnicliffe en 1967.2 La mayor novedadconsistía en la separación entre la presentación y laestructura del texto. Tunnicliffe, que prefería referirse aeste concepto como codificación genérica (generic coding), dirigiríamás tarde el desarrollo de un estándar al que bautizaríacomo GenCode, destinado a la industria editorial. Eleditor Stanley Fish también expuso ideas similares a finalesde los años 1960. Brian Reid, en su disertación de 1980 enla Carnegie Mellon University, mostró su teoría y unaimplementación práctica de un lenguaje descriptivo todavía enuso.

Sin embargo, quien es considerado el padre de los lenguajesde marcas es Charles Goldfarb, investigador para lacompañía IBM. Goldfarb participó en la creación del lenguajeGML, y posteriormente dirigió el comité que elaboró elestándar SGML, la piedra angular de los lenguajes de marcas.En cualquier caso, y a pesar de las controversias sobre suorigen, es comúnmente aceptado que la idea surgió de formaindependiente varias veces durante los 70, y que segeneralizó en los 80.

Los lenguajes primitivosEl primer lenguaje que diferenció claramente la estructura dela presentación fue ciertamente el Scribe, desarrolladopor Brian Reid y descrito en1980 en su tesisdoctoral.3 Scribe era revolucionario por varios motivos, nosolo porque separaba el estilo de las propias marcas del

documento, también por el control gramático del empleo deelementos descriptivos. Scribe influyó en el desarrollo delos lenguajes posteriores.

Otro de los principales estándares de publicación es TeX,creado y mantenido por Donald Knuth en los años 70 y 80. TeXse centra en la estructura detallada del texto y ladescripción de las fuentes, fundamentalmente en el campo delas publicaciones matemáticas especializadas. Esto obligó aKnuth a dedicar un tiempo considerable en el estudio de latipografía. Sin embargo, TeX requiere amplios conocimientospara ser utilizado, por lo que sólo ha cuajado en entornosacadémicos, en los que es el estándar de facto en variasdisciplinas científicas. El software más extendido para elempleo de TeX es LaTeX.

Al margen de la industria editorial también surgieron algunasiniciativas, como los lenguajes troff y nroff, lenguajesutilizados para maquetación en sistemas UNIX. Sufuncionalidad era limitada porque obligaba a trabajarmediante ensayo y error, hasta que las marcas insertadas enel texto ofrecieran el resultado deseado. Estos lenguajes nollegaron a cuajar en entornos profesionales, siendoutilizados por usuarios ocasionales. La aparición deprocesadores de texto tipo WYSIWYG relegó a estos sistemas alolvido.

La generalización de los lenguajes de marcas

La iniciativa que sentaría las bases de los actualeslenguajes, partiría de la empresa IBM, que buscaba nuevassoluciones para mantener grandes cantidades de documentos. Eltrabajo fue encomendado a Charles F. Goldfarb, que junto con

Edward Mosher y Raymond Lorie, diseñó el Generalized MarkupLanguage o GML (nótese que también son las iniciales de suscreadores). Este lenguaje heredó del proyecto GenCode la ideade que la presentación debe separarse del contenido. Elmarcado, por tanto, se centra en definir la estructura deltexto y no su presentación visual.

El lenguaje GML fue un gran éxito y pronto se extendió aotros ámbitos, siendo adoptado por el gobierno de EstadosUnidos, con lo que surgió la necesidad de estandarizarlo. Enlos primeros años 1980 se constituyó un comité dirigido porGoldfarb. Sharon Adler, Anders Berglund, y James D.Mason fueron también miembros de dicho comité. Seincorporaron ideas de diferentes fuentes, y participó grancantidad de gente. Tras un largo proceso, en 1986 laOrganización Internacional para la Estandarización publicaríael Standard Generalized Markup Languaje con rango de EstándarInternacional con el código ISO 8879.4

El SGML especifica la sintaxis para la inclusión de marcas enlos textos, así como la sintaxis del documento que especificaqué etiquetas están permitidas y donde: el Document TypeDefinitiono schema. Esto permitía que un autor empleasecualquier marca que quisiera, eligiendo nombres para lasetiquetas que tuvieran sentido tanto por el tema deldocumento como por el idioma. Así, el SGML es, estrictamentehablando, un metalenguaje, del que se derivan varioslenguajes especializados. Desde finales de los 80 hanaparecido nuevos lenguajes basados en SGML, como por ejemploel TEI o el DocBook.

El SGML tuvo una gran aceptación y hoy día se emplea encampos en los que se requiere documentación a gran escala. Apesar de ello, resultó farragoso y difícil de aprender, como

consecuencia de la ambición de los objetivos previstos. Sugran potencia era a la vez una ventaja y una desventaja. Porejemplo, ciertas etiquetas podían tener sólo principio, osólo final, o incluso ser obviadas, pensando en que lostextos serían redactados a mano y que así se ahorraríanpulsaciones de teclas. Sin embargo fue un punto clave en eldesarrollo de los lenguajes de marcas actuales, ya que lagran mayoría derivan de este.

La popularización: el HTML

En 1991, parecía que los editores WYSIWYG (que almacenan losdocumentos en formatos binarios propietarios) abarcarían casila totalidad del procesamiento de textos, relegando al SGML ausos profesionales o industriales muy específicos. Sinembargo, la situación cambió drásticamente cuando Sir TimBerners-Lee, que había aprendido SGML de su compañero enel CERN Anders Berglund, utilizó la sintaxis SGML para crearel HTML.

Este lenguaje era similar a cualquier otro creado a partirdel SGML, sin embargo resultó extraordinariamente sencillo,tanto que el DTD no se desarrolló hasta más tarde.DeRose5 argumenta que la flexibilidad y escalabilidad delmarcado HTML fue uno de los principales factores, junto conel empleo de URLs y la distribución libre de navegadores, deléxito de la World Wide Web.

El HTML es hoy día el tipo de documento más empleado en elmundo. Su sencillez era tal que cualquier persona podíaescribir documentos en este formato, sin apenas necesidad deconocimientos de informática. Esta fue una de las razones desu éxito, pero también condujo a un cierto caos. Elcrecimiento exponencial de la web en los años 90produjodocumentos en cantidades ingentes pero mal estructurado,

problema agravado aún más por la falta de respeto por losestándares, por parte de diseñadores web y fabricantes desoftware.

La madurez: el XML

Ejemplo de código XML.

La respuesta a los problemas surgidos en torno al HTML vinode la mano del XML (eXtensible Markup Language). El XML es unmeta-lenguaje que permite crear etiquetas adaptadas a lasnecesidades (de ahí lo de "extensible"). El estándar definecómo pueden ser esas etiquetas y qué se puede hacer conellas. Es además especialmente estricto en cuanto a lo queestá permitido y lo que no, todo documento debe cumplir doscondiciones: ser válido y estar bien formado.

El XML fue desarrollado por el World Wide WebConsortium,6 mediante un comité creado y dirigido por JonBosak. El objetivo principal era simplificar7 el SGML paraadaptarlo a un campo muy preciso: documentos en internet.

El nuevo lenguaje se extendió con rapidez, ya que tododocumento XML es a su vez SGML. Los programas y documentoscreados para y con SGML podían convertirse casiautomáticamente al nuevo lenguaje. El XML simplificóradicalmente la complejidad del SGML, facilitando elaprendizaje y la implementación del nuevo estándar. Sesolucionaron además viejos problemas, como los surgidos de lainternacionalización, y la imposibilidad de validar undocumento sin schema. El acierto fundamental de este lenguajeen que logra un equilibrio entre simplicidad y flexibilidad.

El XML fue ideado en principio para entornos semi-estructurados, como textos y publicaciones. Uno de losejemplos más claros es el XHTML, la redefinición del HTML enclave XML, con las ventajas que ello supone. Sin embargopronto se observó que sus virtudes podían ser útiles encampos bien distintos. Los lenguajes basados en XML tienenaplicaciones incontables, como en la transacción de datosentre servidores, intercambio de

información financiera, fórmulas y reacciones químicas, y unlargo etcétera.

TendenciasLas nuevas tendencias están abandonando los documentoscon estructura en árbol. Los textos de la literatura antiguasuelen tener estructura de prosa ode poesía :versículos, párrafos, etc. Los documentos dereferencia suelen organizarse en libros, capítulos,versos y líneas. A menudo se entremezclan unos con otros, porlo que la estructura en árbol no se ajusta a sus necesidades.Los nuevos sistemas de modelado superan estos inconvenientes,como el MECS, diseñado para la obra de Wittgenstein, olas TEI Guidelines, LMNL, yCLIX.

La Iniciativa de codificación de textos o Text Encoding Initiative (TEI)ha publicado multitud de guías8 para la codificación dedocumentos de interés en humanidades y ciencias sociales,desarrollados durante años de trabajo colaborativointernacional. Estas directrices se han empleado eninnumerables proyectos de catalogación de documentoshistóricos, trabajos académicos, etc.

La web semántica

Los lenguajes de marcado son la herramienta fundamental en eldiseño de la web semántica, aquella que no solo permiteacceder a la información, sino que además define susignificado, de forma que sea más fácil su procesamientoautomático y se pueda reutilizar para distintasaplicaciones.9 Esto se consigue añadiendo datos adicionales alos documentos, por medio de dos lenguajes expresamente

creados: el RDF (Resource descriptión framework-Plataforma dedescripción de recursos) y OWL (Web Ontology Language-Lenguajede ontologías para la web), ambos basados en XML.

Características

Texto planoUna de las principales ventajas de este tipo de codificaciónes que puede ser interpretada directamente, dado que sonarchivos de texto plano. Esto es una ventaja evidenterespecto a los sistemas de archivos binarios, que requierensiempre de un programa intermediario para trabajar con ellos.Un documento escrito con lenguajes de marcado puede sereditado por un usuario con un sencillo editor de textos, sinperjuicio de que se puedan utilizar programas mássofisticados que faciliten el trabajo.

Al tratarse solamente de texto, los documentos sonindependientes de la plataforma, sistemaoperativo o programa con el que fueron creados. Esta fue unade las premisas de los creadores de GML en lo años 70, parano añadir restricciones innecesarias al intercambio deinformación. Es una de las razones fundamentales de la granaceptación que han tenido en el pasado y del excelente futuroque se les augura.

Compacidad

Las instrucciones de marcado se entremezclan con el propiocontenido en un único archivo o flujo de datos. Este es unejemplo en diferentes lenguajes de marcas:

||Ejemplos

HTML LaTeX Wikitexto

Título <h1>Título</h1>

\section{Título}

==Título==

Lista <ul>

<li>Punto1</li>

<li>Punto2</li>

<li>Punto3</li>

</ul>

\begin{itemize}

\itemPunto 1

\itemPunto 2

\itemPunto 3

\end{itemize}

* Punto1

Punto 2Punto 3

textoen negrita

<b>texto</b>

\bf{texto} ' ' 'texto '' '

textoen cursiva

<i>texto</i>

\it{texto} ' 'texto ''

El código entre corchetes com <ul>, o con códigos \section, soninstrucciones de marcado, también llamados etiquetas. Estasetiquetas en concreto son descriptivas de la estructura deldocumento, pudiendo ser su presentación visual de variasmaneras. La etiqueta i (de italics, cursiva), por el contrario,especifica que el texto se debe mostrar en cursiva, sin

especificar el motivo de esta diferenciación: es una etiquetapresentacional. El texto entre estas instrucciones es elpropio contenido del documento.

Facilidad de procesamiento

Las organizaciones de estándares han venido desarrollandolenguajes especializados para los tipos de documentos decomunidades o industrias concretas. Uno de los primeros fueel CALS, utilizado por las fuerzas armadas de EE.UU. para susmanuales técnicos. Otras industrias con necesidad de grancantidad de documentación, como lasde aeronáutica, telecomunicaciones, automoción o hardware, haelaborado lenguajes adaptados a sus necesidades. Esto haconducido a que sus manuales se editen únicamente en versiónelectrónica, y después se obtenga a partir de ésta lasversiones impresas, en línea o en CD. Un ejemplo notable fueel caso de Sun Microsystems, empresa que optó por escribir ladocumentación de sus productos en SGML, ahorrando costesconsiderables. El responsable de aquella decisión fue JonBosak, que más tarde fundaría el comité del XML.

FlexibilidadAunque originalmente los lenguajes de marcas se idearon paradocumentos de texto, se han empezado a utilizar en áreascomo gráficos vectoriales, servicios web,sindicaciónweb o interfaces de usuario. Estas nuevas aplicacionesaprovechan la sencillez y potencia del lenguaje XML. Esto hapermitido que se pueda combinar varios lenguajes de marcasdiferentes en un único archivo, como en el caso deXHTML+SMILy de XHTML+MathML+SVG.10

Web 2.0: los nuevos desafíos de la interfaz de usuarios

En los últimos meses, en los medios impresos y en internet sehabla cada vez más de weblogs (los ya conocidos diariospersonales online, con comentarios y citas cruzadas a otrosweblogs), se comparten juegos, vídeos o fotografías confamiliares o amigos en sitios como Flickr o MySpace, sedifunden noticias mediante podcasting (archivos de sonido quese descargan y se pueden escuchar y reproducir en cualquiermomento), se coeditan de forma participativa enciclopediasonline, como Wikipedia, se consultan o cuelgan anunciosclasificados en Craigslist o Loquo, se añaden textos o tags(la llamada folksonomia) a las fotografías, música, etc., quese cuelgan en la red, para que otros las puedan buscar ensitios web como del.icio.us, se suscriben los usuarios aagregadores de contenido, permitido por RSS, mediante el quelos sitios comunican automáticamente sus actualizaciones asus suscriptores, se utilizan procesadores de texto querecurren a internet como plataforma (Writely), etc.

Esta enorme actividad, esta marea de nuevos anglicismos, estácambiando el mundo de las telecomunicaciones, de los mediosde comunicación, del marketing, del software, delentretenimiento,etc. Todo este nuevo conjunto de medios formalo que algunos llaman la Web 2.0, la nueva etapa de lacambiante internet, la nueva versión en la evolución deinternet.

Sin embargo, algunas de las nuevas tecnologías o desarrollosque posibilitan la web 2.0, las Rich Internet Application(RIA) como AJAX, plantean desafíos de usabilidad en susinterfaces y formas de interacción. A. Bosworth ha recogidode forma breve una lista con algunos de los problemas oerrores que provoca AJAX (cancelación del botón volver atrás

del navegador, dificultad para guardar en favoritos laspáginas o de pasarlas a amigos, parpadeos inesperados enalgunas partes de las páginas, etc.).

Hay dos aspectos que son fundamentales en el diseño de lasinterfaces, que deberían tenerse en cuenta especialmente:

*diseñar sistemas intuitivos de interacción

*informar a los usuarios la respuesta que tienen sus accionesen la pantalla

4.3. PROGRAMACIÓN.

Antecedentes

En los primeros tiempos de la computación cliente-servidor,cada aplicación tenía su propio programa cliente que servíacomo interfaz de usuario que tenía que ser instalado porseparado en cada ordenador personal de cada usuario. Elcliente realizaba peticiones a otro programa -el servidor-que le daba respuesta. Una mejora en el servidor, como partede la aplicación, requería normalmente una mejora de losclientes instalados en cada ordenador personal, añadiendo uncoste de soporte técnico y disminuyendo la productividad.

A diferencia de lo anterior, las aplicaciones web generandinámicamente una serie de páginas en un formato estándar,como HTML o XHTML, soportados por los navegadores webcomunes. Se utilizan lenguajes interpretados en el lado delcliente, directamente o a través de plugins tales comoJavaScript, Java, Flash, etc., para añadir elementosdinámicos a la interfaz de usuario. Generalmente cada páginaweb en particular se envía al cliente como un documentoestático, pero la secuencia de páginas ofrece al usuario unaexperiencia interactiva. Durante la sesión, el navegador webinterpreta y muestra en pantalla las páginas, actuando comocliente para cualquier aplicación web.

Interfaz

Las interfaces web tienen ciertas limitaciones en lasfuncionalidades que se ofrecen al usuario. Hayfuncionalidades comunes en las aplicaciones de escritoriocomo dibujar en la pantalla o arrastrar-y-soltar que no están

soportadas por las tecnologías web estándar. Losdesarrolladores web generalmente utilizan lenguajesinterpretados (scripts) en el lado del cliente para añadirmás funcionalidades, especialmente para ofrecer unaexperiencia interactiva que no requiera recargar la páginacada vez (lo que suele resultar molesto a los usuarios).Recientemente se han desarrollado tecnologías para coordinarestos lenguajes con las tecnologías en el lado del servidor.Como ejemplo, AJAX es una técnica de desarrollo web que usauna combinación de varias tecnologías.

Consideraciones técnicas

Una ventaja significativa es que las aplicaciones webdeberían funcionar igual independientemente de la versión delsistema operativo instalado en el cliente. En vez de crearclientes paraWindows, Mac OS X, GNU/Linux y otros sistemasoperativos, la aplicación web se escribe una vez y se ejecutaigual en todas partes. Sin embargo, hay aplicacionesinconsistentes escritas conHTML, CSS, DOM y otrasespecificaciones estándar para navegadores web que puedencausar problemas en el desarrollo y soporte de estasaplicaciones, principalmente debido a la falta de adhesión delos navegadores a dichos estándares web (especialmenteversiones de Internet Explorer anteriores a la 7.0).Adicionalmente, la posibilidad de los usuarios depersonalizar muchas de las características de la interfaz(tamaño y color de fuentes, tipos de fuentes, inhabilitar

Javascript) puede interferir con la consistencia de laaplicación web.

Otra aproximación es utilizar Adobe Flash Player o Javaapplets para desarrollar parte o toda la interfaz de usuario.Como casi todos los navegadores incluyen soporte para estastecnologías (usualmente por medio de plug-ins), lasaplicaciones basadas en Flash o Java pueden ser implementadascon aproximadamente la misma facilidad. Dado que ignoran lasconfiguraciones de los navegadores, estas tecnologíaspermiten más control sobre la interfaz, aunque lasincompatibilidades entre implementaciones Flash o Java puedancrear nuevas complicaciones, debido a que no son estándares.Por las similitudes con una arquitectura cliente-servidor,con un cliente "no ligero", existen discrepancias sobre elhecho de llamar a estos sistemas “aplicaciones web”; untérmino alternativo es “Aplicación Enriquecida de Internet”.

La Programación es el proceso de diseñar, codificar, depurary mantener el código fuente de programas computacionales. Elcódigo fuente es escrito en unlenguaje de programación. Elpropósito de la programación es crear programas que exhibanun comportamiento deseado. El proceso de escribir códigorequiere frecuentemente conocimientos en varias áreasdistintas, además del dominio del lenguaje a utilizar,algoritmos especializados y lógica formal. Programar noinvolucra necesariamente otras tareas tales como el análisisy diseño de la aplicación (pero sí el diseño del código),aunque sí suelen estar fusionadas en el desarrollo depequeñas aplicaciones.

4.3.1. DEL LADO DEL CLIENTE.

Lenguajes del lado cliente

HTML

El lenguaje llamado HTML indica al navegador donde colocarcada texto, cada imagen o cada video y la forma que tendránestos al ser colocados en la página.

El lenguaje consta de etiquetas que tienen esta forma o .Cada etiqueta significa una cosa, por ejemplo significa quese escriba en negrita (bold) o significa un párrafo, es unenlace, etc. Casi todas las etiquetas tienen sucorrespondiente etiqueta de cierre, que indica que a partirde ese punto no debe de afectar la etiqueta. Por ejemplo seutiliza para indicar que se deje de escribir en negrita. Asíque el HTML no es más que una serie de etiquetas que seutilizan para definir la forma o estilo que queremos aplicara nuestro documento. Esto está en negrita.

Esta página es un claro ejemplo de uso del HTML.

JAVASCRIPT

Javascript es un lenguaje de programación utilizado paracrear pequeños programitas encargados de realizar accionesdentro del ámbito de una página web. Se trata de un lenguajede programación del lado del cliente, porque es el navegadorel que soporta la carga de procesamiento. Su uso se basafundamentalmente en la creación de efectos especiales en laspáginas y la definición de interactividades con el usuario.

Las sentencias escritas en javascript se encapsulan entre lasetiquetas y . por ejemplo, si en el código de una página Webincluimos la sentencia

window.alert("Bienvenido a mi sitio web. Gracias...")

Al abrir la página con el navegador se nos mostrará unaventana de bienvenida

APPLETS DE JAVA

Es otra manera de incluir código a ejecutar en los clientesque visualizan una página web. Se trata de pequeños programashechos en Java, que se transfieren con las páginas web y queel navegador ejecuta en el espacio de la página.

Los applets de Java están programados en Java yprecompilados, es por ello que la manera de trabajar de éstosvaría un poco con respecto a los lenguajes de script comoJavascript.

4.3.2. DEL LADO DEL SERVIDOR.

La Programación del lado del servidor es una tecnología queconsiste en el procesamiento de una petición de un usuariomediante la interpretación de un script en el servidor webpara generar páginas HTML dinámicamente como respuesta.

Todo lo que suceda dentro del servidor es llamadoprocesamiento del lado del servidor, o server-sideprocessing. Cuando tu aplicación necesita interactuar con elservidor (por ejemplo, para cargar o guardar datos), ésta

realiza una petición del lado del cliente (client-siderequest) desde el navegador, a través de la red usandoinvocaciones remotas a métodos (remote procedure call, RPC).Mientras se está procesando una llamada RPC, tu servidor estáejecutando código del lado del servidor.

La utilización de las diferentes aplicaciones o servicios deInternet se lleva a cabo respondiendo al llamado modelocliente-servidor.

Cuando se utiliza un servicio en Internet, como consultar unabase de datos, transferir un archivo o participar en un forode discusión, se establece un proceso en el que entran enjuego dos partes. Por un lado, el usuario, quien ejecuta unaaplicación en procesador local: el denominadoprograma cliente. 

Este programa cliente se encarga de ponerse en contacto conel procesador remoto para solicitar el servicio deseado. Elprocesador remotopor su parte responderá a lo solicitadomediante un programa que esta ejecutando. Este último sedenominaprograma servidor. Los términos cliente yservidor seutilizan tanto para referirse a los programas que cumplenestas funciones, como a las computadoras donde son ejecutadosesos programas. 

El programa o los programas cliente que el usuario utilizapara acceder a los servicios de Internet realizan dosfunciones distintas. Por una parte, se encargan de gestionarla comunicación con el computador servidor, de solicitar unservicio concreto y de recibir los datos enviados por éste; ypor otra, es la herramienta que presenta al usuario los datosen pantalla y que le ofrece los comandos necesarios parautilizar las prestaciones que ofrece el servidor.

||

12.png

||

Cuando nosotros seleccionamos un enlace hipertexto, enrealidad lo que pasa es que establecemos una petición de unarchivo HTML residente en el servidor (una computadora que seencuentra continuamente conectado a la red) el cual esenviado e interpretado por nuestro navegador (el cliente). 

Así pues, podemos hablar de lenguajes de lado servidor queson aquellos lenguajes que son reconocidos, ejecutados einterpretados por el propio servidor y que se envían alcliente en un formato comprensible para él, por ejemplo: ASP,PHP, JSP.

Por otro lado, los lenguajes de lado cliente (entre loscuales no sólo se encuentra el HTML sino también el Java y elJavaScript los cuales son simplemente incluidos en el códigoHTML) son aquellos que pueden ser directamente "digeridos"por el navegador y no necesitan un pretratamiento

Cada uno de estos tipos tiene por supuesto sus ventajas y susinconvenientes. Así, por ejemplo, un lenguaje de lado clientees totalmente independiente del servidor, lo cual permite quela página pueda ser albergada en cualquier sitio sinnecesidad de pagar más ya que, por regla general, losservidores que aceptan páginas con scripts de lado servidorson en su mayoría de pago o sus prestaciones son muylimitadas.

Inversamente, un lenguaje de lado servidor es independientedel cliente por lo que es mucho menos rígido respecto alcambio de un navegador a otro o respecto a las versiones delmismo.

Lenguajes del lado del Servidor.

CGI

Es el sistema más antiguo que existe para la programación delas páginas dinámicas de servidor. Actualmente se encuentraun poco desfasado por diversas razones entre las que destacala dificultad con la que se desarrollan los programas y lapesada carga que supone para el servidor que los ejecuta. 

Los CGI se escriben habitualmente en el lenguaje Perl, sinembargo, otros lenguajes como C, C++, Visual Basic o Delphipueden ser también empleados para construirlos.

Perl

Perl es un lenguaje de programación interpretado, al igualque muchos otros lenguajes de Internet como Javascript o ASP.Esto quiere decir que el código de los scripts en Perl no secompila sino que cada vez que se quiere ejecutar se lee elcódigo y se pone en marcha interpretando lo que hay escrito.Además es extensible a partir de otros lenguajes, ya quedesde Perl podremos hacer llamadas a subprogramas escritos enotros lenguajes. También desde otros lenguajes podremosejecutar código Perl.

ASP

La tecnología ASP (Active Server Pages) está estrechamenterelacionada con el modelo tecnológico deMicrosoft. Intentaser solución para un modelo de programación rápida yaque programar en ASP es como programar en Visual Basic, por supuestocon muchas limitaciones.

Este modelo tecnológico usa diversos componentes yadesarrollados como algunos controles ActiveX así comocomponentes del lado del servidor, tales como CDONTS, por

ejemplo, que permite la interacción de los scripts con elservidor SMTP que integra IIS.

Se facilita la programación de sitios web mediante variosobjetos integrados, como por ejemplo un objeto de sesiónbasada en cookies, que mantiene las variables mientras sepasa de página a página.

las versiones pre-.NET se denominan actualmente (desde 2002)como ASP clásico.

En ASP 3.0, hay siete objetos integrados disponibles para elprogramador: Application, ASPError,Request, Response, Server,Session y ObjectContext. Cada objeto tiene un grupo defuncionalidades frecuentemente usadas y útiles para crearpáginas web dinámicas.

Desde 2002, el ASP clásico está siendo reemplazado por ASP.NET, que, entre otras cosas, reemplaza los lenguajesinterpretados como VBScript o JScript porlenguajes compilados a código intermedio (llamadoMSIL oMicrosoft Intermediate Language) como Microsoft Visual Basic,C#, o cualquier otro lenguaje que soporte la plataforma .NET.El código MSIL se compila con posterioridad a código nativo.

PHP

PHP es un lenguaje interpretado de propósito generalampliamente usado y que está diseñado especialmente paradesarrollo web y puede ser incrustado dentro de código HTML.

Generalmente se ejecuta en un servidor web, tomando el códigoen PHP como su entrada y creando páginas web como salida.Puede ser desplegado en la mayoría de los servidores web y encasi todos los sistemas operativos y plataformas sin costoalguno.

Aunque todo en su diseño está orientado a facilitar lacreación de página web, es posible crear aplicaciones con unainterfaz gráfica para el usuario, utilizando la extensiónPHP-Qt o PHP-GTK.

También puede ser usado desde la línea de órdenes, de lamisma manera como Perl o Python pueden hacerlo, a estaversión de PHP se la llama PHP CLI (Command Line Interface).

Cuando el cliente hace una petición al servidor para que leenvíe una página web, el servidor ejecuta el intérprete dePHP. Éste procesa el script solicitado que generará elcontenido de manera dinámica (por ejemplo obteniendoinformación de una base de datos). El resultado es enviadopor el intérprete al servidor, quien a su vez se lo envía alcliente.

Mediante extensiones es también posible la generación dearchivos PDF, Flash, así como imágenes en diferentesformatos. Permite la conexión a diferentes tipos deservidores de bases de datos tales como MySQL, Postgres,Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.

PHP también tiene la capacidad de ser ejecutado en la mayoríade los sistemas operativos, tales como UNIX (y de ese tipo,como Linux o Mac OS X) y Windows, y puede interactuar con losservidores de web más populares ya que existe en versión CGI,módulo para Apache, e ISAPI.

JSP

JSP es un acrónimo de Java Server Pages o Páginas de ServidorJava. Es, pues, una tecnología orientada a crear páginas webcon programación en Java.

Con JSP podemos crear aplicaciones web que se ejecuten envariados servidores web, de múltiples plataformas, ya queJava es en esencia un lenguaje multiplataforma. Por tanto,

las JSP podremos escribirlas con nuestro editor HTML/XMLhabitual

DHTML

DHTML no es precisamente un lenguaje de programación. Másbien se trata de una nueva capacidad de la que disponen losnavegadores modernos, por la cual se puede tener un mayorcontrol sobre la página que antes. 

Cualquier página que responde a las actividades del usuario yrealiza efectos y funcionalidades se puede englobar dentrodel DHTML, pero en este caso nos referimos más a efectos enel navegador por los cuales se pueden mostrar y ocultarelementos de la página, se puede modificar su posición,dimensiones, color, etc. 

DHTML nos da más control sobre la página, gracias a que losnavegadores modernos incluyen una nueva estructura paravisualizar en páginas web denominada capa. Las capas sepueden ocultar, mostrar, desplazar, etc. 

Para realizar las acciones sobre la página, como modificar laapariencia de una capa, seguimos necesitando un lenguaje deprogramación del lado del cliente como Javascript o VBScript.

En la actualidad, DHTML también puede englobar laprogramación en el servidor.