lunes, julio 31, 2006

Descarga gratuitamente MSDN Library Mayo 2006

Gracias a Firedancer me acabo de enterar que la MSDN Library se puede descargar gratuitamente.

Esta es la versión que se puede instalar directamente en la PC y consultar cuando lo desees, entre los detalles más novedosos se incluyen lo siguiente:
  • Visual Studio 2005 Team Foundation Server
  • SQL Server 2005
  • Microsoft Knowledge Base
  • Internet Information Server SDK
  • Internet Security and Acceleration SDK
  • ... y más!

Siempre es bueno tener a la mano la Library instalada, especialmente cuando no tienes acceso a internet o éste es limitado.

Finito.

domingo, julio 30, 2006

Liberada la Web Service Software Factory

Tom Hollander en su blog ha anunciado la liberación de la Web Service Software Factory. Este producto como los anteriores, implementa el concepto de fábrica de software en el ambiente de Visual Studio, mediante el cual se proporciona a los participantes del equipo de desarrollo secuencias de acción, recetas y elementos que automatizan en parte el desarrollo de un componente específico aumentando así la productividad y la calidad del resultado final.

A diferencia de las anteriores entregas, Smart Client y Mobile Client, esta fábrica esta circunscrita precisamente a Web Services, un elemento más familiar que permite desplazar el foco de atención al funcionamiento mismo de la fábrica.

Indudablemente este concepto de producción masiva automatizada requiere de más estudio para conseguir aprovechar los beneficios que pregona y sobre todo de conseguir la personalización para cada usuario y/o proyecto en el que se utilice, así que he de dedicar algunas horas a conocer más y probar profundamente esta entrega.

Finito.

sábado, julio 29, 2006

Reunión Mensual de la Comunidad .NET en el DF

Ayer tuve el gusto de volver a estar en la reunión mensual de la Comunidad .NET del DF a la cual ya tenía un tiempo de no asistir. Lamentablemente llegué solamente a la última exposición a cargo de Octavio Telis que tocó el tema de los valores anulables en .NET 2.0.

Sin embargo lo mejor estaba por venir. En la agenda publicada figuraba el nombre de Raúl Guerrero que inmediatamente me sonó familiar debido a las participaciones en los podcasts de Carlos Madrigal. Me entró la inquietud de conocer a la persona detrás de los comentarios así que al final de la reunión me acerque y me presenté directamente con Raúl. Grande fue su sorpresa y alegría al enterarse de que soy podescucha de Carlos y de él mismo. Y comentamos varias cosas hasta que tuve que despedirme. También para mí fue muy grato conocerlo y ver que si importa la retroalimentación de parte de los lectores y podescuchas de esos esfuerzos.

Hace un momento, leyendo los mensajes del día de la lista de Mono Hispano visité una de las ligas en la firma de los mensajes y grande fue mi sorpresa al encontrar que Iver también es podescucha de Pozo Técnico y SuperNeurona.

De aquí la reflexión de lo importante que son estos esfuerzos de compartir conocimiento y experiencias en tu idioma y además de una manera tan amena. Reciban desde aquí un caluroso abrazo y felicitación.

Finito.

lunes, julio 17, 2006

Laboratorios Prácticos

Desde la semana pasada he estado ejercitándome con los Hands On Labs del Composite UI Application Block. El mecanismo se me hace mmmuuuyyy chido, eso de la guía paso-por-paso y que te vas pa'trás, pa'delante y así te mueves, con soluciones preconstruidas donde vas agregando código que viene en la guía.
Es similar a lo que se usan en los cursos de certificación pero con esteroides.
En particular este conjunto de laboratios se enfocan al CAB, que es uno de los Application Blocks más esotéricos que han liberado (a mi gusto). Te presenta varios temas, desde los WorkItems pasando por la distribución ClickOnce hasta extender el mismo CAB.
A lo largo de los laboratorios es notable el uso de la técnica IoC/DI tan famosa ultimamente. En el caso de .NET la mayor parte se hace decorando mediante atributos los objetos que participan en la DI. En el fondo... muy en el fondo se encuentra ObjectBuilder, el componente que se encarga de hacer posible la DI y que también se usa en la Enterprise Library.

Notas acerca de PartnerApi

