Archivo

Entradas Etiquetadas ‘Opinión’

Podcast acerca de ALT.NET & ALT.NET Hispano

Lunes, 15 de Junio de 2009 jgamba View Comments

Recientemente fui invitado por la comunidad TJ.NET para grabar un podcast acerca del movimiento ALT.NET,  lo que estamos haciendo y podemos hacer los usuarios .NET hispanos para aprovechar su cultura. El resultado fue una interesante charla con Gabriel Flores y Mario Cornejo publicada como Acerca de ALT.NET Hispano, con una duración de 50 minutos, en dev3cast.

Estos son algunos puntos que se trataron>

  • ¿Qué es ALT.NET?
  • Relación de las comunidades ALT.NET con Microsoft y sus comunidades
  • ALT.NET no es una entidad, institución o marca
  • Estilos de reuniones y formas de participar
  • Necesidad de integrar contenido en español sobre desarrollo .NET
  • ¿cómo vincularse con ALT.NET Hispano?
  • ¿Es solo para usuarios avanzados?

Cualquiera puede participar de la comunidad ALT.NET Hispano fácilmente suscribiéndose a la lista de correo de la comunidad http://groups.google.com/group/altnet-hispano y leyendo el contenido de nuestra wiki http://altnet-hispano.pbwiki.com/.

¿Te gustaría preguntarle algo al Team Leader de NHibernate?

Viernes, 22 de Mayo de 2009 jgamba View Comments

… Este Domingo 24 de Mayo tendrás la oportunidad.

Fabio Maulo (Team Leader de NHibernate) estará este Domingo en una reunión VAN (Virtual ALT.NET) de la comunidad ALT.NET Hispano, por supuesto, el tema será NHibernate, hay una gran variedad de temas que se podrán tratar, aunque de seguro dará para una serie de varias ‘VAN Hispano’, la discusión de los temas a incluir en esta primera reunión se encuentra en la entrada Van sobre NH de la lista de correo de nuestro grupo de usuarios, discusión en la que aún se puede participar.

Es importante mencionar que el estilo de la reunión será Desconferencia, por lo que la participación de los asistentes no solo es posible sino deseable, de modo que si alguien puede no solo formular preguntas, sino también dar sugerencias, exponer sus puntos de vista, experiencias y hasta compartir recursos como código fuente, sitios web o documentos, en fin, será una reunión muy abierta, aunque por supuesto, conservando cierto orden.

La hora del encuentro será las 3:00 p.m. (GMT –3) y su duración será aproximadamente dos horas, algunos ejemplos de horas locales correspondientes son:

    Zona Horaria (GMT) Ciudades Hora correspondiente
    -6 Ciudad de México 12:00 p.m.
    -5 Bogotá, Lima, Quito 1:00 p.m.
    -4 La Paz, Santiago 2:00 p.m.
    -3 Buenos Aires, Montevideo 3:00 p.m.
    +2 Madrid 8:00 p.m.

El lugar, por supuesto es virtual, usaremos Microsoft Office Live Meeting 2007, el enlace para unirse a la reunión es http://snipr.com/virtualaltnet. Para usar Live Meeting se debe descargar e instalar un complemento, por lo que se sugiere ingresar antes de la hora de la reunión, accediendo por el enlace indicado, si el complemento no está instalado, aparecerán las instrucciones para descargarlo.

Hasta el momento ya se han realizado 5 reuniones ‘VAN Hispano’, el detalle de cada una de estas (algunas incluyen video), se encuentra en la wiki de la comunidad, específicamente en la página Historial de reuniones. Para una mejor comprensión del movimiento ALT.NET se puede consultar la página ¿Qué es ALT.NET?.

Pueden suscribirse a la lista de correo AltNet-Hispano de Google Grupos para estar enterados y participar en las discusiones de las reuniones VAN Hispano.

Estado Actual de la Comunidad ALT.NET Hispano

Lunes, 27 de Abril de 2009 jgamba View Comments

La realización de la primera reunión Virtual ALT.NET (VAN) representa sin duda el primer hito para la historia de la comunidad ALT.NET Hispano, pues en las conversaciones e intercambio de ideas cara a cara (en este caso virtualmente) esta el principal valor de ALT.NET.

