APIs de Java para XML

XML hace los datos portables. La plataforma Java hace los datos portables. Los APIs Java para XML hacen fcil el uso del XML. Pongamos todo esto junto y tendremos la combinacin 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 pequeo.

Las empresas estn descubriendo rpidamente los beneficios de usar XML para la integracin de los datos, tanto internamente para compartir datos legales entre departamentos, como externamente para compartir datos con otras empresas. Y a causa de la integracin de datos que ofrece XML, se ha convertido en indispensable para los nuevos clculos relacionados con la Web.

La parte realmente dura del desarrollo de sericios Web es la programacin de la infraestructura, o "tuberas", como las capacidades de seguridad y de mensajera, 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 nmero de usuarios simultneamente, por eso las aplicaciones deben ser altamente escalables. Estos requerimientos son los que ofrece extacmente la plataforma Java TM, Enterprise Editon (J2EE TM ). Si aadimos a esto que la plataforma J2EE es una tecnologa demostrada con mltiples vendedores ofreciendo productos compatibles a da 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 ms sencillo.

El objetivo de este tutorial es aclarar qu hacen los APIs de Java para XML y cmo 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. Tambin menciona otras tecnologas actualmente disponibles y cmo poder usarlas en conjuncin con los API de Java para XML.

En la siguiente direccin podrs encontrar informacin ms detallada sobre los APIs de Java para XML:

http://java.sun.com/xml

.Qu es XML?

XML (eXtensible Markup Language) es un estndar 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 relacin con el significado del texto que encierran, mientras que las etiquetas HTML especfican cmo mostrar el texto encerrado. El siguiente ejemplo XML muestra una lista de precios con el nombre y el precio de dos cafs:

<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 informacin que hay entre ellas trata sobre un caf. Las otras dos etiquetas dentro de las etiquetas <coffee> especifican que la informacin 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, permitndonos escribir nuestras propias etiquetas XML para describir nuestro contenido. Con HTML, estbamos limitados a usar slo aquellas etiquetas que haban sido predefinidas en la especificacin 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 ms 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 adems especfica qu etiquetas podran ocurrir (o es necesario que ocurran) dentro de otras etiquetas. El DTD tambin define la estructura de rbol de un documento XML, incluyendo el orden en que deberan ocurrir las etiquetas:

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

La primera lnea del ejemplo nos d el elemento de ms alto nivel priceList, lo que significa que todas las otras etiquetas del documento deben ocurrir entre las etiquetas <priceList> y </priceList>. La primera lnea tambin dice que el elemento priceList debe contener uno o ms elementos coffee (indicado por el signo ms). La segunda lnea especifica que cada elemento coffee debe contener un elemento name y un elemento price, en este orden. La tercera y cuarta lnea especifican que los datos entre las etiquetas <name> y </name> y entre las etiquetas <price> y </price> son del tipo caracter y deberan 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 aplicacin 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 vlido si contiene elementos que no estn incluidos en la DTD, como <tea>, o si el elemento price precede al elemento name.

Otras caractersticas tambin contribuyen a la popularidad de XML como un mtodo para intercambio de datos. Por una cosa, est escrito en formato de texto, lo pueden leer tanto los humanos como los sofwares de edicin de texto. Las aplicaciones pueden analizar y procesar documentos XML, y los humanos tambin pueden leerlos en caso de que haya algn error en el procesamiento. Otra caracterstica 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.

.Introduccin 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 categoras: 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 Mensajera XML (JAXM) enva mensajes SOAP sobre Internet de una forma estndar.
    • API Java para Registros XML (JAXR) proporciona una forma estndar para acceder a registros de negocios que comparte informacin.
    • API Java para RPC basado en en XML (JAX-RPC) enva llamadas a mtodos SOAP a partes remotas sobre Internet y recibe los resultados.

Quizs la caracterstica ms importante de los APIs de Java para XML es que todos soportan los estndars de la industria, as se aseguran la interoperabilidad. Varios grupos de estandarizacin, com el "World Wide Web Consortium" (W3C) y la "Organization for the Advancement of Structured Information Standards" (OASIS), han estado definiendo formas estndars de hacer las cosas para que las empresas que siguan estos estndars pueden hacer que sus datos y aplicaciones funcionen juntos.

Otra caracterstica 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 cdigo JAXP puede usar varias herramientas para procesar un documento XML, y el cdigo JAXM puede usar varios protocolo de mensajes encima de SOAP. Los implementadores tambin tienen flexibilidad. Los APIs Java para XML definen requerimientos de compatibilidad estricta para asegurarse que todas las implementaciones siguen la funcionalidad estndar, pero tambin le dan a los desarrolladores una gran libertad para proporcionar implementaciones hechas a medida para usos especficos.

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

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO

¡SÉ EL PRIMERO EN COMENTAR!
Conéctate o Regístrate para dejar tu comentario.