Hace algunos posts publiqué que estaba construyendo un API para encapsular las llamadas a las funciones del API de AppExchange. He tenido algunos lentos pero seguros progresos y ya conseguí devolver una lista de objetos encapsulando la llamada al método query() de AppExchange. Ahora estoy planeando los siguientes métodos para completar el conjunto de operaciones ABC (Alta, Baja, Cambios) en PartnerApi.

Estas son las firmas de los métodos que se van a implementar:

  • Insert(sObject) => (1)
  • Insert(IList sObjects) => (m)
  • Update(sObject) => (1) update by Id
  • Update(IList sObjects) => (m) update by Id
  • Delete(sObject) => (1) delete by Id
  • Delete(criteria) => (0..m) delete by condition
  • Delete(IList sObjects) => (m) delete by Id

La idea es tener siempre una versión que afecta un solo objeto (1) y la versión que afecta varios objetos (m). En las operaciones de Update y Delete es obvio que se puede establecer una relación directa con el objeto que se va afectar mediante el uso de Id. En el caso de la operación Delete se añade el caso adicional donde especificamos la condición que debe cumplirse para eliminar el objeto de la BD de AppExchange.

También falta por construir un método de conversión de un PartnerApi.sObject a un AppExchange.sObject. Es decir, se consulta a AppExchange y nos devuelve una colección de sObjects en su formato nativo. En PartnerApi se expone una clase que encapsula de una manera más natural los atributos de la clase y ahora se requiere un método que la regrese a su formato original, algo así como AppExchange.sObject => PartnerApi.sObject => AppExchange.sObject en donde cada => se debe entender como conversión.

Finito.

viernes, julio 14, 2006

¡Microsoft Virtual PC ahora es gratis!

Con el asunto de WinFx, ahora .NET 3.0, el Beta 2 de Vista y demás ejercicios de avanzada que demandan equipos para instalaciones, equipos que no están disponibles la única opción viable es la virtualización.

En una máquina virtual tu puedes hacer y deshacer pagando una pequeña penalidad de desempeño. La instalación no te la quitas de encima y si estás instalando alguna versión de Windows, todas las actualizaciones a la fecha. Pero al final tienes un ambiente para ejecutar todos las liberaciones Betas sin preocupaciones ni conflictos.

La principal oferta en este aspecto la venía haciendo VMWare, que ofrece toda una línea de productos orientada a la virtualización de equipos soportando una variedad de sistemas operativos (Windows, Linux, Solaris, Vista). Y hace medio año aproximadamente, lanzaron un producto, VM Player para simplemente ejecutar máquinas virtuales creadas con cualquiera de sus productos. En el ambiente Open Source también se ha apostado de alguna manera por este concepto y ofrecen (Fedora/RH en particular) un kernel llamado Xen que muchos critican por que no una virtualización total.

A todo esto, Microsoft tambien le entró a la onda de la virtualización adquiriendo una compañia, raro ¿no?, que se estaba abriendo paso y con los fondos virtualmente ilimitados de Redmond terminó convirtiendos en Virtual PC junto con su hermano mayor Virtual Server. El éxito del producto fue moderado aunque puedes ver a la maoyría de los expositores Microsoft hacer uso de este producto en sus demostraciones y exposiciones.

Realmente es genial poder encender una máquina de pruebas juguetear (thinker around) en nuevas herramientas y sistemas operativos sin tener que darle en la torre a tu equipo de todos los días. Adios a los temores de las BSOD, a los reformateos y conflictos en las instalaciones.

En lo particular he disfrutado más de VMWare. Se me hace más maduro, eficiente y portable. También he probado VPC y ahora con la característica de gratis va a inundar el mercado. VPC es lento, no es tan portable (cuando me refiero a portable se trata de lo siguiente. Crea una máquina virtual en la oficina, aprovechando la banda ancha descarga y aplica todos las actualizaciones. Copia esa VM a tu disco duro externo, llegas a casa, arrancas tu VPC y ¡nada! no funciona, cosa que no sucede con las VM de VMWare) pero es gratis. ja.

¿Quién podrá explicar como es que con la piratería, las demandas y las multas de la UE, Microsoft se da el lujo de tomar este tipo de decisiones?

Finito.

miércoles, julio 12, 2006

López vs. López

Hace unos momentos en el noticiero de la noche, López Obrador estuvo con el anfitrión, López Doriga.