El que hayamos podido llegar a este punto me llena de complacencia o mejor debería decir nos llena de complacencia y satisfacción, pues los logros corresponden a los esfuerzos de varios usuarios hispanos de la comunidad .NET que tenemos afinidad con el movimiento ALT.NET para trabajar en pro de la calidad en el desarrollo de software con un espíritu colaborativo. Para mayores detalles acerca ALT.NET, dispongo de los siguientes artículos publicados previamente:

Algunos de los logros alcanzados comprenden:

  • Mantener una constante participación en la lista de correo http://groups.google.com/group/altnet-hispano y la colaboración en el mantenimiento de la wiki http://altnet-hispano.pbwiki.com por parte de varios usuarios.
  • Las tareas de administración, mantenimiento y promoción de la comunidad se ha hecho más horizontal, distribuyéndola entre más personas.
  • Cada vez llegan más colaboradores que sienten la comunidad como propia, dedicando de su tiempo y energías a hacer cada vez más sólido esta comunidad.
  • En diferentes medios Web de comunicación, comunidades y grupos de usuarios, donde antes no se conocían las bondades de ALT.NET, ahora se habla de ALT.NET Hispano y las críticas son muy favorables.
  • Atrás va quedando más atrás el calificativo de iniciativa y ya no hay lugar para interrogantes como ¿sobrevivirá esta comunidad?, pues con el avance que se ha visto hasta ahora es claro que se ha ido consolidando.

Sin embargo, el principal logro a destacar hasta ahora, en especial luego de la primera reunión VAN, es que se ha fortalecido e incrementado el compromiso por lograr los objetivos de la comunidad y el ánimo en general en cada uno de los miembros de la comunidad, que esperamos contribuya a ampliar nuestros alcances, influyendo en y anexando cada vez a más personas e incluso entidades que deseen beneficiarse como nosotros de la colaboración y el espacio ALT.NET Hispano..

Únete a la Comunidad “ALT.NET Hispano”

Domingo, 5 de Abril de 2009 jgamba View Comments

Luego de mi primera publicación, ¿Qué es ALT.NET?, he recibido comentarios muy positivos y he observado que en otras partes de la Web hispana se ha comentado y compartido esta información, pero lo que más me llena de satisfacción es la acogida que tiene hoy el movimiento ALT.NET en nuestra lengua. Para los que aún no conocen o desean ampliar su conocimiento, aquí les dejo los vínculos, incluido mi anterior post.

En este artículo pretendo extender una invitación a la comunidad .NET a conformar, participar y beneficiarse de la recién creada comunidad de ALT.NET en español, quién sabe, a lo mejor ya eres un alt.netero desde hace rato y no te has dado cuenta, o al leerlo pienses que quieres llegar a serlo.

Quiénes somos

Somos una comunidad de usuarios, parte de la comunidad más general de .NET y se podría decir que somos la manifestación en Español de la comunidad global de ALT.NET internacional. No somos seguidores de ni somos dirigidos por una persona u organización específica, más bien, estos elementos conforman o apoyan la comunidad respectivamente.

Es bueno mencionar que no pretendemos ser la última palabra en cada aspecto del universo .NET, pero si buscamos con nuestros aportes en discusiones, reuniones, publicaciones y demás aportes, influir y mejorar no solo .NET, sino el desarrollo de software en general en procura de la excelencia.

Cómo vamos

Por ahora, contamos con dos sitios web:

La comunidad fue recientemente creada, el 20 de marzo de este año 2009, luego de que ese mismo día fuera creado el grupo de usuarios Alt.NET Argentina, con un propósito muy similar pero con orientación a asuntos locales. Ya estamos participando varios miembros, en un número cada vez mayor, inicialmente en cosas como la definición de los recursos que se emplearán para la comunicación y colaboración, el formato o estilo, frecuencia, horario, duración, temática entre un sinfín de asuntos que hay que considerar en el inicio de un proyecto tan amplio como este, que definirán su identidad, por supuesto, sin apartarse de su modelo original, la comunidad global de ALT.NET internacional.

Progresivamente irán apareciendo discusiones temáticas y realizando reuniones virtuales, serán espacios abiertos para darle cabida a todos los interesados. Cabe aclarar que tal como ALT.NET es más acerca de pensamiento que de tecnología o herramientas, así mismo lo que se trate en estos espacios no será para por ejemplo dar soporte sobre una utilería o framework pero si podría dar lugar para pedir o dar consejos, compartir experiencias, opinar, cuestionar, evaluar y juzgar no solo herramientas, sino patrones, prácticas y otros recursos. Paralelo a esto se brindará apoyo para la conformación de grupos locales.

