miércoles, 28 de abril de 2010

Recorriendo el camino de VB6-VFP a NET

La revolución tecnológica que hace ya más de una década que se viene gestando (desde inicios del 2001 con J2EE de Sun y .NET de Microsoft), conduce al mercado hacia las nuevas plataformas tecnológicas, y, como siempre, el mercado obliga a las empresas que prestan sus servicios informáticos a actualizarse para no quedar en el camino.

Podríamos enumerar decenas de razones por las cuales actualizarse tecnológicamente, las cuales redundarían en el concepto de poder construir mejores sistemas más rápidamente y más interconectados. Sin embargo, la principal razón es que si no lo hacemos, quedaríamos fuera del mercado (o bien con una porción demasiado pequeña del mismo).


1 – El paradigma de programación
Una vez tomada la decisión de actualizarse tecnológicamente, el primer paso es estudiar y comprender los nuevos paradigmas de programación. En primer lugar, entendamos por tal a un enfoque particular o filosofía para la construcción de software.
En las tecnologías pre-Net el paradigma más difundido era el conocido como programación estructurada, el cual fue parcialmente sustituido por programación dirigida por eventos. En cambio, los paradigmas actualmente vigentes son programación orientada a objetos, por capas u orientada a servicios, entre otros.

2 – El lenguaje de programación
Una vez familiarizado con los nuevos paradigmas, hay que explorar las herramientas de programación para conocer las posibilidades que brindan. Este paso no es tan complejo porque las opciones se redujeron a poco más de dos, dónde Java y Net son los jugadores principales. Dentro de Net, tenemos un amplio conjunto de lenguajes que pueden seleccionarse. No es demasiado importante el lenguaje elegido: opte por el que mejor conoce, ya que las posibilidades tecnológicas que brinda son muy similares.

3 – Arquitectura (tecnología) de la solución
Dentro de los nuevos paradigmas, encontrará varias arquitecturas tecnológicas posibles a la hora de crear una nueva solución. Este punto es todo un tema, el cual ya ha sido tratado en otra oportunidad (ver nota al respecto). En resumen, la arquitectura o tecnología empleada está íntimamente asociada al tipo de solución que desea crear: Desktop, Web App, Servicio Windows, Servicio Web, RIA, Móvil, etc.

4 – Marco de la solución (Framework)
Una vez definido el tipo de solución a crear (arquitectura tecnológica), deberá contar con un Framework, el cual, independientemente de la tecnología empleada, es el marco de trabajo o esquema arquitectónico bajo el cual se desarrolla y luego se ejecuta una aplicación de Software.

Existen diferentes tipos de Frameworks según las funcionalidades que cubran cada uno de ellos. Hay desde simples componentes reutilizables para realizar tareas puntuales (como ser el acceso a datos) hasta marcos completos conocidos como Hight Level Frameworks. Estos son los que cubren necesidades que van más allá de la infraestructura y del marco arquitectónico, abordando aspectos tales como la capa de presentación de una aplicación. Generalmente se asocia a los High Level Frameworks con el desarrollo rápido de aplicaciones (conocido como RAD o Rapid Application Development), dado que hacen simple tareas de programación rutinaria, ganando mucho tiempo en el desarrollo de un proyecto y obteniendo una mayor calidad final.

Aquí deberá decidir si construye su propio framework o bien adquiere alguno existente en mercado. Deberá sopesar muy bien esta decisión porque significan muchas horas de programación.

Un framework debería cubrir algunos de los siguientes aspectos:

5 – Manos a la obra
Si pasó por los puntos anteriores exitosamente, ya se encuentra en condiciones de crear las nuevas aplicaciones NET. El tiempo o esfuerzo que le lleve, será directamente proporcional a la calidad del framework utilizado.
Cabe aclarar que no existe una forma segura de migrar aplicaciones desarrolladas con tecnologías pre-Net. Lo mejor en todos esos casos es realizar una reingeniería del diseño y la plataforma tecnológica.

Conclusión
A pesar de que este cambio tecnológico es tal vez el más complicado de los últimos 10 o 15 años (comparable a la migración de DOS a Windows), es tan importante como el mencionado suceso, ya que le abre las puertas a un mundo totalmente nuevo donde las aplicaciones pueden interactuar con otras aplicaciones y no sólo entre PCs pertenecientes a una misma red, sino a través de distintas plataformas (Windows, Web, Linux) y dispositivos móviles (notebooks, PDAs, colectores de datos, celulares).

Lic. Oscar Valente
CTO ItSouth Consultores
www.itsouth.com.ar

Fuentes
Java EE
http://es.wikipedia.org/wiki/Java_EE
Net
http://es.wikipedia.org/wiki/Microsoft_.NET
Paradigmas de programación
http://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n
La evolución tecnológica en la última década
http://fwnet.blogspot.com/2009/11/evolucion-tecnologica-10-anos-no-son.html
Elección de una arquitectura adecuada
http://fwnet.blogspot.com/2010/01/eleccion-de-una-arquitectura-adecuada.html