miércoles, febrero 22, 2006

Cambiando el CHIP

Hola, despues de mucho tiempo de ausencia, he vuelto y esta vez para contar mis aventuras y desventuras de la transición de un clipperiano/xHarbouriano a .Net especificamente Vb.Net.
cuan dificil es cambiar el chip de lo que conocemos a una nueva tecnología p.ej. browse a tablas que para nosotros es tan común en un ambiente sql no lo es. Ademas el problema de la concurrencia, nosotros bloqueamos un registro y listo, ningún otro usuario podrá hacer algo con el. en ambientes sql es completamente distinto. debemos usar algún sistema de concurrencia, optimista o que elijamos. donde debemos mirar antes de guardar, si ésta no ha cambiado. sino lanzar un mensaje de error. ademas estamos acostumbrados a que la información siempre esta "online" a que me refiero. que si otro usuario guarda algo en otro equipo se nos reflejarán los cambios enseguida. en .net no es así, ya que ado.net usa algo que llaman ambientes desconectados, donde yo le solicito la información al servidor, este me la devuelve en formato xml. y es con esta información con la que trabajo y realizo las operaciones. una vez que todo está correcto y procesado, mando el xml devuelta al servidor. y es recién aquí donde de actualiza en la base de datos.
otro gran paradigma al que nos enfrentaremos son las aplicaciones distribuidas o de varias capas, actualmente estamos acostumbrados a que nuestros programas sean los que contienen las reglas del negocio, el acceso a los datos y la visualción de esta información por pantalla. otros lenguajes más nuevos nos permiten separar estas capas. imaginemos la siguiente situación hacemos una gran aplicación que administra una empresa completa. pasa el tiempo y vemos la necesidad de cambiar de plataforma de trabajo en los clientes. acá debemos rehacer todo y quizas reutilizar algunas lineas de código. o queremos que nuestra aplicación pueda ser accedida desde internet. debemos rehacer toda la funcianalidad de ésta en un nuevo lenguaje y a la vez tener que manter dos codigos distintos. ahora agreguemos la siguiente complejidad necesitamos acceder al inventario o ventas desde PDAs, ahora tendremos 3 códigos distintos que hacen casi lo mismo. más trabajo y mayores posibilidades de inconsistencia. ahora veamos como sería desde un punto de vista con aplicaciones de 3 capas. tendremos la primera capa de datos dónde programaremos la base de datos, indicaremos los checks de los campos, relaciones, etc. despues tendremos la 2da capa, donde estableceremos las reglas del negocio. y es esta quien accederá a los datos y los manipulará. luego tendremos la 3era capa, que es quien muestra los resultados en pantalla. ahora si necesitamos hacer un visor web, nos conectamos a ésta capa de negocios e interactuamos con ella, y evitamos la duplicidad de código. necesitamos una aplicación para pda. exactamente lo mismo nos conectamos a la capa de negocios.

como vemos son bastante los cambios y nuevas tecnologías que debemos tener en cuenta, cabe decir que es complejo cambiar el chip. pero una vez echo esto. vemos que es más fácil de lo que pensabamos.

Actualmente estoy desarrollando una mini aplicación que colgaré acá con todo lo que comentado. visor windows, visor web, visor pda, capa de negocios, y capa de datos.


Saludos

Miguel Angel