Qué puedes encontrar

Colaboración, personalmente quisiera destacar esa palabra, pues en ALT.NET Hispano podrás encontrar gente que piensa, practica y se interesa por cosas comunes a ti, construyendo así un ambiente de inteligencia colectiva.

No se trata de que al hacerte miembro de la comunidad tengas que renunciar a tu estilo, pero si de que estés dispuesto a mejorarlo, para lo cual tal vez tengas que apretar unas cuantas tuercas en tu cabeza, pero será muy constructivo para ti personal y profesionalmente; de hecho, la humildad es una de las cualidades que hacen a un buen alt.netero, junto con el ser pragmático.

Cómo puedes comenzar

El primer paso debe ser entender muy bien el movimiento ALT.NET, para eso te puedes dirigir a los enlaces referidos en la primera parte de este artículo, en cuanto a la comunidad, visitar la lista de correo y la wiki, leer lo que ya se ha escrito, lo cual no es mucho debido a que a penas llevamos unas dos semanas. No tienes que ser un Gurú, MVP, Profesional certificado o arquitecto de software, es suficiente con que sientas que tienes afinidad con ALT.NET. Además tu participación puede ser desde mantenerte al tanto de lo que pasa en la comunidad, registrándote y leyendo los contenidos, pasando por plantear o responder inquietudes y opiniones, hasta proponer actividades y nuevas cosas para la comunidad.

Si te parece interesante, puedes identificarte con el movimiento ALT.NET, manifestándolo por diferentes medios e incluso usando algunos símbolos puestos a disposición de la comunidad, en los sitios web a tu disposición, algunos vínculos útiles para este propósito son:

http://www.hanselman.com/altnetgeekcode/Default.aspx
http://blog.noop.se/archive/2009/03/03/the-alt.net-logo-is-being-used...
http://ayende.com/Blog/archive/2008/03/09/ALT.Net-Logo.aspx

Qué sigue

Para la comunidad, seguir progresando en número de miembros, contenido y actividades, para consolidarse como el punto de encuentro de los usuarios desarrolladores hispanohablantes sobre la plataforma .NET. Una de las metas y consecuencias de esto es que se puedan ir conformando grupos locales por ciudades o regiones que realicen reuniones y otro tipo de acciones que permitan un contacto más directo, sobre esto también escribiré en el futuro cercano.

Un modelo a seguir es el grupo local Alt.NET Argentina, que de hecho es el primer grupo de este tipo en organizarse en idioma Español, del que tenga conocimiento, incluso ya están organizando el primer Open Space en Buenos Aires para el día Sábado 9 de Mayo de 2009. Seguramente su experiencia nos será muy útil a quienes vivimos en otras regiones para aplicar algo similar en nuestras localidades.

Conclusión

Finalmente, quiero reiterar la invitación a vincularse, no solo con la inscripción en la comunidad, sino también con la difusión por los diferentes canales y medios (comunidades, grupos de usuarios, twitter, blogs, correo electrónico, mensajería instantánea, etc.) que dispongas, de los vínculos de la comunidad y de artículos como este y los referidos en el mismo. También pueden expresar sus comentarios, que serán recibidos con mucho aprecio.

El Software Ideal, Software “LEGO”*

Viernes, 23 de Enero de 2009 jgamba View Comments

¿Han soñado alguna vez con disponer de un software que se pueda amoldar a casi cualquier tipo de negocio, al menos los más comunes, y que según vayan surgiendo nuevos requerimientos como un nuevo negocio, aplicación, módulo, ventana, proceso o lo que sea, simplemente tengan que desarrollar un(os) sencillo(s) bloques de software que utilicen los bloques que ya estaban hechos, quizá removiendo o remplazando algunos y que todos estos bloques integrados conformen una sola estructura estable y coherente?

Ahora permítanme hacer una analogía con algo muy sencillo para que me comprendan mejor. Recuerdo que en mi infancia, mi juego favorito era uno llamado Armotodo, un sistema de fichas tipo LEGO*, seguramente ustedes están familiarizados con dicho juego y por eso no es necesario que me extienda en su descripción, baste con decir que se compone de un conjunto de piezas o bloques de distintas formas y colores que se podían unir para conformar lo que uno quisiera; de hecho parte del Jingle (lema con melodía) decía “todas las figuras que tu quieras construir”.