Desde el inicio del programa se tocaron las notas del día relativas al inconcluso proceso electoral. Una nota muy personal, con nombre y cara fue la relacionada con el supuesto embarazo de urnas electorales en Salamanca, Guanajuato. El presidente de la casilla, estudiante de ingeniería y maestro de secundaria, rechazó categoricamente que el hecho tuviera el sentido que le ha querido dar el equipo de López Obrador. La representante de la Coalición por el Bien de Todos resumió en una frase su posición: "Si hubiera estado mal no hubiera firmado". Más adelante AMLO declara que si fue posible comprar votos, seguramente fue posible comprar representantes.

Ya en el enfrentamiento, López vs. López, López Doriga "El Teacher" lanzó el primer jab con una sección de la visita de AMLO al estudio en el cual declaró categoricamente que sería respetuoso del resultado de la elección. Del dicho al hecho, hay una respuesta digna de los mejores púgiles: "Voy a respetar la democracia y el 2 de julio no hubo democracia". Palabras más, palabras menos. Señala una vez más que fue una elección de estado, que si bien hubo una extensa participación ciudadana, también se aplicaron los métodos de la vieja escuela para revertir los resultados de la elección que declarar convencido haber ganado. "Gané y es mi palabra".

"El Teacher" siguió aplicando ataques a las zonas sensibles sin conseguir mucho éxito. AMLO dió muestra de la experiencia y tozudez propia de su estirpe. Una de las partes que más dió emoción al encuentro, fue la sútil descalificación, impropia de AMLO, de López Doriga. "Tu opinión es muy respetada pero no la comparto". En otras palabras: nada de lo que digas importa, sé que vas a tirarme a matar y no me voy a dejar.

El segundo revolcón lo consiguió AMLO al replicar sobre el asunto de la casilla de Salamanca. "Cualquiera que ha sido funcionario de casilla..." fue el inicio de la réplica de López Obrador. López Doriga solo pudo esquivar saltando al tema de la impugnación en el cual por más que "El Teacher" se lanzó a matar, AMLO se aperró, perdón, aferró a que no pretende invalidar la elección. No soy abogado y este es una de los momentos que quisiera serlo.

El cierre fue una pregunta directa: "¿respetará López Obrador el veredicto del TRIFE cuando ya anteriormente se comprometió a acatar el resultado del IFE y no lo hizo?". Dice que sí. Yo no le creo.

Finito.

jueves, julio 06, 2006

La victoria de la derecha

Se terminó finalmente el conteo de las actas en los Distritos Electorales y resulta que el candidato de derecha, Felipe Calderón consigue llevarse por un mínimo margen la mayoría quedando en segundo lugar el candidato de la izquierda Andrés Manuel López Obrador.

Este conteo, al contrario de lo que la mayoría cree, es el proceso formal y previsto para determinar el número de votos otorgados a cada candidato. No es el resultado de atender ninguna petición, ningún reclamo. El siguiente paso es entregar los resultados obtenidos al Tribunal Electoral para que sea éste órgano el encargado de otorgar la constancia de mayoría al candidato ganador.

Es ilusorio pensar que al ir corroborando las cuentas no se fue haciendo la suma de los votos. Tal es que tenemos al resultado previo, no oficial, que nos señala lo que ya conocíamos pero que la oposición se ha pertrechado en desconocer. La victoria de la derecha. Sin embargo en un afán incongruente con lo manifestado anteriormente, la izquierda pretende impugnar el resultado del conteo. Están en su derecho aunque definitivamente lo están haciendo con el mínimo de responsabilidad.

AMLO ya ha convocado a un mitín el próximo sábado ¿para qué? Es imposible descifrar el motivo de fondo. Lo único que consigue es agitar el polarizado entorno existente y confundir al mal informado (al fin y al cabo, mayormente hijos de López Obrador) pueblo mexicano. Le encantan los escenarios al Sr. López Obrador, mejor debiera ser conductor o actor.

Esperemos a ver cuales son en detalle las denuncias que van a realizar. Seguramente proporcionarán un gran tramo de tela donde cortar.

Finito.

miércoles, julio 05, 2006

¡Ya'stuvo! ¡Ya'stuvo!

Por fin quedó la instalación de Team Foundation Server en el servidor de pruebas. Incluso ya instalé Team Explorer en mi PC. Bien chido.

Ya cree mi primer Team Project con la plantilla MSF Agile y me creó el bonche de WorkItems... solo falta que recuerde que sigue... a revisar los apuntes del Workshop que tomamos a principio de año con el buen Beto Borbolla.

