viernes, 18 de abril de 2008

Criterios para la adopción de tecnologías

Para la adopción de determinadas tecnologías de la información se debe mantener algunos criterios fundamentales, en mi experiencia y desde mi libertad los más importantes son:

  1. Sostenibilidad y escalabilidad de las herramientas en el tiempo.
  2. Lenguajes de programación altamente eficientes, multiplataforma, que trabajen sobre máquina virtual, con gran disponibilidad de librerías y frameworks especialmente para web, conectividad a una amplia gama de RDBMS, y fundamentalmente Orientado a Objeto y Orientado a Interfaces
  3. Entornos de programación (IDE) con capacidad de soportar todos los lenguajes adoptados
  4. Base de datos con libertad de conectividad, independientes de número de procesadores, cores o sockets/TCP
  5. Estas herramientas, especialmente el sistema operativo, los lenguajes de programación y la bases de datos, no deben ser ajenos a entornos de integración de aplicaciones.
  6. Sobre el entorno de Integración, se pretende un Bus de Servicios (ESB) que permita el mensajería, activación de aplicaciones, programación automática de tareas, generación de reportes de alarmas y actividades de comunicación, activación de transformación de datos, incluso sobre las aplicaciones ya existentes. El propósito es relegar la operación, administración y sincronización de las aplicaciones a un ESB
  7. Herramientas para datawarehousing: el criterio de evaluación de este tipo de herramientas se basa en la necesidad de transformar datos, hacia otra base de datos con una estructura que facilite la obtención de reportes (de los más exóticos) y “data mining”.
  8. Las herramientas de reportes no solamente deben facilitar la visualización de datos en forma jerárquica, también debe integrarse plenamente al IDE seleccionado, y aceptar conectividad a una amplia gama de fuentes: base de datos, datawarehousing. Los formatos de los documentos generados deben ser: CSV, PDF, HTML y otros.
  9. Sobre las librerías a ser adoptadas en base a los lenguajes seleccionados, éstas deben estar disponibles para su evaluación. Las librerías (y frameworks) tienen un propósito especial con el que se incorporan a las aplicaciones en lugar de programar, reduciendo la posibilidad de extender el código.

Ha sido importante que las aplicaciones seleccionadas tengan un buen nivel de aceptación en las corporaciones e instituciones a nivel mundial. También es importante garantizar un buen flujo de documentación oficial o por medio de editoriales (mejor si son tipo e-Book).

La "pregunta del millón": ¿es posible todo esto sobre la base de Open Source y/o Software Libre?.