Seguramente eso les dará una idea la idea tras este tipo de software, pero antes de detallar sus posibles características, analicemos algunos de los problemas y necesidades que trataría de subsanar. Frecuentemente a la hora de encararnos a un nuevo proyecto de desarrollo buscamos reutilizar lo que ya teníamos, recurriendo a copiar, pegar y modificar código, haciendo esto sucesivamente se va creando redundancia y el desarrollo se va haciendo inmantenible.

¿Qué hacer entonces?, bueno, volviendo al Armotodo, este sistema aplica muchas ideas y principios útiles que deben balancearse de manera equilibrada.

Principios

Cada clase de bloque del Armotodo (componente) es única, su forma, color, tamaño y otros, hacen que tenga un propósito definido y diferente o complementario a los demás. En el software, se requiere que los componentes sean fuertemente cohesivos, en su interior pueden suceder muchas cosas, pero al resto de componentes no les debe interesar esto, solo sus propiedades y comportamiento, esto es, un acoplamiento débil. Los bloques conservan una interfaz común (taches y hendiduras) Los componentes deben respetar un lenguaje común aplicando estándares materializados en interfaces efectivas.

Lo único constante es el cambio y eso se puede asimilar con dos cosas reutilización y extensión, el primero es claro, debemos lograr crear componentes no perfectos pero si muy estables, algunos de propósito común como la autenticación de usuarios, encriptación y así por el estilo, otros con una finalidad muy específica, pero siempre pensando en que sean un bloque que podamos volver a incluir en un sistema diferente o en otra parte del mismo para no perder el conocimiento que ya hemos desarrollado. en cuanto a la extensión, siempre deberíamos buscar, en lo posible, no alterar nuestros componentes, de la misma manera que un niño no buscaría aserrar sus bloques para conseguir lo que busca sino que más bien consigue el bloque con las características esperadas y lo agrega a su estructura, para nosotros, crear o mejorar nuestras aplicaciones debe implicar extender.

Los términos claves hasta ahora han sido componente, cohesión fuerte, acoplamiento débil, reutilización y extensión, pero esto necesariamente debe ir acompañado de mantenibilidad o capacidad de mantenimiento, volviendo otra vez a la analogía, seguramente hemos visto como algunos niños comienzan a apilar un bloque encima de otro hasta que la columna finalmente se descompone al caer; debemos vigilar como construimos nuestra estructura para que al tiempo que construimos la afiancemos para que en el futuro sea fácil y efectivo efectuar ajustes.

Cuidados

Hay que ser razonables y tener cuidado para no terminar armando un Sistema o software Frankeninstein, de la misma forma que algunos pueden construir obras de arte con piezas LEGO*, otros hacen cosas sin sentido, hay que tener cierto talento y organización para mantener coherencia y estabilidad en nuestros desarrollos, haciendo selección cuidadosa de cada plan de desarrollo de un nuevo bloque o integración.

Recursos

Hay muchos estándares, prácticas, principios, técnicas y metodologías que se relacionan con las ideas que he expuesto en esta publicación, pero quisiera hacer mención especial de los Frameworks, hay para todo, por eso hay que tener cuidado en su selección, pero un tipo de Framework indispensable es de Inyección de Dependencia (DI) pues lo que nos permite pegar los componentes y/o intercambiarlos según las necesidades, haciendo uso de interfaces efectivas. En cualquier caso, hay que seleccionar cuidadosamente que recursos se emplean, pues algunos son muy compatibles entre sí, mientras que otros chocan.

Hay bastantes modelos, obviamente muchos otros ya han abordado la necesidad de software integrado, para citar un solo caso, el trabajo del grupo P&P (Patterns and Practices) con proyectos como Enterprise Library, SCSF, WCSF, WSSF y más recientemente Prism, todos ellos con una estructura modular, que aplica algunas de las ideas comentadas aquí.

Finalmente, quiero mencionarles que si bien este artículo ha sido muy general, pues no ha entrado en detalles para describir algunas tecnologías referidas en esta entrada, estos temas los estaré tratando más adelante, uno por uno progresivamente al tiempo que voy desarrollando unos tutoriales que serán más que simples Holamundos.

*LEGO es una marca registrada

Categories: Arquitectura, Desarrollo, Diseño Tags: