Universidad Nacional Autónoma de México
Dirección General de Servicios de Cómputo Académico
Año 7 Núm. 74, Publicación Mensual, 27 de Noviembre de 2008

ARTÍCULOS

 

Año 3, Número 26, Febrero de 2004

Programación en red: Java y XML

Juan Manuel Castillejos Reyes

 

Hoy en día, las aplicaciones basadas en HTML (HyperText Markup Language) que utilizan el navegador como cliente ligero, son muy habituales. Sin embargo, el desarrollo de éstas suele ser largo y costoso.

¿Por qué? Entre otras razones, se puede señalar que la tecnología tiene desventajas en muchos aspectos, como los apremios en búsqueda de una veloz entrega de resultados a la hora de desarrollar aplicaciones, los cuales son los que aumentan los costos y disminuyen la confiabilidad. Además, las aplicaciones para Internet suelen sufrir requerimientos cambiantes, sobre todo en cuanto a interfaz, y gozan de poco tiempo para un buen análisis y diseño, algo que es considerado en otro tipo de aplicaciones. Por otro lado, la amplitud del mercado al que pueden llegar nuestras aplicaciones a través de la red de redes es inmensa y, por ello, debemos estar preparados tanto para adaptarlas a nuevas situaciones como a diferentes idiomas, acceso a través de distintos dispositivos, entre otros.

Java y XML (eXtensible Markup Language) son dos tecnologías que ofrecen una combinación perfecta porque se complementan uno al otro, además de cubrir los requerimientos de actualización sin ningún problema. Ambos trabajan muy bien en Internet, ya que XML fue diseñado para lograr los mejores resultados al ser flexible con un formato legible que es fácil de emplear en Internet; y Java ha sido desde sus inicios capaz de soportar múltiples dispositivos independientes de su plataforma de software y hardware que transmiten datos en la red. Los dos soportan UNICODE (estándar que permite el uso de caracteres de todos los idiomas) y por consiguiente, contribuyen a internacionalizar las aplicaciones. XML es ideal para representar modelos de datos complejos y jerárquicos, mientras que los desarrolladores de Java han sido beneficiados por un extenso desarrollo de ambientes.

Una de las aplicaciones que se pueden beneficiar mucho del uso de estas tecnologías, son las Bibliotecas Digitales, ya que gracias a las ventajas ofrecidas por los dos lenguajes antes mencionados, es posible el almacenamiento de miles de obras digitales, manteniendo un orden bien definido, y dando una facilidad de publicación en diferentes idiomas, sin aumentar los costos.

XML

El extraordinario crecimiento del World Wide Web “WWW” se debe, en parte, a la gran facilidad que tienen los autores de distribuir sus documentos electrónicos de manera económica, a una comunidad internacional. Esto ha tenido como consecuencia, que los documentos en la Web sean cada vez más extensos y complejos y, por ello, los proveedores de servicios han empezado a experimentar limitaciones al no poder ofrecer extensibilidad, una estructura adecuada y una comprobación de datos para publicaciones comerciales. Para direccionar los requerimientos de éstas y permitir la expansión de dicha tecnología en nuevos dominios de documentos distribuidos, el Consorcio World Wide Web ha desarrollado un Lenguaje Extensible de Marcado, XML, para todas las aplicaciones que requieran funcionalidad, más allá del actual lenguaje de Marcación de Hipertexto, HTML. Algunas de las ventajas que ofrece sobre éste último, son:

  • Se pueden definir nuevas etiquetas y atributos.
  • La estructura de los documentos puede ser anidada a cualquier nivel de complejidad.
  • Cualquier documento XML puede contener una descripción opcional de la gramática utilizada para aplicaciones que necesiten desempeñar validaciones estructurales.
  • Las aplicaciones que guían la aceptación de XML son aquéllas que no pueden ser realizadas en HTML debido a sus limitaciones; éstas pueden ser divididas en cuatro grandes categorías:
  • Requieren el cliente para interaccionar entre dos o más bases de datos heterogéneas.
  • Intentan distribuir grandes cantidades de procesos de un servidor Web a un cliente.
  • Requieren que el cliente presente diferentes vistas de la misma base de datos a diferentes usuarios.
  • Aquéllas donde agentes inteligentes intenten ajustar la información para descubrir las necesidades individuales de cada usuario.

Uno de los ejemplos más ilustrativos del uso de XML, se da en los sistemas de hospitales, los cuales manejan una gran cantidad de información proveniente de diferentes fuentes, como son los historiales clínicos de las diferentes sedes hospitalarias, doctores, farmacias y compañías de seguros. Esta información relacionada es difícil de manejar y, en este caso, HTML tiene dificultades para poderla manipular, debido a que sus etiquetas son muy limitadas para representar o diferenciar entre una gran diversidad de campos de una base de datos, además de ser incapaz de representar la variedad de las estructuras de todos esos documentos; y es aquí donde XML cubre estas deficiencias.

