APIs de Java para XML

XML hace los datos portables. La plataforma Java hace los datos portables. Los APIs Java para XML hacen f�cil el uso del XML. Pongamos todo esto junto y tendremos la combinaci�n perfecta: portabilidad de datos, portabilidad de codigo y facilidad de uso. De hecho, con los APIs de Java para XML, podremos obtener los beneficios del XML con un uso directo de XML muy peque�o.

Las empresas est�n descubriendo r�pidamente los beneficios de usar XML para la integraci�n de los datos, tanto internamente para compartir datos legales entre departamentos, como externamente para compartir datos con otras empresas. Y a causa de la integraci�n de datos que ofrece XML, se ha convertido en indispensable para los nuevos c�lculos relacionados con la Web.

La parte realmente dura del desarrollo de sericios Web es la programaci�n de la infraestructura, o "tuber�as", como las capacidades de seguridad y de mensajer�a, el manejo de transaciones distribuidas, y el control de almacenes de conexiones. Otra dificultad es que esos servicios web deben ser capaces de manejar un enorme n�mero de usuarios simult�neamente, por eso las aplicaciones deben ser altamente escalables. Estos requerimientos son los que ofrece extacmente la plataforma Java TM, Enterprise Editon (J2EE TM ). Si a�adimos a esto que la plataforma J2EE es una tecnolog�a demostrada con m�ltiples vendedores ofreciendo productos compatibles a d�a de hoy, nos encontramos con que la plataforma J2EE es la mejor plataforma para desarrollar servicios Web. Y con los nuevos APIs de Java para XML, el desarrollo de servicios Web se est� convirtiendo cada vez en m�s sencillo.

El objetivo de este tutorial es aclarar qu� hacen los APIs de Java para XML y c�mo pueden facilitar la escritura de aplicaciones Web. Describe cada uno de los APIs individualmente y luego presenta un escenrario que muestra como pueden trabajar juntos. Tambi�n menciona otras tecnolog�as actualmente disponibles y c�mo poder usarlas en conjunci�n con los API de Java para XML.

En la siguiente direcci�n podr�s encontrar informaci�n m�s detallada sobre los APIs de Java para XML:

http://java.sun.com/xml

.��Qu� es XML?

XML (eXtensible Markup Language) es un est�ndar industrial para representar datos, independiente del sistema. Al igual que HTML (HyperText Markup Language), XML encierra los datos en etiquetas, pero hay importantes diferencias entre los dos lenguajes de marcas. Primero, las etiquetas XML tiene relaci�n con el significado del texto que encierran, mientras que las etiquetas HTML espec�fican c�mo mostrar el texto encerrado. El siguiente ejemplo XML muestra una lista de precios con el nombre y el precio de dos caf�s:

<priceList>
	<coffee>
		<name>Mocha Java</name>
		<price>11.95</price>
	</coffee>
	<coffee>
		<name>Sumatra</name>
		<price>12.50</price>
	</coffee>
</priceList>

Las etiquetas <coffee> y </coffee> le dicen al analizador que la informaci�n que hay entre ellas trata sobre un caf�. Las otras dos etiquetas dentro de las etiquetas <coffee> especifican que la informaci�n encerrada son el nombre del caf� y su precio por libra. Como las etiquetas XML especifican el contenido y la estructura de los datos que encierran es posible hacer cosas como archivar o buscar datos.

Un segunda diferencia importante entre XML y HTML es que las etiquetas XML son extensibles, permit�ndonos escribir nuestras propias etiquetas XML para describir nuestro contenido. Con HTML, est�bamos limitados a usar s�lo aquellas etiquetas que hab�an sido predefinidas en la especificaci�n HTML.

Con la extensibilidad que proporciona XML, podemos crear las etiquetas que necesitemos para un tipo de documento en particular. Definimos las etiquetas usando un esquema de lenguaje XML. Un esquema describe la estructura de un conjunto de documentos XML y puede usarse para limitar los contenidos de los documentos XML. Probablemente el lenguaje de esquema m�s ampliamente utilizado es el Document Type Definition. Un esquema escrito en este lenguaje se llama DTD. El siguiente DTD define las etiquetas usadas en el documento XML de la lista de precios. Especifica cuatro etiquetas (elementos) y adem�s espec�fica qu� etiquetas podr�an ocurrir (o es necesario que ocurran) dentro de otras etiquetas. El DTD tambi�n define la estructura de �rbol de un documento XML, incluyendo el orden en que deber�an ocurrir las etiquetas:

