martes, 11 de junio de 2013

XML generalidades del lenguaje.

 eXtensible Markup Language 



XML, siglas en inglés de eXtensible Markup Language ('lenguaje de marcas extensible'), es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C). Deriva del lenguaje SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML) para estructurar documentos grandes. A diferencia de otros lenguajes, XML da soporte a bases de datos, siendo útil cuando varias aplicaciones se deben comunicar entre sí o integrar información. (Bases de datos Silberschatz).

XML no ha nacido sólo para su aplicación para Internet, sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable.
XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil.

Ventajas del XML

  • Es extensible: Después de diseñado y puesto en producción, es posible extender XML con la adición de nuevas etiquetas, de modo que se pueda continuar utilizando sin complicación alguna.
  • El analizador es un componente estándar, no es necesario crear un analizador específico para cada versión de lenguaje XML. Esto posibilita el empleo de cualquiera de los analizadores disponibles. De esta manera se evitan bugs y se acelera el desarrollo de aplicaciones.
  • Si un tercero decide usar un documento creado en XML, es sencillo entender su estructura y procesarla. 
  • Mejora la compatibilidad entre aplicaciones. Podemos comunicar aplicaciones de distintas plataformas, sin que importe el origen de los datos, es decir, podríamos tener una aplicación en Linux con una base de datos Postgres y comunicarla con otra aplicación en Windows y Base de Datos MS-SQL Server.
  • Transformamos datos en información, pues se le añade un significado concreto y los asociamos a un contexto, con lo cual tenemos flexibilidad para estructurar documentos.


Estructura de un documento XML

La tecnología XML busca dar solución al problema de expresar información estructurada de la manera más abstracta y reutilizable posible. Que la información sea estructurada quiere decir que se compone de partes bien definidas, y que esas partes se componen a su vez de otras partes. Entonces se tiene un árbol de trozos de información. Ejemplos son un tema musical, que se compone de compases, que están formados a su vez por notas. Estas partes se llaman elementos, y se las señala mediante etiquetas.
Una etiqueta consiste en una marca hecha en el documento, que señala una porción de éste como un elemento. Un pedazo de información con un sentido claro y definido. Las etiquetas tienen la forma <nombre>, donde nombre es el nombre del elemento que se está señalando.

A continuación se muestra un ejemplo para entender la estructura de un documento XML:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE Edit_Mensaje SYSTEM "Edit_Mensaje.dtd">

<Edit_Mensaje>
     <Mensaje>
          <Remitente>
               <Nombre>Nombre del remitente</Nombre>
               <Mail> Correo del remitente </Mail>
          </Remitente>
          <Destinatario>
               <Nombre>Nombre del destinatario</Nombre>
               <Mail>Correo del destinatario</Mail>
          </Destinatario>
          <Texto>
               <Asunto>
                    Este es mi documento con una estructura muy sencilla
                    no contiene atributos ni entidades...
               </Asunto>
               <Parrafo>
                    Este es mi documento con una estructura muy sencilla
                    no contiene atributos ni entidades...
               </Parrafo>
          </Texto>
     </Mensaje>
</Edit_Mensaje>
Aquí está el ejemplo de código del DTD del documento «Edit_Mensaje.dtd»:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Este es el DTD de Edit_Mensaje -->

<!ELEMENT Mensaje (Remitente, Destinatario, Texto)*>
<!ELEMENT Remitente (Nombre, Mail)>
<!ELEMENT Nombre (#PCDATA)>
<!ELEMENT Mail (#PCDATA)>
<!ELEMENT Destinatario (Nombre, Mail)>
<!ELEMENT Nombre (#PCDATA)>
<!ELEMENT Mail (#PCDATA)>
<!ELEMENT Texto (Asunto, Parrafo)>
<!ELEMENT Asunto (#PCDATA)>
<!ELEMENT Parrafo (#PCDATA)>

Documentos XML bien formados y control de errores

Los documentos denominados como «bien formados» (del inglés well formed) son aquellos que cumplen con todas las definiciones básicas de formato y pueden, por lo tanto, analizarse correctamente por cualquier analizador sintáctico (parser) que cumpla con la norma. Se separa esto del concepto de validez que se explica más adelante.
Los documentos han de seguir una estructura estrictamente jerárquica con lo que respecta a las etiquetas que delimitan sus elementos. Una etiqueta debe estar correctamente incluida en otra, es decir, las etiquetas deben estar correctamente anidadas. Los elementos con contenido deben estar correctamente cerrados.

Los documentos XML sólo permiten un elemento raíz del que todos los demás sean parte, es decir, solo pueden tener un elemento inicial.
Los valores atributos en XML siempre deben estar encerrados entre comillas simples o dobles.
El XML es sensible a mayúsculas y minúsculas. Existe un conjunto de caracteres llamados espacios en blanco (espacios, tabuladores, retornos de carro, saltos de línea) que los procesadores XML tratan de forma diferente en el marcado XML.
Es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc. En XML los nombres tienen alguna característica en común.

Las construcciones como etiquetas, referencias de entidad y declaraciones se denominan marcas; son partes del documento que el procesador XML espera entender. El resto del documento entre marcas son los datos «entendibles» por las personas.


Partes de un documento XML

Un documento XML está formado por el prólogo y por el cuerpo del documento así como texto de etiquetas que contiene una gran variedad de efectos positivos o negativos en la referencia opcional a la que se refiere el documento, hay que tener mucho cuidado de esa parte de la gramática léxica para que se componga de manera uniforme.

Prólogo

Aunque no es obligatorio, los documentos XML pueden empezar con unas líneas que describen la versión XML, el tipo de documento y otras cosas.
El prólogo de un documento XML contiene:
Una declaración XML. Es la sentencia que declara al documento como un documento XML.
Una declaración de tipo de documento. Enlaza el documento con su DTD (definición de tipo de documento), o el DTD puede estar incluido en la propia declaración o ambas cosas al mismo tiempo.
Uno o más comentarios e instrucciones de procesamiento.
EJEMPLO: <?xml version="1.0" encoding="UTF-8"?>

Cuerpo

A diferencia del prólogo, el cuerpo no es opcional en un documento XML, el cuerpo debe contener solo un elemento raíz, característica indispensable también para que el documento esté bien formado. Sin embargo es necesaria la adquisición de datos para su buen funcionamiento.
EJEMPLO:
       <Edit_Mensaje>
           (...)
       </Edit_Mensaje>

Elementos

Los elementos XML pueden tener contenido (más elementos, caracteres o ambos), o bien ser elementos vacíos.

Atributos

Los elementos pueden tener atributos, que son una manera de incorporar características o propiedades a los elementos de un documento. Deben ir entre comillas.
Por ejemplo, un elemento «estudiante» puede tener un atributo «Mario» y un atributo «tipo», con valores «come croquetas» y «taleno» respectivamente.
<Estudiante Mario="come croquetas" tipo="taleno">Esto es un día que Mario va paseando…</Estudiante>

Entidades predefinidas

Entidades para representar caracteres especiales para que, de esta forma, no sean interpretados como marcado en el procesador XML.
Ejemplo: entidad predefinida: & carácter: &.

Secciones CDATA

Artículo principal: Anexo:Etiquetas HTML/XHTML.
Es una construcción en XML para especificar datos utilizando cualquier carácter sin que se interprete como marcado XML. No confundir con 2(#PCDATA) que es para los elementos. Permite que caracteres especiales no rompan la estructura. Ejemplo:
<![CDATA[contenido especial: áéíóúñ&]]>

Comentarios

Comentarios a modo informativo para el programador que han de ser ignorados por el procesador. Los comentarios en XML tienen el siguiente formato:
  <!--- Esto es un comentario --->
  <!-- Otro comentario -->

Validez

Que un documento esté «bien formado» solamente se refiere a su estructura sintáctica básica, es decir, que se componga de elementos, atributos y comentarios como XML especifica que se escriban. Ahora bien, cada aplicación de XML, es decir, cada lenguaje definido con esta tecnología, necesitará especificar cuál es exactamente la relación que debe verificarse entre los distintos elementos presentes en el documento.


Esta relación entre elementos se especifica en un documento externo o definición (expresada como DTD —Document Type Definition, 'Definición de Tipo de Documento'— o como XSchema). Crear una definición equivale a crear un nuevo lenguaje de marcado, para una aplicación específica.

4.1 CARACTERISTICAS DEL LENGUAJE XML


4.1 CARACTERÍSTICAS DEL LENGUAJE XML




Varias son las características que ofrece XML:

  • 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).


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 productoDCF.


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. Por ejemplo, es posible ajustar a formato un documento para una impresora laser o una línea (matriz de punto) impresora o para una pantalla simplemente especificando un perfil para el dispositivo sin cambiar el documento sí mismo.
Un sistema más moderno y extenso de etiquetas es proporcionado por el producto de BookMaster de IBM.


GML precedido y era una de las dos fuentes que fueron utilizadas como la base para la lengua generalizada estándar industria-en desarrollo del margen de beneficio (SGML), un sistema de las reglas para crear idiomas descriptivos estructurados del documento. Extensible Markup Language (XML) era inicialmente un desarrollo aerodinámico y simplificado del SGML, pero ha pasado a su padre en términos de la aceptación y de la ayuda mundiales.

4.3. LENGUAJE EXTENSIBLE DE MARCADO DE HIPERTEXTO

4.3  LENGUAJE EXTENSIBLE DE MARCADO DE HIPERTEXTO






XHTML, Siglas del inglés eXtensible HyperText Markup Language. XHTML es básicamente HTML expresado como XML válido. Es más estricto a nivel técnico, pero esto permite que posteriormente sea más fácil al hacer cambios o buscar errores entre otros. En su versión 1.0, XHTML es solamente la versión XML de HTML, por lo que tiene, básicamente, las mismas funcionalidades, pero cumple las especificaciones, más estrictas, de XML. Su objetivo es avanzar en el proyecto del World Wide Web Consortium de lograr una web semántica, donde la información, y la forma de presentarla estén claramente separadas. La versión 1.1 es similar, pero parte a la especificación en módulos. En sucesivas versiones la W3C planea romper con los tags clásicos traídos de HTML.

Ventajas respecto del HTML


  • Las principales ventajas del XHTML sobre el HTML son:
  • Se pueden incorporar elementos de distintos espacios de nombres XML (como MathML y Scalable Vector Graphics).
  • Un navegador no necesita implementar heurísticas para detectar qué quiso poner el autor, por lo que el parser puede ser mucho más sencillo.
  • Como es XML se pueden utilizar fácilmente herramientas creadas para procesamiento de documentos XL genéricos (editores, XSLT, etc.).

Las paginas web, a parte de contener texto, imágenes  scripts, enlaces, etc. pueden tener estilos en los elementos en el contexto mismo de la pagina (color, tamaño,etc).
Es aqui donde paramos el HTML, para introducir un nuevo concepto XHTML y CSS.



El XHTML (eXtensible Hypertext Markup Language) [lenguaje extensible de marcado de hipertexto], es practicamente lo mismo que el HTML, pero..., este lenguaje de marcas fue creado para sustituir al HTML, ¿cómo?, claro este es la version XML del HTML, osea que ahora tiene especificaciones estrictas que se deben de cumplir, y ahora el objetivo especifico es el de "transmitir la información que contiene un documento", y el aspecto y/o diseño queda como tarea para lo que es las hojas de estilo (CSS "Cascading Style Sheets" ) así como la funcionalidad e interactividad para Javascript.

EL XHTML busca que haya un orden en la estructura del documento web, es un lenguaje semántico,no busca la presentación de las cosas sino lo que significan en sí.

El XHTML se basa en el uso de etiquetas que son tambien llamadas etiquetas, directivas o comandos (tags), estas etiquetas son delimitadas por los simbolos de menor que y mayor que :

<etiqueta>
Normalmente hay una etiqueta de inicio y una de cierre
<etiqueta></etiqueta>
las etiquetas le dicen al navegador como va a presentar los elementos

Reglas del XHTML

1.- Un documento XHTML, no puede tener etiquetas abiertas, incluso las que definen un elemento independiente deben cerrarse a sí mismas añadiendo una barra / al final de la misma, hay que dejar un espacio ente el nombre de la etiqueta y la barra / para que los navegadores antiguos mantengan la compatibilidad con XHTML
ejemplo:
                  <p></p>  <li></li> <br />  <hr />

2.- Los elementos deben de estar anidados de forma lógica  es decir deben de cerrase en el orden inverso al que fueron abiertos.

3.- Todas las etiquetas y sus atributos deben estar escritos en minúsculas, salvo el valor del atributo, el cual puede ir escrito con mayúsculas o minúsculas.
ejemplo:
              <p align="justify"></p> ó <p align="JUSTIFY"></p>


4.- Todos los valores de los atributos de las etiquetas, siempre DEBEN DE ESTAR ENTRECOMILLADOS.
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.

La DTD es una definición, en un documento SGML o XML, que especifica restricciones en la estructura y sintaxis del mismo. La DTD se puede incluir dentro del archivo del documento, pero normalmente se almacena en un fichero ASCII de texto separado. La sintaxis de las DTD para SGML y XML es similar pero no idéntica.
La definición de una DTD especifica la sintaxis de una aplicación de SGML o XML, que puede ser un estándar ampliamente utilizado como XHTML o una aplicación local.
Las DTD se emplean generalmente para determinar la estructura de un documento mediante etiquetas (en inglés tags) XML o SGML. Una DTD describe:

  • § Elementos: indican qué etiquetas son permitidas y el contenido de dichas etiquetas.
  • § Estructura: indica el orden en que van las etiquetas en el documento.
  • § Anidamiento: indica qué etiquetas van dentro de otras.


Limitaciones de la DTD

Un esquema basado en una DTD tiene bastantes limitaciones. Una DTD no permite definir elementos locales que sólo sean válidos dentro de otros elementos. Por ejemplo, si queremos tener un elemento <Manager> que describa al gestor de una compañía o al de una delegación, y la definición de Manager es diferente en cada caso, con una DTD tendríamos que crear los elementos “CompanyManager” y “DelegationManager” para evitar el conflicto de nombres. Es decir, la falta de jerarquía en una DTD obliga a introducir una jerarquía a base de guiones o puntos en el espacio de nombres (Namespace). 

En una DTD es poco flexible la definición de elementos con contenido mixto, es decir, que incluyan otros elementos además de texto. Además no es posible indicar a qué tipo de dato (número, fecha, moneda) ha de corresponder un atributo o el texto de un elemento.

La necesidad de superar estas limitaciones propicia la aparición de otros lenguajes de esquema como XML Schema, herramientas más completas de descripción que son una alternativa a las DTD.

4.5 XSL, CSS

4.5 XSL,  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.


SLT 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.6.-API SIMPLE PARA XML Y MODELO EN OBJETOS PARA LA PRESENTACIÓN DE DOCUMENTOS

4.6  API SIMPLE PARA XML Y MODELO EN OBJETOS PARA LA PRESENTACIÓ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.




SAX son las siglas de "Simple API for XML", originalmente, una API únicamente para el lenguaje de programación Java, que después se convirtió en la API estándar de facto para usar XML en JAVA. Existen versiones de SAX no sólo para JAVA, si no también para otros lenguajes de programación (como python).

Analizador o parser SAX
·         Detecta cuándo empieza y termina un elemento o el documento, o un conjunto de caracteres, etc. (genera eventos).
·         Gestiona los espacios de nombres.
·         Comprueba que el documento está bien formado.
·         Las aplicaciones necesitan implementar manejadores de los eventos notificados.
·         SAX lee secuencialmente de principio a fin, sin cargar todo el documento en memoria.

Ventaja y desventajas
·         Eficiencia en cuanto al tiempo y la memoria empleados en el análisis.
·         No dispone de la estructura en árbol.
·         Es más difícil de manipular.
·         Realiza una lectura secuencial del documento por lo que una vez leído no se puede volver atrás, algo que DOM sí permite.

El Document Object Model o DOM ('Modelo de Objetos del Documento' o 'Modelo en Objetos para la Representación de Documentos') es esencialmente una interfaz de programación de aplicaciones (API) que proporciona un conjunto estándar de objetos para representar documentos HTML y XML, un modelo estándar sobre cómo pueden combinarse dichos objetos, y una interfaz estándar para acceder a ellos y manipularlos. A través del DOM, los programas pueden acceder y modificar el contenido, estructura y estilo de los documentos HTML y XML, que es para lo que se diseñó principalmente.
El responsable del DOM es el World Wide Web Consortium (W3C).
El DOM es una interfaz de programación de aplicaciones para acceder, añadir y cambiar dinámicamente contenido estructurado en documentos con lenguajes como ECMAScript (JavaScript).



4.7.-CREACION Y CONSUMO DE SERVICIOS WEB XML

4.7 CREACIÓN Y CONSUMO DE SERVICIOS WEB XML


Un servicio Web XML es una entidad programable que proporciona un elemento de funcionalidad determinado, como lógica de aplicación, al que se puede tener acceso desde diversos sistemas potencialmente distintos mediante estándares de Internet muy extendidos, como XML y HTTP. Los servicios Web XML dependen en gran medida de la amplia aceptación de XML y otros estándares de Internet para crear una infraestructura que posibilite el funcionamiento conjunto de aplicaciones de modo que se solucionen muchos de los problemas que antes dificultaban estos intentos.



Un servicio Web XML puede ser utilizado internamente por una aplicación o bien ser expuesto de forma externa en Internet por varias aplicaciones. Dado que a través de una interfaz estándar es posible el acceso a un servicio Web XML, éste permite el funcionamiento de una serie de sistemas heterogéneos como un conjunto integrado.

En vez de centrarse en las posibilidades genéricas de portabilidad del código, los servicios Web XML proporcionan una solución viable para habilitar la interoperabilidad de datos y sistemas. Los servicios Web XML utilizan mensajería basada en XML como medio fundamental de comunicación de datos para contribuir a reducir las diferencias existentes entre entornos que utilizan distintos modelos de componentes, sistemas operativos y lenguajes de programación. Los programadores pueden crear aplicaciones que entrelacen servicios Web XML de diversos orígenes, de modo similar a cómo utilizan tradicionalmente componentes en la creación de aplicaciones distribuidas.



Una de las características básicas de un servicio Web XML es el alto grado de abstracción existente entre la implementación y el consumo de un servicio. Al utilizar mensajería basada en XML como mecanismo de creación y acceso al servicio, el cliente del servicio Web XML y el proveedor de servicios Web XML no necesitan más conocimiento mutuo que el relativo a las entradas, las salidas y la ubicación.

Los servicios Web XML posibilitan una nueva era para el desarrollo de aplicaciones distribuidas. Quedan así relegadas las competiciones entre modelos de objetos y entre lenguajes de programación. Cuando los sistemas se acoplan estrechamente mediante infraestructuras patentadas, esto se realiza a expensas de la interoperabilidad entre las aplicaciones. Los servicios Web XML ofrecen interoperabilidad en un nivel completamente nuevo que no deja lugar para esas rivalidades contraproducentes. Como siguiente avance revolucionario de Internet, los servicios Web XML se convierten en la estructura fundamental que vincula a todos los equipos y dispositivos.




 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