Después de esto, me tomé un momento de relax viendo los anuncios de Apple. Si bien toda la vida (laboral) he usado PC con algún SO de Microsoft, también he visto como han ido desfilando las diferentes variedades de equipos de Apple, algo que siempre han tenido en común ha sido el magnífico diseño. Los únicos que se han esforzado para aplicar algo de diseño ha sido Sony con su línea Vaio. De ahi en fuera pura consumer design.

En otros temas, sigue el conteo en los Distritos Electorales. En este recuento sigue llevando la delantera el candidote AMLO. Sin embargo la fuente que consulto bien claro agrega la siguiente leyenda:

Es necesario subrayar que los resultados pueden cambiar en cualquier momento y que por tanto no marcan ninguna tendencia.

¿Esperan acaso un milagro? ¿o están planeando alguna táctica descontadora? En lo particular no me agrada en lo más mínimo ver que AMLO llega a la presidencia. Ahora todas las víctimas del sistema van a reclamar lo que les corresponde por su condición ¿? No sabía que tener la desgracia de carecer de recursos te hace dueño de los beneficios que creamos una mediana parte de la sociedad. Deja me declaro en bancarrota y me convierto en un desprotegido hijo de López Obrador.

Finito.

Puras fallas

Sigo con el ejercicio de instalar VSTS no sin algunos desaciertos. Hoy impetuosamente me decidí a terminar la instalación y agarré mi disquito y me senté. Embriagado de contento inicié el clásico next, next, next para encontrar con el primer error: SQL Server no tenía activado el acceso a conexiones TCP/IP ¿¿¿??? ¿qué pex?

En el mismo impetuosismo, instalé originalmente una versión de evaluación de SQL Server 2005, así que asumo que por su naturaleza no debieras usarlo como se debe usar y pues viene con esa característica desactivada. No problema. Vas al SQL Server Configuration Manager y le aplicas el cambio.