<!ELEMENT priceList (coffee)+>
<!ELEMENT coffee (name, price) >
<!ELEMENT name (#PCDATA) >
<!ELEMENT price (#PCDATA) >

La primera l�nea del ejemplo nos d� el elemento de m�s alto nivel priceList, lo que significa que todas las otras etiquetas del documento deben ocurrir entre las etiquetas <priceList> y </priceList>. La primera l�nea tambi�n dice que el elemento priceList debe contener uno o m�s elementos coffee (indicado por el signo m�s). La segunda l�nea especifica que cada elemento coffee debe contener un elemento name y un elemento price, en este orden. La tercera y cuarta l�nea especifican que los datos entre las etiquetas <name> y </name> y entre las etiquetas <price> y </price> son del tipo caracter y deber�an analizarse. El name y el price de cada coffee son el texto real que componen la lista de precios.

.��Qu� hace que el XML sea Portable?

Un DTD, como el del ejemplo anterior, es lo que le da al XML su portabilidad. Si una aplicaci�n recibe un documento priceList en formato XML y tiene el DTD priceList, puede procesar el documento de acuerdo a las reglas especificadas en el DTD. Por ejemplo, dando el DTD priceList, un analizador conocer� la estructura y el contenido de cualquier documento XML basado en esa DTD. Si el analizador es un analizador validante, sabr� que el documento no es v�lido si contiene elementos que no est�n incluidos en la DTD, como <tea>, o si el elemento price precede al elemento name.

Otras caracter�sticas tambi�n contribuyen a la popularidad de XML como un m�todo para intercambio de datos. Por una cosa, est� escrito en formato de texto, lo pueden leer tanto los humanos como los sofwares de edici�n de texto. Las aplicaciones pueden analizar y procesar documentos XML, y los humanos tambi�n pueden leerlos en caso de que haya alg�n error en el procesamiento. Otra caracter�stica es que como un documento XML no incluye instrucciones de formateo, puede mostrarse de varias formas. Mantener los datos separados de las instrucciones de formateo significa que los mismos datos pueden prublicarse en diferentes medios.

.�Introducci�n a los APIs de Java para XML

Los APIs de Java para XML nos permiten escribir aplicaciones Web completamente en el lenguaje Java. Se dividen en dos categor�as: aquellas que tratan directamente con documentos XML y aquellas que tratan con procedimientos:

  • Oientadas a Documento:
    • API Java para Procesar XML (JAXP) � procesa documentos XML usando varios analizadores.
    • Arquitectura Java para Uniones XML (JAXB) � mapea elementos XML a clases del lenguaje Java.
  • Orientadas a Procedimiento:
    • API Java para Mensajer�a XML (JAXM) � env�a mensajes SOAP sobre Internet de una forma est�ndar.
    • API Java para Registros XML (JAXR) � proporciona una forma est�ndar para acceder a registros de negocios que comparte informaci�n.
    • API Java para RPC basado en en XML (JAX-RPC) � env�a llamadas a m�todos SOAP a partes remotas sobre Internet y recibe los resultados.

Quiz�s la caracter�stica m�s importante de los APIs de Java para XML es que todos soportan los est�ndars de la industria, as� se aseguran la interoperabilidad. Varios grupos de estandarizaci�n, com el "World Wide Web Consortium" (W3C) y la "Organization for the Advancement of Structured Information Standards" (OASIS), han estado definiendo formas est�ndars de hacer las cosas para que las empresas que siguan estos est�ndars pueden hacer que sus datos y aplicaciones funcionen juntos.

Otra caracter�stica de los APIs de Java para XML es que pemiten una gran flexibiliad. Los usuarios tienen flexibilidad en el modo de utilizar los APIs. Por ejemplo, el c�digo JAXP puede usar varias herramientas para procesar un documento XML, y el c�digo JAXM puede usar varios protocolo de mensajes encima de SOAP. Los implementadores tambi�n tienen flexibilidad. Los APIs Java para XML definen requerimientos de compatibilidad estricta para asegurarse que todas las implementaciones siguen la funcionalidad est�ndar, pero tambi�n le dan a los desarrolladores una gran libertad para proporcionar implementaciones hechas a medida para usos espec�ficos.

Las siguientes secciones explican cada uno de stos APIs, dando una introducci�n y explicando como usarlos.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO