sábado, 8 de junio de 2013

4.7. Creación y Consumo de servicios web XML

Los servicios Web XML son un conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí con el objetivo de ofrecer unos servicios. Los proveedores ofrecen sus servicios como procedimientos remotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de la Web, por lo que estos servicios deben estar alojados en un servidor Web. 

Los servicios Web XML permiten el manejo distribuido de componentes, estos permiten tomar ventaja de la infraestructura de Internet para la distribución de funcionalidad y paquetes de datos.

 Las principales características de los servicios Web XML son: Están basados en protocolos estándar para la Web. Los servicios Web XML realizan las peticiones y proporcionan las respuestas utilizando protocolos estándar de la Web, como los son HTTP (Hyper Text Transfer Protocol), XML (Extensible Markup Language), y SOAP (Simple Object Access Protocol), toda plataforma que maneje dichos protocolos, podrá aprovechar la funcionalidad de los servicios Web XML. Comunicación de aplicación a aplicación basada en Internet.


4.6. API simple para XML y Modelo en Objetos para la Representación de Documentos

Una interfaz de programación de aplicaciones (API) es una especificación destinado a ser utilizado como una interfaz de componentes de software para comunicarse entre sí. Una API puede incluir especificaciones para las rutinas, estructuras de datos, clases de objetos y variables. Una especificación de API puede tomar muchas formas, incluyendo una norma internacional como la documentación de POSIX o el vendedor como el API de Microsoft Windows, o las bibliotecas de un lenguaje de programación, por ejemplo, Biblioteca de plantillas estándar en C + + o Java API.  Una API difiere de una interfaz de aplicación binaria (ABI) en la que el primero es de código abierto basado mientras que el segundo es una interfaz binaria. Por ejemplo, es una API POSIX, mientras que la base estándar de Linux es un ABI.

Algunas de las siguientes definiciones de terminos se han tomado o modificado de definiciones de otros documentos del W3C u otros estándares. Véase también los vínculos de las definiciones para más información. 16-bit unit La unidad base de un DOMString. Esto indica que indexación ocurre sobre un DOMString en unidades 16 bits. Esto no debe entenderse mal para suponer que un DOMString puede almacenar albitrariamente unidades de 16-bit. Un DOMString es una cadena de caracteres codificada en UTF-16; esto quiere decir que la restricción de UTF-16 así como otras restricciones relevantes sobre cadenas de caracteres se deben mantener. Un caracter simple, por ejemplo en la forma de una referencia de caracter numérica, puede corresponder a uno o dos unidades de 16-bit. API Una API es una Interfaz de Programación de Aplicaciones (Application Programming Interface), un conjunto de funciones o métodos usados para acceder a ciertas funcionalidades. aplicación cliente (client application) Una aplicación [cliente] es cualquier programa que usa las interfaces de programación del Modelo de Objetos del Documento proporcionadas por la implementación anfitrión para realizar trabajo útil. Ejemplos de aplicaciones clientes son los scripts de un documento HTML o XML. ascendente (ascestor) Un nodo ascendente de cualquier nodo A es cualquier nodo por encima del A en un modelo de árbol, donde "por encima" significa"hacia la raíz". bien formado (well-formed) Un nodo es un nodo XML bien formado si su forma serializada, sin hacer ninguna transformación durante su serialización combina su respectiva presentación en [XML 1.0] o [XML 1.1] (dependiendo de la versión de XML usada) con todas sus obligaciones bien formadas para esa presentación, y si las entidades a las que son referidas en el nodo están también bien formadas. Si los espacios de nombres para XML están en uso, el nodo debe también ser un espacio de nombre bien formado. COM COM es el Modelo de Objetos de Componentes de Microsoft (Component Object Model) [COM], una tecnología para construir aplicaciones a partir de componenes binarias de software. comando (token) Un elemento de información como un Nombre XML el cual ha sido compilado. comparación de cadenas (string comparison) Cuando es necesario un emparejamiento de cadenas, este debe cumplir como si la comparación se realizara entre 2 secuencias de puntos de código del [Unicode]. compilado (tokenized) La descripción dada por varios elementos de información (por ejemplo, valores de atributos de varios tipos, pro no incluidos en StringType CDATA) despues de haber sido procesados por el procesador XML.

4.5. XSL y CSS

XSL: Es para XML lo que CSS es para HTML. Es un acrónimo en inglés de EXtensible Stylesheet Language (Lenguaje de hojas de estilo ampliable). Es un lenguaje diseñado para presentar datos XML en un formato legible. XSL consta realmente de dos partes:
  • XSLT: un lenguaje para transformar documentos XML
  • XPath: un lenguaje para navegar en documentos XML
XSLT significa Transformaciones XSL y es la parte más importante de XSL.
XSLT transforma un documento XML en otro documento XML, en una salida XHTML o en texto sencillo. Esto se suele hacer transformando cada elemento XML en un elemento HTML. El uso de XSL es imprescindible, ya que las etiquetas XML han sido definidas por el usuario y, por tanto, los navegadores no saben cómo interpretarlas o representarlas. Su significado se ha diseñado para ser entendido por las personas, no por las máquinas.
XSLT también puede realizar las siguientes operaciones en un árbol XML:
  • añadir y eliminar elementos
  • añadir y eliminar atributos
  • reorganizar y ordenar elementos
  • ocultar o mostrar determinados elementos
  • encontrar o seleccionar elementos específicos
CSS: El nombre hojas de estilo en cascada viene del inglés Cascading Style Sheets, del que toma sus siglas. CSS es un lenguaje usado para definir la presentación de un documento estructurado escrito en HTML o XML[2] (y por extensión en XHTML). El W3C (World Wide Web Consortium) es el encargado de formular la especificación de las hojas de estilo que servirán de estándar para los agentes de usuario o navegadores.
La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de su presentación.
La información de estilo puede ser adjuntada como un documento separado o en el mismo documento HTML. En este último caso podrían definirse estilos generales en la cabecera del documento o en cada etiqueta particular mediante el atributo "<style>".

4.4. Definición de Tipo de Documento

Una definición de tipo de documento o DTD (siglas en inglés de document type definition) es una descripción de estructura y sintaxis de un documento XML o SGML. Su función básica es la descripción de la estructura de datos, para usar una estructura común y mantener la consistencia entre todos los documentos que utilicen la misma DTD. De esta forma, dichos documentos pueden ser validados, conocen la estructura de los elementos y la descripción de los datos que trae consigo cada documento, y pueden además compartir la misma descripción y forma de validación dentro de un grupo de trabajo que usa el mismo tipo de información.

El propósito de la norma DTD, o definición del tipo de documento, es definir los elementos constituyentes de un documento en XML. Define la estructura del documento con una lista de elementos establecidos. Las ventajas de la DTD son muchas, permite que: todos los archivos XML tengan una descripción de su propio formato; distintos grupos de personas puedan ponerse de acuerdo para utilizar una DTD común para intercambiar datos; el programa en uso utilice una norma DTD para verificar que los datos que se reciben del mundo externo sean válidos; y también se puede usar la norma DTD para verificar los datos propios. Es esencial que la estructura de los documentos que se producen en XML coincida exactamente con la estructura prevista en la DTD. La actividad más importante que se realiza en este contexto es el mapeo del esquema de la base local de datos a un esquema XML de la DT

4.3. Lenguaje Extensible de Marcado de Hipertexto.

Los lenguajes de marcas, también denominados lenguajes de marcado o lenguajes de descripción de documentos, construyen un conjunto de reglas que definen todo aquello que es parte de un documento digital, pero que no pertenece al texto del mismo. Los lenguajes de marcas no son lenguajes de formato similares a los lenguajes que se usan en Internet como los de descripción de páginas (archivos PostScript, archivos .pdf, etc.) ni son lenguajes de programación (Java, Perl, C++...), sino que se trata de lenguajes orientados a definir la estructura y la semántica de un documento. 
En realidad, más que de lenguajes, podríamos hablar de metalenguajes o sistemas formales mediante los cuales se añade información o codificación a la forma digital de un documento bien para controlar su procesamiento, bien para representar su significado. En un documento existen distintos niveles de información: por un lado, los datos que conforman el contenido de un documento (caracteres de contenido), y por otro, una información superpuesta al contenido, que es lo que constituye el etiquetado, marcado o "markup" (caracteres de etiquetado).

 Un lenguaje de marcado cumple con dos objetivos esenciales a la hora de diseñar y procesar un documento digital : 
• Especifica las operaciones tipográficas y las funciones que debe ejecutar el programa navegador/visualizador sobre dichos elementos. Las operaciones tipográficas son instrucciones de formato que se aplican a cada uno de los elementos de un documento digital como, por ejemplo, imprimir un título en negrita y a un determinado tamaño. 
• Separa un texto en los elementos de los que se compone, como por ejemplo un párrafo, un capítulo, un encabezamiento, etc. 

Así, pues, hay 2 tipos de marcación: 
• específica: describe cómo ha de formatearse el documento: fuente, tamaño, color, etc. 
• estructural: describe la estructura del documento: titular, párrafo, etc. 

En general los lenguajes de marcado siguen una sintaxis basada en el uso de marcas o etiquetas: una etiqueta que indica el principio de un elemento y otra el final del mismo. 

