Java para Comercio Electrónico
Jesús Alvarez
PR WebMasters
La Internet se está convirtiendo
en el canal de distribución más eficiente en la historia del comercio. Esto ha
provocado una gran demanda para software que permita hacer transacciones por la
Red. La mayor parte de los programas usados hoy día para procesar órdenes y
propagar información en el ámbito empresarial no están diseñados para
funcionar a través de la Red. Lenguajes de programación tradicionales, como Cobol
o RPG, no facilitan la distribución del procesamiento en múltiples capas
("tiers") y tampoco están diseñados para trabajar interactivamente a través de
un navegador ("browser"), el ambiente más popular para accesar la Internet.
El lenguaje de programación Java,
creado por Sun, se está convirtiendo rápidamente en la herramienta más
popular para desarrollar aplicaciones comerciales a través de la Internet. Java
está diseñado con fundamentos modernos de lenguaje como orientación a objetos,
herencia y polimorfismo. Tiene sus orígenes en C++ pero es más simple y ofrece
mayor seguridad. A pesar de ser un lenguaje relativamente nuevo, su portabilidad
e integración con navegadores han hecho que Java se use más para aplicaciones
interactivas en Internet que cualquier otro lenguaje existente. Sun ha ayudado
en la comercialización con licencias a un costo bajo y mínimas restricciones.
Una clave para la popularidad de
Java en el Internet es su portabilidad. En lugar de compilarse a código nativo
de la máquina, los programas de Java se traducen a un formato de "bytecodes"
que es el mismo en cualquier sistema. Estos "bytecodes" son procesados
por un "Java Virtual Machine" (JVM) que es nativo a la máquina en uso.
Netscape y Explorer, los navegadores más populares hoy día incluyen un JVM que
permite ejecutar programas en Java como un "applet" del navegador. Eso
quiere decir que programas preparados en Java no necesitan cambios para correr
en un PC, una Macintosh, un sistema Linux o un navegador. Inclusive pronto
veremos implementaciones de Java en teléfonos y receptores de televisión. Esta
portabilidad le permite a usted usar el mismo programa para vender sus productos,
no importa el sistema que usen sus clientes. También pudiera usar el mismo
programa en su empresa y en la Internet.
Otra ventaja de Java está en su
facilidad para trabajar en múltiples capas. Técnicas para
procesamiento distribuído como CORBA (Common Object Request Broker
Architecture), se acoplan muy bien con Java para permitir la división de tareas
entre múltiples servidores para mejorar el rendimiento. Los datos pueden ser
manejados por un servidor, los programas por otro y la estación del usuario
sólo necesita una capa fina o "thin client". Esta segregación en
capas puede lograr mayor rendimiento en el procesamiento y un menor tráfico en
la red.
Hoy día las aplicaciones
comerciales aprovechan la interactividad para crear aplicaciones más fáciles
de usar. Por ejemplo, si entra un código de pieza incorrecto, lo avisan al
momento en lugar de esperar a que entre todos los datos de su orden.
Lamentablemente muchas herramientas de programación para Internet trabajan
estilo "batch" reduciendo grandemente la posibilidad de interacción.
Esto incluye técnicas comunes para integrar programas existentes al Internet
como CGI (Common Gateway Interface) y ASP (Active Server Pages). CGI y ASP ambas
terminan el procesamiento despues de desplegar la página en el navegador.
Cuando el usuario somete nueva información se vuelve a invocar el programa.
Este estilo no-interactivo se asemeja al estilo de mainframes de los años 60.
Con Java es posible mantener la conexión entre la estación del usuario y el
servidor permitiendo así el grado de interactividad esperado hoy día por
usuarios de aplicaciones.
¿ Hay alguna desventaja en Java ?
Los críticos frecuentemente mencionan que el procesamiento adicional del JVM
hace las aplicaciones más lentas que si fueran compiladas. Esto es verdad. Sin
embargo, dada la popularidad del lenguaje, fabricantes de sistemas operativos
como IBM, Microsoft y Sun compiten para sacar el JVM más veloz en el mercado.
Esta competencia ha traído tecnologías de compilación en línea (JIT o Just
In Time compiler) que reducen grandemente la diferencia entre una aplicación en
un JVM y una compilada. La competencia en el mercado de procesadores también ha
ayudado en este aspecto ya que el equipo duplica su velocidad cada pocos meses.
Para muchas aplicaciones, la portabilidad del JVM compensa pequeñas diferencias
en velocidad.
Los críticos del lenguaje también
mencionan que por ser un lenguaje nuevo, Java tiene pocas aplicaciones
disponibles. Pero esto también está cambiando rápidamente. El mercado se ha
estandardizado en los elementos visuales de una librería llamada
"Swing" y ha seguido las reglas de Sun para "Java Beans",
componentes para expandir las funciones de Java. Con esto, un programador reduce
grandemente el tiempo que le toma crear una nueva aplicación. A pesar de su
juventud, hoy día hay más aplicaciones interactivas para Internet creadas en
Java que en cualquier otro lenguaje.
Otra de las incertidumbres
alrededor de Java es la disputa entre Sun y Microsoft. Microsoft provee el JVM
más rápido para plataformas Windows, algo de esperarse del autor del sistema
operativo. Sin embargo, esta implementación contenía extensiones que sólo se
podían usar en Windows, en violación al requisito de portabilidad de las
licencias de Java que negoció con Sun. Microsoft ha argumentado en corte que
las diferencias están documentadas y que un programador no está obligado a
usar estas extensiones. Pero ha perdido las primeras rondas legales contra Sun y
se ha visto obligada a modificar tanto el JVM que incluye con Explorer y el que
ofrece con su compilador de Java, llamado Visual J++. Algunas informaciones
indican que Microsoft está planeando responder con un lenguaje nuevo llamado
"Cool" con muchas de las ventajas de Java pero sin requerir el endoso
de Sun y optimizado para plataformas Windows. ¿ Puede Microsoft parar el empuje
de Java ? Es difícil decir, ya que "Cool" no está disponible
comercialmente. No sabemos qué ventajas tendría. Sin embargo, se estima que ya
sobre 160 universidades enseñan Java y sobre 700,000 programadores lo conocen.
El surgimiento de sistemas Linux también hace menos atractivo usar lenguajes con
portabilidad limitada. Sería difícil para un lenguaje nuevo dar marcha atrás
a estas
tendencias.
La portabilidad y funcionabilidad
de Java lo hacen uno de los lenguajes de programación más significativos de la
era moderna. Programadores y casas de software deben considerarlo para el
desarrollo de aplicaciones nuevas, particularmente si la integración con la
Internet es importante.
Publicado en El Nuevo Día, 14-Noviembre-1999, Suplemento Internet S28
|