Agarras el mouse y empiezas de nuevo: next, next, next... ¿y qué crees? ¡nnnoo! pus si... Otro error :-( Ahora resulta que el collation no era el correcto. Bien dicen RTFM pero no, ahí vas con el "next, next, next". Pues resulta que debes tomar en cuenta lo siguiente para seleccionar el correcto collation (son puros "no's"):

  • No soporta Accent Insensitive
  • No soporta Binary ni Binary2
  • No soporta Case Sensitive

Bueno, entonces ¿qué si soporta? Case Insensitive + Accent Sensitive y por si las moscas, púchale los check boxes pa'que soporte Hiragana/Katakana.

Pero lo tenía incorrecto, ¿cómo lo configuro al correcto? No pus ya te fregaste.... Bueno al menos es solo una prueba, pa'eso son, pa'regarla. Desinstalo SQL Server y ahora hago lo que debí haber hecho desde el principio.... Instalo el SQL Server 2005 con su licencia. Next, next, next...

Ahora otra vez con el VSTS... next, next, next.... ¡Oh! ¡no problema! Todo va excelente hasta que llegas a una ventana del wizard que dice: Service Logon Account ¡Chale! Pus le pongo la toda-poderosa-cuenta.... ¡Pelas! Nanay, no puedes usar la cuenta con que estás instalando.... Otra vez al pinky manual... ¡orales! Necesitas al menos otras dos cuentas de dominio TFSSERVICE y TFSREPORTS y si quieres verte chido, también TFSPROXY.....

Pus orale... a solicitarlas y a sentarme a tomar el fresquito del aire acondicionado.....

Finito.

[OFF-TOPIC]

Lo cuatitos de iBATIS liberaron hoy la siguiente versión en Beta de la versión .NET que entre otras cosas incluye el soporte a la versión 2.0 del framework ¡orales!

domingo, julio 02, 2006

A la cama sin un ganador

Justo acaba de dar su anuncio el titular del IFE en el cual señala que debido al escaso margen de diferencia entre los candidatos punteros, no es posible anunciar tendencias en los resultados dado que estos pueden variar.
A muchos les podrá parecer un esfuerzo por maquillar las cifras. Pudiera imponerse un resultado mediante maquiavélicas maniobras. Un escenario más para confirmar lo que a gritos ha venido anunciando la oposición: una elección de estado.
Ésta es mi segunda elección presidencial en la que participo como votante. Y he de reconocer muchos cambios, desde mi confirmación derechista y conservadora, muy distante de la izquierda radical que en mi temprana juventud manifesté. Pero el cambio que más me sorprende es la incertidumbre, la real indefinición que flota en el ambiente.
En este momento estoy escuchando al candidato de la izquierda, AMLO, que anuncia que aunque ha manifestado que respetará la decisión de las instituciones, se declara ganador debido a la información que posee. Ofrece convocar a un acuerdo nacional que involucre a todos los individuos y organizaciones. Una invitación franca según su dicho.
Sin embargo, el IFE tendrá que emitir el resultado final. Y a eso tendremos que atenernos todos los mexicanos (y mexicanas, claro).
Para mí no me queda clara la real tendencia de esta elección como dije anteriormente. Sin embargo, me parece saludable y se me antoja que le da un alto grado de confiabilidad al proceso de elección en si mismo.
Ahora estoy escuchando al candidato de la derecha, Felipe Calderon, que en su declaración anuncia el mismo sonsonente que su principal contrincante: somos ganadores. La supuesta ventaja son los resultados arrojados por diferentes encuestas de salida levantadas por empresas contratadas ex-profeso. Defiende sus resultados, remarca su victoria. Comparte sus felicitaciones a los gobernadores electos de su partido. Hace un breve esobozo del camino a seguir su gobierno.
Finalmente escuche el comentario del líder del PRI el cual pide que se respeten los tiempos definidos por el IFE. Ya sabe que se le avecina una tormenta. La caída total del partido. Ojala que recuperen lo bueno de lo perdido.
Esto sigue sin cerrarse.
Finito.

sábado, julio 01, 2006

Fábricas de Software - la otra visión

Cuando oímos el término fábricas de software generalmente nos imaginamos un espacio enorme con largas filas de desarrolladores que se extienden hasta el infinito con lámparas colgando sobre cada línea y el incesante repiqueteo de las teclas.

Pero es solo imaginación. La propuesta para hacer realidad es muy diferente. Jack Greenfield es su artículo "The Case for Software Factories" expone las razones que motivan la aparición de las fábricas de software. La incesante demanda de software, aún y cuando es una de las actividades más riesgosas en términos de tiempo y dinero, requiere de nuevos modelos de construcción de aplicaciones. Esta necesidad en ascenso requiere de una fuerza de trabajo que sea cada vez más productiva y se señala que el modelo de "maestro-aprendiz" que ha prevalecido no será capaz de generar los ejércitos de desarrolladores y que aún teniendolos más que demostrado queda que la solución no es agregar y agregar personal a los proyectos.

La industria del desarrollo de software ha pasado por esto antes y lo ha intentado resolver de muchas maneras (CASE, metologías formales, OOP, etc) pero llega el momento en que son rebasadas por la realidad y es necesaria una revolución en lo más profundo para continuar en el negocio.

Cada una de las revoluciones anteriores han ido aumentando el nivel de abstracción con el que trabajamos. Se ha ido desde bit por bit a lenguajes, de funciones a clases y métodos, de programatico a declarativo. Se puede representar esto como una torre en la que el siguiente piso permite manipular conceptos más abstractos, más despegados del hardware que el piso anterior. Sin embargo existe una diferencia de velocidad entre el avance de la plataforma, es decir el hardware, y las herramientas. Estamos en un punto donde las herramientas y procesos de desarrollo se han quedado estancadas y atrás en relación a la capacidad de cómputo disponible y sobre todo de las exigencias de los consumidores.

Haciendo un símil muy recurrido con la industria de la electrónica, Greenfield hace una comparación dura y directa: los chips actuales no se construyen transistor por transitor, ya existen componentes predefindos que sirven de base y que sin esfuerzo permiten tener en el mercado los productos demandados por los consumidores.

La pregunta de oro es ¿se puede automatizar el desarrollo de software de la misma manera? Se dice que sí y de hecho ponen como muestra SQL y las bases de datos. Mediante una estandarización se ha conseguido beneficios como la integración de datos y cierto nivel de independencia que consiguen hacer el acceso a datos más fácil y consistente. También se refieren a las interfaces gráficas. Al final se identifican algunos patrones recurrentes:
  • La repetición en la construcción de aplicaciones se identifican abstracciones reutilizables que se documentan y se aprovechan en desarrollos subsecuentes.
  • Después se construye un framework o engine para implementar estas abstracciones y patrones. Esto permite construir aplicaciones simplemente creando instancias, adaptando, configurando y conectando entre sí los componentes de este fx.
  • Finalmente se define un conjunto de herramientas y lenguajes para automatizar el proceso de construcción. Con esto se consigue reaccionar más rapidamente a los cambios ya que mucho del esfuerzo es automatizado y puede regenerse sin mucho esfuerzo.
Otras industrias aumentan su capacidad de producción moviendose a un proceso de manufactura en lugar del proceso artesanal individual o en pequeños grupos. En el proceso masivo se arman variantes de un mismo producto usando piezas genéricas de distintos proveedores y existe maquinaria para los procesos más simples y repetitivos. Se estandarizan procesos, diseños, empaque usando líneas de producto para facilitar la reutilización sistemática y al final, cadenas de suministro. Para poner en concreto lo anterior pénsemos en la industria automotriz. Hacen una implementación donde existen productos con algunas variantes (estándar, equipado, lujo) y se producen rápidamente (120 autos en 8 horas) y un rango de precios adecuados para su mercado.

Se han hecho analogías entre el software y otros bienes. Finalmente se reconoce que el software es similar a productos físicos o tangibles resultado de otros tipos de ingeniería tales como puentes, edificios y computadoras. Sin embargo existen importantes diferencias que le otorgan al software caraterísticas únicas. Al ser un ente lógico, abstracto, sin representación física, los costos se concentran en el desarrollo más que en la producción y debido a que el software no se desgasta ni acaba, su calidad depende de cualidades abstractas como fiabilidad y consistencia en lugar de durabilidad y resistencia.

El poder reutilizar componentes, cuyo desarrollo es caro, debe hacerse en un marco que permita aprovecharse en más de un producto dentro de un dominio (usar un mismo motor en más de un modelo de auto).

La reutilización sistemática da lugar a economías de escala y de alcance (scope) que son bien conocidas y aprovechadas en otras industrias. Las economias de escala aparecen cuando múltiples instancias identicas de un mismo producto se fabrican en masa en lugar de individualmente. A partir de un diseño original se crean prototipos (diseño), se refinan mediante procesos de ingeniería (desarrollo) y finalmente se fabrican masivamente (producción) mediante maquinaría o línes de producción de bajo costo (obreros) para satifacer la demanda. En el modelo de la economia de alcance se utilizan las mismas prácticas, procesos, herramientas y materiales para diseñar y crear prototipos de productos similares que se comercialzaran con algunas variantes.

La industria de software presenta importantes diferencias con las industria automotiva o electrónica pero se pueden encontrar algunas similitudes.
  • En el mercado de consumo masivo como aplicaciones de escritorio en el cual sistemas operativos y suites de oficina se producen en grandes cantidades, el sofware se comporta como una economia de escala, similar a la industria automotriz.
  • En el mercado empresarial en el que aplicaciones de negocio verticales no consiguen producirse masivamente, el software se comporta como una economia de alcance tal como la industria de la construcción.

¿Cómo se implementan estas prácticas de industralización en el desarrollo de aplicaciones? Si bien no existe una respuesta definitiva ya se están realizando esfuerzos para complementar los ambientes de desarrollo existentes. Microsoft dentro de su producto Visual Studio Team System ha aprovechado los esfuerzo que se han venido realizando en el equipo de Patterns & Practices. El resultado de esta estrategia se llama Guidance Automation Toolkit que es una extensión de Visual Studio 2005 que permite a los arquitectos y desarrolladores aprovechar los gadgets incluidos en los software factories para automatizar tareas claves del desarrollo desde el ambiente de Visual Studio.

Recientemente se han dado a conocer algunas software factories entre las que se incluyen la Smart Client Software Factory y la Mobile Client Software Factory. También existen otras factories que están desarrollo, por ejemplo la Web Service Factory que justo acaba de anunciar un último Community Drop.

En el Arquitecture Journal se publico el artículo A Software Factory Approach To HL7 Version 3 Solutions que fue el detonante para interesarme por este tema debido a que en el trabajo tenemos un área que procesa mensajes de HL7 mediante WebLogic Integration.

Finalmente, Haaron González expusó ayer en la Comunidad.NET del D.F. el tema Fábricas de Software de Cientes Inteligentes, lástima que olvidé la fecha y no pudo asistir.

Finito.