Por regla general, la mayor parte de autores distinguen 2 tipos básicos de lenguajes de marcado: 
• Lenguaje de marcado de procedimiento o procesado: Las anotaciones o marcas de los lenguajes de procedimiento describen la forma y el significado de las operaciones tipográficas que van a ser aplicadas a cada uno de los elementos del documento. Por ejemplo, una regla de un lenguaje de procedimiento indicaría que el título de la sección de un texto debe ser impreso en una sola línea con una fuente de seis puntos más grande que el resto del texto, con objeto de que los lectores puedan inferir que es el título. Se refiere, pues, a la apariencia física o formato (fuente, estilo de letra, tamaño, etc.) tanto del documento en pantalla como del documento impreso. 
• Lenguaje de marcado estructural o descriptivo: En los lenguajes estructurales las marcas o anotaciones únicamente describen la estructura lógica del documento digital y/o la descripción del contenido, no su tipografía.

 Aunque lo cierto es que existen 3 utilizaciones básicas de los lenguajes de marcas: los que sirven principalmente para describir el contenido (por ejemplo, las bases de datos), los que sirven para definir el formato (por ejemplo, los procesadores de textos) y los que realizan las dos funciones indistintamente (por ejemplo, el lenguaje HTML). ¿Cómo surgen los lenguajes de marcado? Dada la gran variedad de formatos existentes a la hora de archivar documentos y de los problemas que se planteaban cuando se intercambiaban archivos con las consiguientes pérdidas de formato y otras características, todos estos problemas se intentaron solucionar editando los textos en código ASCII (American Standard Code for Information Interchange) el código de 7 bits que puede representar un máximo de 128 caracteres, muchos de ellos no imprimibles. 
Sin embargo, con la utilización de este código, no se podía definir el formato de un texto (por ejemplo, el uso de negrita o cursiva, o el uso de tipos de letra más grandes para los encabezamientos), ni se podían definir otras características relativas a la posición del texto, por lo que se intentó buscar un sistema de marcas con las que se pudieran determinar éstas y otras particularidades. Se acordó, pues, que las marcas deberían constar de unos caracteres ASCII especialmente reservados para ello y que deberían seguirse unas reglas sintácticas especiales. Así nació un lenguaje especial normalizado internacional para la formulación de este tipo de reglas llamado Standard Generalized Markup Language o SGML. SGML no es pues, un lenguaje en sí mismo, sino un metalenguaje y de él se deriva el lenguaje HTML o lenguaje de marcas de hipertexto, y otros muchos lenguajes. SGML SGML (Standard Generalized Markup Language) o Lenguaje de Etiquetado Generalizado Estándar es una norma ISO que permite que la estructura de un documento pueda ser definida en base a la relación lógica de sus partes. Esta estructura puede ser validada por una Definición de Tipo de Documento (DTD - Document Type Definition). La norma SGML define la sintaxis del documento y la sintaxis y semántica de DTD. En 1969 IBM ideó el lenguaje GML o Generalized Markup Language con el objetivo de crear un sistema general que permitiera la compatibilidad entre los documentos. En 1978, el Instituto Nacional Americano de Normalización (ANSI) comenzó a trabajar en las especificaciones para los procesadores de textos y el resultado fue el lenguaje SGML, que se convirtió en la Norma ISO 8879 en 1986. En SGML, el marcado de un fragmento de texto se realiza a través de las etiquetas o marcas (tag). Estas marcas se diferencian del propio texto porque aparecen entre paréntesis angulares < > en caracteres ASCII que, por tanto, se convierten en signos reservados para la sintaxis SGML.) Una pareja de marcas o etiquetas encierran el texto al que afectan.

viernes, 7 de junio de 2013

4.2. Lenguaje de Marcado Generalizado

Generalized Markup Language (GML) (Lenguaje de marcado generalizado en español) es un conjunto de macros que aplican la base de las etiquetas de marcas para el SCRIPT un formateador de texto de la IBM, "SCRIPT". SCRIPT es el componente principal de IBM Document Composition Facility (DCF). Un conjunto de etiquetas de arranque en GML se proporciona en el producto DCF.

GML simplifica la descripción de un documento en términos de su formato, estructura de organización, piezas contentas y su relación, y otras características. El margen de beneficio de GML (o las etiquetas) describe las piezas tales como los capítulos, las secciones importantes, y las secciones menos importantes (especificando niveles del título), párrafos, listas, tablas, y así sucesivamente.

GML libera a creador del documento de preocupaciones específicas del formato del documento tales como especificación de la fuente, línea espaciamiento, y disposición de página requerida por Script. Usando GML, un documento está marcado para arriba con las etiquetas que definen cuáles es el texto, en términos de párrafos, los jefes, listas, tablas, y así sucesivamente. El documento se puede entonces ajustar a formato automáticamente para los varios dispositivos simplemente especificando un perfil para el dispositivo.

4.1 . Características del lenguaje

  • Aunque hoy día XML aún no está tan extendido como HTML, su uso futuro en la Web mejorará la eficiencia de las búsquedas, al proporcionar cada documento XML metadatos sobre sí mismo.
  • Permite proporcionar diferentes vistas sobre los datos (HTML, PDF, voz, etc.), dependiendo de quién sea el cliente.
  • Facilita la integración desde fuentes de datos heterogéneas, por ejemplo, páginas Web, distintas bases de datos, ...
  • Los documentos tienen una estructura que los hace legibles e inteligibles no sólo para los ordenadores, si no también para los humanos.
  • Las aplicaciones de XML son fácilmente extensibles mediante definiciones de nuevos tipos de documento (DTD).