[Serie] TechEd 2007- 2da Jornada

 Jornada  de luxe la de hoy, como pocas, combinando no sólo personalidades sino también haciendo un juego variado entre contenidos de Infraestructura y de Desarrollo. Como habrás notado, en la columna derecha del blog puse el keynote de Bob Muglia de ayer, que ya está publicado. Lo voy a dejar ahí hasta el miércoles de la semana que viene

Algo que está funcionando muy bien, ya que me garcaron y me dieron nada más que 20 (veinte) slots, es que eso ha permitido que no haya sesiones de arquitectura que se solapen. Vamos YA a los hechos

  • Rushabh Mehta dio el puntapié inicial a primera hora de la mañana, con una sesión sobre Consideraciones de Diseño para ETL (Extracción, Transformación y Carga de datos para el armado de Warehouses de información utilizables en Inteligencia de Negocios –Business Intelligence o BI-). Comenzó revisando los problemas frecuentes que se presentan cuando tenemos varias fuentes de datos, quizás algunas de ellas no confiables (ojo al piojo: en el momento de la carga vos no sabés que tenían info fasula; te vas a apiolar más adelante cuando llegues a conclusiones que no se las crée ni el ratón Miguelito) y por ende te llevan a meter la gamba. El speaker parece que del tema conocía, porque complicó más la cosa planteando escenarios donde tenés más de un proceso de carga. Es más, tenés un workflow de procesos de carga con lo que, si algo entra mal, andá a darte cuenta después de la transformación
    El amigo después delineó las etapas de una carga de datos efectiva, que contemple puntos de control a los que podamos ser capaces de volver en forma retroactiva. Me gustó realmente el orador porque presentaba alternativas para todo, sujetas -claro- a condiciones. Cómo y cuándo encarar rollback automático, cómo y cuándo no va a quedar otra que hacerlo artesanalmente (seh: a manopla)
  • Después pasó al frente uno de los platos fuertes que trajimos a este evento: Juval Löwy. La propuesta que nos planteó ahora que te lo cuente vas a pensar que debe haber salido de joda anoche y se le habrá ido la mano con el chupi. Pero creéme que tenía un dejo de coherencia. Juval comenzó planteando realidades que se presentan en los proyectos basados en Arquitecturas Orientadas a Servicios, destacando los riesgos que este tipo de proyectos presenta (justificando los mismos en que la aplicación se basa en servicios distribuidos). Entonces reveló su receta para que este tipo de proyectos llegue a buen puerto. Para ello abordó primero la problemática del armado del equipo de proyecto, cuántos arquitectos y de qué perfiles según el tamaño del mismo; también cómo repartir los servicios entre los desarrolladores que van a tener que construirlos; cómo ir integrando luego las piezas a medida que son completadas; cómo testear los servicios y cómo estimar el costo del proyecto basado en los servicios que hay que construir
    Juval terminó con una discusión interesantísima respecto de la conducta que puedan presentar tanto el esfuerzo del equipo (o sea, el trabajo invertido, las horas/hombre en otras palabras) como el progreso del proyecto (el porcentaje completado) respecto del plan inicial
    Simplemente mirá esta presentación cuando esté disponible (me voy a encargar de anunciar tanto en el blog como en el portal de arquitectura cuando las sesiones del TechEd estén liztaylor)