JAVA

Java es un lenguaje de cuarta generación orientado a objetos que ofrece grandes ventajas, y sus características son:

Sencillo. Ofrece toda la funcionalidad de un lenguaje potente, pero sin las particularidades sofisticadas que provocan confusiones. Cabe mencionar que fue diseñado con la finalidad de que su aprendizaje y utilización resultaran naturales para el programador profesional.

Orientado a objetos. Java ha tomado prestadas muchas ideas de entornos orientados a objetos de las últimas décadas, consiguiendo un equilibrio espectacular entre el modelo purista “todo es un objeto” y el modelo pragmático. El modelo de objetos es sencillo y de fácil ampliación. Trabaja con sus datos como objetos y con interfaces a esos objetos. Soporta las tres características propias del paradigma orientado a objetos: encapsulación, herencia y polimorfismo.

Distribuido. Se ha construido con extensas capacidades de interconexión TCP/IP. Existen bibliotecas que permiten interactuar con protocolos como HTTP Y FTP.

Robusto. El entorno multiplataforma de la Web es muy exigente con un programa, ya que éste se debe ejecutar de manera fiable en una gran variedad. Por tal motivo, la capacidad para crear programas robustos tuvo una alta prioridad en el diseño de Java. Para ganar confiabilidad, realiza verificaciones tanto en tiempo de compilación como en tiempo de ejecución y, así, consigue encontrar rápidamente los errores más comunes en el desarrollo del programa.

Arquitectura neutral. Para hacer independientes las aplicaciones escritas en Java independientes, se compila su código en un archivo objeto (byte codes) que no depende de la arquitectura de la máquina en que será ejecutado. Cualquier máquina que tenga el sistema “runtime” puede ejecutar ese código objeto, sin importar la plataforma en que ha sido generado.

Seguridad. El código en Java pasa por una serie de pruebas antes de ejecutarse en una computadora. Dicho código se pasa a través de un verificador de “bytecodes” que comprueba el formato de los fragmentos de código y aplica un probador de teoremas para detectar fragmentos de código ilegal, el cual viola derechos de acceso sobre objetos o intenta cambiar el tipo o clase de un objeto. Este mismo mecanismo permite la portabilidad entre plataformas.

Portabilidad. Implementa estándares para facilitar el desarrollo, tal es el caso de los tipos de datos o interfaces gráficas de usuario que mantienen la independencia de la plataforma.

Interpretado. El intérprete Java, que es un sistema “runtime”, puede ejecutar directamente el código objeto. La independencia de la plataforma tiene un costo, Java es más lento que otros lenguajes de programación, ya que su código debe ser interpretado y no ejecutado, como sucede en lenguajes como C++.

Multihilos. Fue diseñado para satisfacer los requerimientos del mundo real, en cuanto a crear programas interactivos en un ambiente de red. Para ello, proporciona la programación multihilo, la cual permite la escritura de programas que realicen varias cosas simultáneamente.

Conclusiones

Por todo lo anterior, XML y Java son lenguajes que poco a poco tienen mayor aceptación y que se están convirtiendo en herramientas estándares en el mundo de desarrollo en Internet. Así pues, el XML se está transformando en un medio vanguardista para la publicación electrónica en Internet al soportar y enriquecer al formato HTML, agregándole una mayor seguridad y versatilidad en el manejo de la información y, al mismo tiempo, Java ha resultado ser un gran apoyo para las mejoras de los sistemas aprovechando sus bondades, estándares y alto crecimiento.

La conjunción de XML, apoyándose en Java, será la punta de lanza para la publicación de contenido en Internet a través de aplicaciones robustas en cuanto a sus capacidades, pero ligeras en cuanto al procesamiento. Ahora bien, tomando a Java como base principal, el uso de ambas será crucial para el desarrollo de aplicaciones diversas en medios de distribución, como son transacciones financieras, aplicaciones inalámbricas, aplicaciones cliente/servidor que permitan comunicar y compartir información, entre otras; las cuales apoyadas con XML permitirán visualizar en forma rápida cualquier cambio en el diseño o formato de la información, al utilizar DTDs (Document Type Definition) y esquemas, dando una mayor flexibilidad en el manejo de la estructura de datos, así como brindando ahorro de tiempo y dinero en el desarrollo y mantenimiento de los sistemas.

Para mayor información:

http://www.geocities.com/tai_uc.htm

http://www.antad.org.mx/boletines

http://questml.com/syntax/xml_element.htm

http://www.microsoft.com/spanish/msdn/
articulos/archivo/151102/voices/elfuturo.asp

Inicio | Contacto |