Mirar al pasado como visión de futuro
El otro día estuve leyendo un artículo sobre las tendencias informáticas que serán decisivas en los próximos años. Hubo algo que me hizo mucha gracia: Las SOA (Service Oriented Architectures, o arquitecturas orientadas a los servicios) estaban consideradas como "la gran revolución prevista para el 2008"... así que no pude por menos que investigar un poco más sobre ellas.
Lo cierto es que después de esto he hablado y debatido con amigos (informáticos) y tengo cada vez más claro que esto no es más que una forma de vender como revolucionario algo muy viejo (que no por ello malo). Veamos: arquitecturas orientadas a los servicios... eso significa que tendremos una serie de servicios elementales que a partir de unos datos sencillos de entrada darán unas respuestas concretas que, a su vez, puedan ser utilizadas por otros servicios. Simplificando, unos servicios se concatenan con otros y otros y otros y al final crean una gran aplicación muy versátil según las necesidades.... ¿no os suena de nada?... ¿No es una copia descarada (actualizada podríamos decir) del modo de funcionamiento de UNIX? Sólo tenéis que sustituir la palabra "servicio" por "filtro" y ¡tachán! pasaréis de hablar de SOAs a hablar de Unix.
Los sistemas propuestos como SOAs en lugar de utilizar paso de información a través de pipes del sistema operativo pretenden usar redes (inter e intranets), y XML en lugar de texto en plano... peeero, es el mismo concepto global.
Esto debería enseñarnos una lección muy importante y que ignoramos continuamente: hay que utilizar las tecnologías que funcionan. No empeñamos en desarrollar nuevas tecnología que, sólo en teoría, son más sencillas y al final acabamos creando cientos de clases y frameworks que nadie sabe exactamente para qué sirven o cómo utilizarlas. Simplifiquemos y hagamos las cosas usables. Sólo por poner un ejemplo: la orientación a objetos está muy bien, pero en determinados casos no tiene por qué ser ideal, quizás otros paradigmas (programación estructurada clásica, programación funcional...) sean más apropiados y no se estén teniendo en cuenta.
En cualquier caso, UNIX se puede decir que nació en 1970 (¡¡¡HACE CASI 40 AÑOS!!!) y no sólo sigue en vigor sino que cada vez tiene más importancia. Quizás los grandes innovadores deberían estudiar los motivos que hacen de Unix un sistema tan potente y duradero en un mercado en el que 2 años significan la obsolencia. Yo, por mi parte, tengo mi propia opinión y, resumida, viene a ser que Unix fue pensado para que, desde el principio, fuese muy versátil y seguro, con muchas herramientas sencillas pero interconectables sin necesidad de protocolos ni "objetos" intermediarios y, que sirviese, ante todo, como herramienta de productividad en sí mismo. En otras palabras, Unix estaba diseñado por programadores para programadores y... ¡qué caray! tenía detrás a algunos de los informáticos más importantes de todos los tiempos. ¿Otra pista? que en su momento se haya implementado como Open Source y que miles de programadores hayan podido modificarlo ha hecho que su evolución, robustez y potencia hayan crecido hasta lo que es hoy y será mañana.
Lo cierto es que después de esto he hablado y debatido con amigos (informáticos) y tengo cada vez más claro que esto no es más que una forma de vender como revolucionario algo muy viejo (que no por ello malo). Veamos: arquitecturas orientadas a los servicios... eso significa que tendremos una serie de servicios elementales que a partir de unos datos sencillos de entrada darán unas respuestas concretas que, a su vez, puedan ser utilizadas por otros servicios. Simplificando, unos servicios se concatenan con otros y otros y otros y al final crean una gran aplicación muy versátil según las necesidades.... ¿no os suena de nada?... ¿No es una copia descarada (actualizada podríamos decir) del modo de funcionamiento de UNIX? Sólo tenéis que sustituir la palabra "servicio" por "filtro" y ¡tachán! pasaréis de hablar de SOAs a hablar de Unix.
Los sistemas propuestos como SOAs en lugar de utilizar paso de información a través de pipes del sistema operativo pretenden usar redes (inter e intranets), y XML en lugar de texto en plano... peeero, es el mismo concepto global.
Esto debería enseñarnos una lección muy importante y que ignoramos continuamente: hay que utilizar las tecnologías que funcionan. No empeñamos en desarrollar nuevas tecnología que, sólo en teoría, son más sencillas y al final acabamos creando cientos de clases y frameworks que nadie sabe exactamente para qué sirven o cómo utilizarlas. Simplifiquemos y hagamos las cosas usables. Sólo por poner un ejemplo: la orientación a objetos está muy bien, pero en determinados casos no tiene por qué ser ideal, quizás otros paradigmas (programación estructurada clásica, programación funcional...) sean más apropiados y no se estén teniendo en cuenta.
En cualquier caso, UNIX se puede decir que nació en 1970 (¡¡¡HACE CASI 40 AÑOS!!!) y no sólo sigue en vigor sino que cada vez tiene más importancia. Quizás los grandes innovadores deberían estudiar los motivos que hacen de Unix un sistema tan potente y duradero en un mercado en el que 2 años significan la obsolencia. Yo, por mi parte, tengo mi propia opinión y, resumida, viene a ser que Unix fue pensado para que, desde el principio, fuese muy versátil y seguro, con muchas herramientas sencillas pero interconectables sin necesidad de protocolos ni "objetos" intermediarios y, que sirviese, ante todo, como herramienta de productividad en sí mismo. En otras palabras, Unix estaba diseñado por programadores para programadores y... ¡qué caray! tenía detrás a algunos de los informáticos más importantes de todos los tiempos. ¿Otra pista? que en su momento se haya implementado como Open Source y que miles de programadores hayan podido modificarlo ha hecho que su evolución, robustez y potencia hayan crecido hasta lo que es hoy y será mañana.