Al finalizar esas dos sesiones empezaba mi turno al frente de la estación para demos en el stand del Equipo de Arquitectura. Las dudas que los que se me acercaron me han planteado fueron, a grandes rasgos, tres:

  • Cómo entender de Arquitectura aunque uno no vaya a jugar el rol de Arquitecto. El que me hacía la pregunta era el CTO (Chief Technology Officer) de una compañía dedicada a la Salud que necesitaba entender el idioma de los arquitectos que lo asesoraban. En otras palabras, quería saber cómo manejar los conceptos, cómo saber por dónde pasa la cosa, de qué se está discutiendo hoy
    Me dio pie a mostrar el portal y explicar cómo está organizada la información en el mismo, recorriendo en un pantallazo los pilares de una arquitectura distribuida, y también tópicos especiales que están en la agenda tecnológica de hoy. También, los sitios que creamos para verticales industriales y las formas de estar sintonizado con el contenido (las suscripciones RSS) y especialmente algo que te va a venir al pelo: el mapa del contenido


    Hacé click en esta imagen para probarlo Esta aplicación requiere la extensión de Internet Explorer que te habilita a ejecutar applets Windows Presentation Foundation (WPF) embebido (extensión xbap, no estoy muy seguro y no quiero hablar al cohete pero me parece que si no la tenés instalada te va a promptear para ver si aceptás descargarla). Concretamente este mapa te ofrece tres vistas de la información: por tópicos (llamalo SOA, Experiencia de Usuario, Software as a Service, Software Factories, etc), por autores que hayan contribuido a un dado tópico o por contenido de un tópico (esto es, los artículos, webcasts, etc). Al pasar por encima de un nodo, te ofrece un menú contextual que ofrece cosas relacionadas con ese nodo (por ejemplo, lanzar el artículo o video, o bien ver que otros artículos escribieron sus autores, etc)
    Es una forma novedosa de encontrar información fuertemente relacionada, que el portal no te puede ofrecer ya que la info está clasificada desde lo más nuevo a lo más antiguo (es decir, el orden viene prefijado de antemano). Los créditos a Simon Guest
    Echale un vistazo porque creo que te vas a familiarizar rápido ya que esa aplicación usa directamente la base de conocimiento por la que clasificamos el contenido, y tiene categorías que aún no llegaron a tener página propia en el portal (como pueden ser Web 2.0, Misión Crítica, Transacciones y varias otras)

  • Otra de las consultas que me hicieron fue referida a información sobre Software Factories. No lo que en América Latina entendemos por, sino lo que Microsoft definió con ese nombre: herramientas alrededor de un lenguaje específico de dominio -o sea, no genéricos como C# o Java- que permitirían esconder todo contacto con APIs, restingiendo toda la gramática a elementos de un dominio de alto nivel. Por ejemplo, imaginate un lenguaje especifico para odontólogos que te permita -entre otras cosas- revisar radiografías digitalizadas de la boca de un paciente, a través de un lenguaje con primitivas tales como

        SELECCIONAR PACIENTE GONZALEZ
        MOSTRAR SEGUNDO MOLAR INFERIOR IZQUIERDO
        ROTAR 90 GRADOS SENTIDO HORARIO

    y que todo eso después se compile a componentes C# que a través de Windows Communication Foundation y DirectX terminen de cocinar el estofado
    Claro: sin Software Factories podríamos haber logrado lo mismo encapsulando la complejidad de WCF, DirectX y la API que fuera mediante el desarrollo de componentes, de modo de lograr algo como

        Paciente paciente = PacienteDAO.Seleccionar(Gonzalez);
        UIAgent.Show(paciente.GetDiente(Diente.SEGUNDO_MOLAR_INFERIOR_IZQUIERDO);
        UIAgent.Rotate(90, CLOCKWISE);

    Es decir, en lugar de introducir la complejidad de un nuevo lenguaje, introduzco la complejidad de una nueva API. De hecho, esta última solución parece mejor porque sigo teniendo el resto del framework .NET disponible (en verdad, incluso WCF y DirectX si se me canta usarlo de todas formas). En cambio, con el lenguaje específico de dominio me perdería la mayoría de las cosas que poséen los lenguajes .NET como podrían ser las caracterísitcas de la orientación a objetos, acceso a -justamente- todas esas APIs que quedaron encapsuladas
    Sin embargo, justamente eso es lo que se pretendía: crear un lenguaje que realmente limite by design el uso que se hace de la plataforma .NET, que lo aleje definitivamente del alcance de los programadores de lógica de dominio
    Esto sugiere un modelo de trabajo similar a una línea de montaje de una manufacturera: los operarios son especialistas en determinada parte del proceso de construcción, pero el trabajo conjunto y secuencial de todos acaba logrando los productos terminados. De ahí la denominación de Fábricas de Software
    Para conocer más en detalle de este punto, el portal ofrece unas páginas especificamente dedicadas a este tópico, así como también el año pasado salió un número del Architecture Journal enfocado en Software Factories

  • La última pregunta significativa que me tocó responder fue acerca de guías para versionar, desplegar y monitorear servicios, lo que me permitió referenciar al trabajo que Mark Baciak está realizando con un proyecto cuyo code name es Alchemy, y que trata de una infraestructura que soporte aplicaciones orientadas a servicios, el ciclo de vida de estos últimos (su control de cambios), y que a la vez permita automatizar su administración y monitoreo a fin de prevenir el incumplimiento de los parámetros de nivel de servicio acordados

En el durante me crucé me vinieron a visitar ciertas personalidades, que nombro por orden de aparición: Leandro Olivestro (Q4Tech, un experto en aplicaciones móviles que nos ha permitido generar varios casos de uso en Sudamérica), Daniel Cazzulino (Clarius Consulting, otro grosso que lleva escrito varios libros sobre desarrollo web para Wrox y Apress, además colaboró con la flamante versión 3.0 de la Enterprise Library), Neil Roodyn (un gurú de procesos de desarrollo ágil), Arvindra Sehmi (director de arquitectura de software de Microsoft Europa), David Platt (te había comentado sobre él ayer)  y otros

En el interín y al terminar mi participación en el stand del Equipo de Arquitectura, hubo más sesiones del track que vale la pena comentar:

  • David Chappell abordó el stack de productos de Microsoft para Manejo de Identidades. Tras una breve introducción al tema y a sus conceptos básicos (qué es una identidad, qué un token, etc), comentó las estrategias disponibles para verificar identidades tanto dentro de dominios específicos como a través de internet destacando las facilidades ofrecidas por Active Directory, Windows Cardspace, AD Federated Services, Identity Lifecycle Manager, etc. Finalmente dedicó unos minutos a mecanismos de autorización basados en AzMan
    No sólo viene siendo, hasta ahora, nuestra presentación mejor rankeada sino que de todo el evento, considerando otros tracks que el de Arquitectura, está entre las 10 presentaciones mejor evaluadas
  • Rockford Lhotka hizo un balance de las técnicas que desde hace unas décadas han venido dominando la escena (Orientación a Objetos, Arquitecturas Cliente/Servidor, Arquitecturas en Capas, Orientación a Servicios, Workflows) y aunque apeló a ironías al justificar que estas técnicas surgen porque tanto Microsoft como su competencia necesitan seguir vendiendo, después aclaró que se trataba de una broma y que la realidad es que las Ciencias de la Computación van resolviendo problemas en base a las necesidades de la industria, y en la medida que esos problemas aún dejan cabos sueltos, nuevas técnicas llegan atrás para cubrirlos
    Lhotka mostró ejemplos de arquitecturas que combinaban lo mejor de cada técnica, demostrando así que las mismas complementan sus enfoques, no los contrastan ni contraponen
    La sesión fue súper bien recibida por el público que dejó su marca en los comentarios
  • Y finalmente, cerrando la jornada, Caroll Moon, arquitecto del Centro de Excelencia en Operaciones de TI, brindó un pantallazo acerca de MOF, Microsoft Operations Frameworl, una metodología para Control de Cambios, Operaciones y Monitoreo de aplicaciones que permite lograr alta disponibilidad de los sistemas de misión crítica. Explicó la relación de MOF con ITIL, el rol de Microsoft en el comité que mantiene ITIL, las certificaciones disponibles, las herramientas del stack de System Center que sirven para planificación de la capacidad (capacity planning), el monitoreo, las alarmas, escalaciones, así como también las best practices de todo eso
    Comentó un caso de estudio interno, basado en Exchange Server con una base de 100 mil usuarios. Gracias a MOF, el uptime (tiempo en que el servicio Exchange está disponible), es superior al 99.99% anual

Estimados, esto fue todo por hoy

Esta entrada fue publicada en Software Architecture. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s