02 noviembre 2008

Cómo programar sin ser programador

Los profesionales de la programación se encuentran entre los que más deben actualizar sus conocimientos si quieren estar en primera línea de competitividad. La tecnología de programación cambia incesantemente, y además lo hace de forma completamente rompedora con lo anterior. Recientemente, el software se viene transformando en algo nuevo, ya no es un medio que permite comunicar al usuario con las máquinas, sino que está cambiando hacia una combinación de servicios.
Mencionemos por ejemplo el software Iceberg, una herramienta de gestión de proyectos que simplemente seleccionando algunas opciones, como "Project management", "business objects", y otros campos como "client" o "team", y decirle a la herramienta que los relacione entre sí. De forma sencilla el programa define el proceso que nos ayuda a conseguir ejecutar el flujo de un proyecto complejo. Otro ejemplo es Arsys, cuyo software Website Creator, permite a los usuarios más inexpertos diseñarse la página web de sus sueños. Si no somos muy exigentes en cuanto a la originalidad, tendremos una página predefinida en flash, un formulario, contador, libro de visitas, blog, álbum de fotos, avisos, encuesta, mapa y foro. En fin, lo que necesitan el 90 % de los que necesitan una página web lo tienen aquí de forma bien sencilla. Pero si lo que queremos es jugar más con nuestra página web, creer que estamos programando, y disponer de muchas más posibilidades, pues nada, gratuitamente joomla nos facilita el gestor de contenidos que nos ayudará a ello. Este mismo blog, nació un día así como si tal cosa, blogger o wordpress te facilitan todo lo que necesitan los que se interesan menos por las formas que por el contenido. En fin, si alguien se ha animado, le recomiendo antes que se familiarice con todo este mundo en el magnífico portal forosdelweb, así descubrirá las maravillosas posibilidades de interactividad que ofrece internet.
Pero esta popularización de la programación no es más que una pequeña muestra de lo que está ocurriendo, un cambio realmente fundamental en la naturaleza del software. No es sólo que más y más software se desarrolle y se amplíen hasta el infinito las posibilidades. Más importante aún es que aplicaciones, basadas en la web o no, van a convertirse en grandes pedazos de software, que forman una combinación de servicios electrónicos. Y este cambio, está viniendo ya a una velocidad más rápida de la que podemos darnos cuenta.
¿Cómo es este nuevo y revolucionario software?
Esta nueva forma de construir aplicaciones se denomina arquitectura orientada al servicio, "service-oriented architecture", (SOA). Se trata de un estilo de arquitectura cuyo propósito es alcanzar un acoplamiento laxo entre agentes de software que interactúan entre sí. Un servicio es una unidad de trabajo desarrollada por un quien proporciona un servicio para alcanzar los resultados finales deseados. SOA está actualmente en todas partes. La nueva arquitectura es en sí misma una combinación de múltiples subservicios. Otro concepto importante en el futuro es la modularidad, presente desde los días del inicio de la computación. Esta técnica, para escribir menos código, también se denomina subrutina. Actualmente, gracias a la disponibilidad de la banda ancha y a la creciente conectividad inalámbrica, la computación es capaz de reagruparse en servicios especializados.
SOA se desarrolló primero en código abierto, pero rápidamente fue adoptado por las grandes empresas. Los grandes vendedores de software sabían que sus clientes deseaban productos más flexibles y programas más extensibles.
SAP, una compañía alemana, fue la primera firma de software en utilizar la tecnología SOA. En 2003, desarrollaron un nuevo paquete de software que iba más allá de las aplicaciones monolíticas de empresa, introduciendo una colección de componentes re-usables. También IBM comenzó a usar SOA, pero su planteamiento era un poco diferente. IBM utiliza SOA para ayudar a las compañías a integrar sus cada vez más dispares sistemas TI. Otra de las aplicaciones web que utiliza SOA es Google Maps, que ayuda a los usuarios a combinar mapas con otras fuentes de información de manera sencilla, y así se creó, por ejemplo, housigmaps.com. Esta compañía vende o alquila casas de una forma innovadora. Lo que hace es que las casas que están en venta/alquiler se van localizando haciendo zoom en un mapa, lo cual te permite buscar en los barrios que te gustan y facilita sobre todo las visitas. Estas nuevas aplicaciones se denominan mah-up, y su popularidad aumenta por momentos, con servicios como Microsoft´s Popfly y Yahoo! Pipes. En esencia, estamos ante una nueva generación de herramientas de programación gráficas que no necesitan de sus usuarios conocimientos en programación.
Los usuarios de estas nuevas herramientas, blogger también funciona así, se limitan a arrastrar e ir colocando módulos con dibujos o títulos, y el programa internamente cambia los códigos. Salesforce, un programa que ayuda a gestionar relaciones con el cliente, va a cambiar con una nueva estructura que permite interactuar con las aplicaciones basadas en google.
Muchas aplicaciones pueden migrar en el futuro a esta nueva forma de trabajar con los ordenadores, también denominada "software cloud", y proporcionar rápidamente una colección de servicios que aún no conocemos.
Publicar un comentario