Tantas maravillas juntas!! Hacia donde vamos??

|

Cada vez y cuando estamos siendo invadidos con mas y mas tecnologia nueva en cuanto a software, es impresionante a la velocidad que estos cambios se dan, en todo sentido, esto claro me ha llevado a preguntarme: "Como desarrollaremos software dentro de 5 o 10 años??"
Pues bien, como va la tecnologia me atrevo a decir que en 5 o 10 años estaremos solo "dibujando" modelos de como queremos que el software se comporte, desde diferentes perspectivas claro, me atrevo a decir esto por las diversas tecnologias emergentes, tanto en el mundo .NET como en el mundo OpenSource...

En general mi afirmacion esta apoyada por lo que se conoce como Model Driven Development, este esta tomando fuerza ya en muchos paises y especial en la plataforma de Java, con sus IDEs y demas, la idea claro es usar diagramas basados en estandares para generar codigo, el gran problema ahi es que las representaciones universales como UML 2.0 no pueden representar por completo las reglas de negocio y claro como normalmente sucede en esa plataforma, hay tantos esfuerzos por separado y cada cual jalando para su lado, que hasta no tener algo como la recientemente formada Linux Foundation, no tendra una clara direccion...

Y Microsoft??

Pues la verdad si uno se pone a revisar, tiene muchas iniciativas para acelerar el desarrollo de aplicaciones, Windows WorkFlow Foundation es la mas recientemente liberada, asi como complementos a esta como son Windows Communication Foundation y Windows Presentation Foundation, es cierto tambien que persiguen no solo el objetivo de mejorar el tiempo de desarrollo de aplicaciones si no otros mas como llevar a un nivel de abstraccion mas alto las comunicaciones, etc...
Pero tambien hay otras iniciativas muy interesantes, LinQ por ejemplo (http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx), permite extraer datos de una forma natural para un desarrollador de C# o VB, es decir adios a SqlConnection y otros objetos ADO .NET, a muchos desarrolladores antiguos les resultara muy familiar poder utilizar un lenguaje de consulta dentro de su codigo, por ejemplo Fox lo tenia hace mucho tiempo, tambien tiene la base integrada a su entorno, pero LinQ no se limita a extraer datos de una manera natural de cualquier base de datos a la que se le configure, si no tambien puede extraerlos desde fuentes de datos XML, podria ser un Web Service, o incluso de un DataSet, lo cual realmente expande las posibilidades!!

A esta iniciativa le complementa ADO Entity Framework (http://msdn2.microsoft.com/en-us/library/aa697427(VS.80).aspx), este Framework genera todas las clases necesarias para tratar a la base de datos tal cual fuera un objeto, por detras claro hace toda la carpinteria de los conocidos DataProviders, y claro ya se imaginaran todo esto tendra sus Wizards y diseñadores incluidos, al momento como esta en beta funcionan bastante bien los wizards pero aun te toca cambiar en XML ciertas cosas...

Muy bien esto ayuda mucho, pero aun hay mas, han escuchado de la iniciativa de los Software Factories?? (http://msdn2.microsoft.com/en-us/teamsystem/aa718951.aspx) Estos son un conjunto de practicas probadas, de Microsoft Patterns and Practices, que se integran en tu IDE y a manera de Wizards "conversan" contigo para estructurar proyectos de diversas indoles, desde Sevicios Web o de Windows Communication Foundation, hasta SmartClients, ademas tienen "Recetas" para ejecutar algunas tareas muy comunes, nuevamente esto te ahorra mucho tiempo...

Hay otras mas como los DSL (Domain Specific Lenguages, http://compose.labri.fr/documentation/dsl/dsl_overview.php3) que pretender mejorar la definicion de las reglas de negocio, etc, etc, etc....

Claro tambien hay herramientas que cubren otros aspectos como Team System el asunto de colaboracion y metodologia de desarrollo, Project Portfolio Server (http://office.microsoft.com/en-us/portfolioserver/FX101674151033.aspx) el desarrollo de los proyectos, etc, etc, etc...

Para verlo mejor si les recomiendo que lean y experimenten con estos productos, tanto los de dearrollo como los de administracion, asi uno nota algo muy interesante: nada de esto esta desconectado entre si!! Eso es de verdad genial por que la iniciativa tiene metas claras y todas jalan para un mismo lado lo que permite que Microsoft avance rapido en el tema...

Como ven no se ha quedado muy atras Microsoft, en un fututo no muy lejano me atrevo a decir que no tendremos Visual Studio, tendremos algo asi como Visual Software Factory o algo por el estilo, asi es que posiblemente todos estemos un poco mas dedicados a resolver problemas a un nivel mas de procesos, antes de que lidiar con el lenguaje o las conexiones a la base de datos...

Hay empresas como Rational que tienen tambien suites muy aproximadas a lo que menciono aqui, claro esto es bastante caro por lo pronto y en consecuencia prohibitivo para muchos desarrolladores que no tienen la suerte de estar en una empresa que pueda utilizar estas herramientas, y tendran que esperar un poco a que la comunidad OpenSource se ponga de acuerdo con respecto al tema...

Por lo pronto yo espero ancioso la salida de LinQ y ADO Entity Framework, que dicen ustedes???

0 comments: