Llegan los Reyes: Sesiones Completas del Foro de Arquitectura de Microsoft Corp

clip_image002

 El  pasado Noviembre se realizó el Foro Anual de Arquitectura en el Centro de Convenciones de Microsoft. Este tipo de eventos es bastante diferente, si lo comparamos, al track de Arquitectura que se incluye en la conferencia TechEd de desarrollo de software. Es sabido que, en nuestra industria, el término "arquitecto" es tomado con mucha amplitud y dependiendo del contexto hace referencia a roles de diferente seniority. Podríamos decir que el estilo de arquitecto que asiste a este foro es más bien aquel que está más allá de una aplicación específica, pero que está en todas al mismo tiempo en la medida en que entiende cómo éstas se organizan para soportar el famoso "negocio" que su organización lleva adelante

Por tal motivo, las sesiones de este foro hacen mucho hincapié en lo que viene en cuanto al aprovechamiento que toda organización pueda hacer de ellos en términos de su relación con clientes, proveedores, socios comerciales y, finalmente, sus propios procesos internos de TI (control de cambios, ciclo de vida, etc). En ese sentido, no esperes acá ver grándes demos de cómo se configura tal cosa para habilitar REST en lugar de SOAP, etc sino más bien por qué REST y no SOAP o viceversa

Para marcar otra diferencia con TechEd, esta conferencia no es de entrada libre al público sino que es por invitación de Microsoft a sus clientes. Por tal razón, los asistentes son sólo un selecto grupo. Como contrapartida, lo bueno es que lo que se muestra acá -como vas a ver ahora- luego es publicado en forma completa. En el caso de TechEd, sólo si la organización del TechEd así lo dispone (y, al menos la última vez, se dispuso que no smile_sad)

El pueblo quiere saber de qué se trata

Día 1

Ver Sesión

PPT

Cambiar el Mundo con Software y Servicios
Donald Ferguson comienza listando las tendencias actuales derivadas de los últimos adelantos en tecnología que, innegablemente, cambian cada vez más nuestra vida y la forma de consumir cosas u obtener información. Entonces plantea el típico escenario de una compañía hipotética que agrega valor a sus procesos mediante el consumo de servicios provistos por terceras partes, analizando el impacto tanto para dicha compañía como para el proveedor de ese servicio e incluso ya para aquellos terceros que quieran -a su vez-, agregar valor a sus procesos consumiendo ya no los servicios del tercero original sino los de la compañía tomada como centro de la hipótesis
En concreto, SOA ya no está sólo en este mundo de servicios: los mashups y las RIAs (aplicaciones basadas en Internet que aprovechan a full recursos del dispositivo en que se ejecutan) son hoy parte del ecosistema

video

presentacion

Anatomía de una Aplicación Software + Services
Eugenio Pace (ex Patterns and Practices donde dirigió el Composite Application Block y la derivada Smart Client Software Factory que hoy sigue llevando adelante Glenn Block) baja algo más a la tierra las ideas del keynote de Ferguson, explicando con admirable precisión el ecosistema S+S donde unos consumen servicios, otros los desarrollan y unos terceros los ejecutan (percibiendo así su parte de la pizza). Eugenio luego presenta un pantallazo de lo que Microsoft está ofreciendo hoy en su estrategia S+S, con servicios fundacionales (por ejemplo para identificación o para video streaming), otros agregables por suscripción (como OneCare o XBOX Live) y servicios de rango superior (ejemplos tales como Office Live, Windows Live o Dynamics CRM)

video

presentacion

REST: un Enfoque Liviano, Orientado a Datos para el Software Concurrente y Distribuido en Empresas
George Chrysanthakopoulos, investigador en Microsoft Research, nos muestra un pantallazo de Microsoft Robotics Studio: un kit de aplicación de conceptos como orientación a servicios pero para aplicaciones que incorporen robótica (una introducción decente a Microsoft Robotics Studio está disponible acá). A lo largo de su charla, el presentador nos va a mostrar -en los papeles y en la práctica- el modelo descentralizado de aplicación para servicios de software (DSS) y el motor de ejecución para concurrencia y coordinación, que permite orquestar señales asíncronas con simplicidad como horizonte. El modelo de programación no es C++ ni nada sólo para una elite: toda la plataforma Robotics es .NET

video

presentacion

Levantando las Barreras para la Voz por IP (VoIP)
Gurdeep Pall (ex miembro del equipo de Arquitectura que integro y actual vicepresidente corporativo de Microsoft para el grupo de Comunicaciones Unificadas) ofrece una sesión muy interesante sobre un aspecto que hoy las organizaciones vislumbran como uno de los peores enemigos de la productividad: la sobrecarga derivada de las facilidades que hoy las comunicaciones ofrecen (dicho en otras palabras, el tiempo que hoy los empleados independientemente del rango dedican a ver y responder correos, asistir a reuniones y otros esquemas de comunicación). Gurdeep se propone mostrar una plataforma novedosa, MS Unified Communications, que surge como una forma de responder a las siguientes preguntas: cómo priorizar comunicaciones para poder reaccionar en una forma más productiva? cómo aprovechar la infraestructura existente en conjunto con Internet para abaratar los costos de las comunicaciones? cómo integrar toda la plataforma (telefonía fija, celular, la red de computadoras, etc?). Como cierre, vas a poder conocer la interfaz de voz del Outlook (si no la conociste ya)

video

presentacion

Proyecto Astoria: Servicios de Datos para la Web
Pablo Castro, del equipo ADO.NET nos da un pantallazo de hacia dónde esta API de acceso a datos va a extender sus dominios (estimativamente, hacia mediados de año). Astoria es un framework para poder consumir información tanto dentro de la empresa como hacia afuera, basándola en los protocolos REST de la Web 2.0 (ATOM, JSON). La idea de esto es que las organizaciones puedan poner su información disponible para clientes HTML, Silverlight, mashups o clientes de escritorio que sean capaces de consumir datos en estos formatos

video

presentacion

Arquitectura de Aplicaciones Compuesta Usando 2007 Office System
Con probablemente una de las sesiones que más te voy a recomendar, Scott Jamison repitió acá el éxito que logró en el track de Arquitectura del pasado TechEd, cuando alcanzó el mejor score como orador en una sesión similar. Normalmente venía produciendo cierto rechazo la sola mención de Office 2007 o específicamente Sharepoint 2007 en una charla de arquitectura (en parte aventados por los dolores de cabeza ocasionados por las versiones anteriores de este último), en tanto que era recibido como un "sales pitch" (una venta, basicamente hablando) de un producto Microsoft. Hoy podemos decir ya que cierta agua ha corrido bajo el puente, y algunos resultados tangibles se empiezan a notar. En esta sesión vas a ver ejemplos concretos -y de arquitectura- en los cuales los beneficios de aplicar Sharepoint como columna vertebral de una aplicación que se compone de cachitos de aplicaciones existentes saltan a la vista. La calidad técnica de esta sesión es especialmente notable

video

presentacion

Día 2

Ver Sesión

PPT

Amazon.com: Simple Storage Service (S3), Elastic Compute Cloud (EC2) y Simple Queue Service (SQS)
Charlie Bell, vicepresidente de Tecnología en Amazon Web Services, nos sorprende contándonos cómo las necesidades de evolución de la aplicación de Amazón dieron lugar a una serie de servicios que, si bien originalmente se habían concebido para poder mantener el portal en funcionamiento, son hoy una fuente de ingresos para esa compañía ya que los vende a terceros. Una historia impresionantemente Web 2.0 que bien podría mañana tenerte a vos como protagonista

video

presentacion

Viaje al Centro de Microsoft Research
Behrooz Chitsaz nos ofrece un panorama de la usina de investigación de Microsoft, cómo ha ido creciendo e instalándose en países tan diversos como China, Israel o la India, cómo colabora con universidades (a la vez que se nutre de ellas) y -por sobre todo- unas interesantes demos de reconocimiento de lenguaje natural, análisis de redes de datos, reconocimiento facial, biología computacional y más. Vale la pena tener en cuenta que de este laboratorio han salido la TabletPC (con su reconocimiento de letra escrita), el buscador de escritorio, el chequeo de sintaxis del Office o la próxima mesa programable Microsoft Surface, entre varios otros logros

video

presentacion

Una Capa de Identificación Basada en Reclamos para la "Nueva Internet"
Es sabido que el manejo de identificaciones en Internet ha ido evolucionando por mecanismos dispares al compás en que los usos de Internet también evolucionaban. Hoy usamos la internet como mecanismo de transporte no sólo para que personas consuman servicios sino para que procesos hagan lo mismo. A esta altura poder manejar un modelo unificado de identificación parece quimérico. Y sin embargo es lograble, como lo va a demostrar Slava Kavsan en esta sesión

video

presentacion

Duet: Software Más Servicios de la Mano de Microsoft y SAP
Para quienes no lo conocen, Duet es una forma de enlazar aplicaciones SAP con una fachada más familiar e integrada a través de las aplicaciones Office tradicionales. Lo que me pareció más valuable de esta sesión -si bien yo no me dedico a temas de CRM- fue la interesante discusión de problemas de arquitectura que han ido surgiendo a lo largo de la evolución de esto que originalmente apareció como "Proyecto Mendocino", y cómo se han ido resolviendo. La sesión fue ofrecida por Chris Keyser y Burra Gopal por parte de Microsoft, y Adi Kavaler por parte de SAP

video

presentacion

El Futuro del Datacenter (I)
Debra Chrapaty nos cuenta cómo Microsoft está planificando sus datacenters para hacer frente al escenario consolidado de software más servicios. Enterate de las distintas estrategias que están evolucionando para ofrecer alta disponibilidad y confiabilidad de lo que las aplicaciones esperan encontrar "allá en la nube"

video

presentacion

El Futuro del Datacenter (II)
John Dwyer ofrece otra perspectiva respecto de como los datacenters están evolucionando. Esta vez el enfoque tiene que ver con la creciente consolidación de los mismos y la demanda energética que se avizora, en conjunto con regulaciones necesarias para mantener nuestro medio ambiente verde (o mejor dicho, volverlo a ver verde algún día y no negro azabache como va camino a). Esta sesión es del paladar de los arquitectos de Infraestructura

video

presentacion

Experiencia de Usuario en la Plataforma Windows Live
La historia que David Dumler y Angus Logan nos cuentan acá es en cierto modo similar a la de Amazon que te mostré más arriba, sólo que esta historia aún está evolucionando. Enterate cómo Windows Live ha ido madurando una serie de servicios de diferente granularidad, con la idea de poder lograr en el futuro próximo una plataforma disponible por todos para montar aplicaciones que maximicen experiencias de usuario inmersivas y personalizadas, disponibles en toda "la red", y aprovechables tanto por personas como por organizaciones que quieran ganar nuevos clientes y hacer crecer su facturación

video

presentacion

Experiencia de Usuario para Arquitectos
Simon Guest propone acá dejar por un rato de lado el debate de los datacenters, la orientación a servicios y los workflows para concentrarnos aunque sea por un rato en las necesidades del usuario final. Para ello nos va a presentar un esquema de trabajo en el cual los arquitectos de software se pueden basar para pensar la capa de interacción centrada en la idea de que quienes vayan luego a usarla no deban, por ello, sufrirla

video

presentacion

Microsoft IT: Viaje al Centro de la Cocina de Microsoft
Si Microsoft dice proveer herramientas de TI que permiten a los negocios evolucionar y crecer… Cómo la lleva Microsoft con todo eso? Será como la vende o será más bien un enfoque "casa de herrero, cuchillo de palo"? Neil Leslie y Barry Briggs responden la pregunta y te cuentan mucho más acerca de cuánto de lo que Microsoft vende, surgió inicialmente como iniciativa interna. Seguramente que el componente "suerte" existió en la historia de Microsoft (como también lo habrá habido en el caso Amazon y en cambio faltó en la recientemente desaparecida Netscape), pero esta sesión -como aquella de Amazon- se encarga de mostrar que no todo es casualidad

video

presentacion

Día 3

Ver Sesión

PPT

MySpace: Lecciones Aprendidas al Filo de la Web
Cuando Aber Whitcomb fundó MySpace junto con otros amigos, pensaron que un modelo de trabajo reactivo (on demmand) era suficiente: si algo se rompía, se arreglaba y punto. Al principio ese modelo funcionó pero inmediatamente Aber y los suyos empezaron a notar cómo estaban dejando pasar oportunidades. Mirá está sesión y conocé cómo cambiando a un esquema proactivo primero y estratégico después, MySpace es hoy uno de los sitios de la llamada "web social" de mayor tráfico, ofreciendo una serie de servicios distribuidos altamente disponibles. La paradoja de lo importante que es saber cambiar a tiempo si se quiere seguir igual

video

presentacion

Manual para Conducir a los que Desarrollan Software
Paul Glen es un consultor que hace un tiempo atrás sacó un libro acerca de cómo liderar equipos de desarrollo de software. Esta presentación es interesante en la medida en que este tipo de equipos de trabajo suele tener particularidades propias que no están presentes en otros tipos de industria. Es una realidad que los desarrolladores suelen ser más leales a la tecnología que les gusta que a vos que sos su jefe y tratás de hacerles entender que "en este proyecto no la podemos usar". Glen habla de este y otros temas que suelen impactar en los aspectos emocionales de quienes desarrollan software, y a la larga determinan el éxito o fracaso de los proyectos

video

presentacion

 

Hacía rato que veníamos necesitando una sorpresa así. Después de tantos años de mishiadura yo ya había dejado de poner los zapatitos porque pasaban los reyes y me los afanaban

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

3 respuestas a Llegan los Reyes: Sesiones Completas del Foro de Arquitectura de Microsoft Corp

  1. Fernando dijo:

    Hola Diego,
     
    Sintéticamente quisiera plantearte una situación y ver si me podés orientar. Estoy seguro que sí.Si bien mi actividad principal hoy en día no es la de desarrollador de software ni la de arquitecto, estoy desde hace ya unos años preparándome con vistas a ello. Estoy informado (y tengo cierta experiencia) sobre algunas de las tecnologías de desarrollo de Microsoft, con sus "patterns", "idioms", paradigmas y estilos, a saber: .NET 3.5 (incluídos WPF, WCF, WF y Cardspace), ADO.NET (lo nuevo, que está por salir como ser el Entity Framework y ADO.NET Data Services), LINQ, SQL, XAML y C# 3.0. Como verás, he invertido (y estoy invirtiendo) una considerable cantidad de tiempo.El tema es que me encuentro trabajando en un proyecto para la informatización de un proceso empresarial de baja a moderada complejidad. Lo bueno es que para este caso no tengo ninguna mochila de nada legacy que acarrear, todo lo que se haga (idealmente) se hará desde cero. Además, toda la infraestructura de hardware ya está en su lugar y en marcha atendiendo otros requerimientos de IT. Nada complejo ni sofisticado.
     
    Concretamente, yo ya tengo el concepto de cómo me gustaría que fuera la arquitectura de la solución, lógicamente, haciendo uso de algunas de las tecnologías que te mencioné más arriba. La implementación no va a estar a mi cargo, es decir, muy resumidamente, yo analizo el problema y propongo una solución, la que luego deberé comunicar a los programadores. Y he aquí donde necesito tu orientación. ¿Qué herramientas usan los arquitectos de software para hacer sus diseños, los que a posteriori serán entregados a los equipos de desarrollo? Más allá de que existen múltiples canales de comunicación, como ser reuniones cara a cara, IM, etc. pienso que debe haber algún consenso generalizado o práctica común entre los arquitectos en lo inherente a la formalización por escrito de las propuestas. ¿Qué software se está usando para crear diagramas de carácter general, como los que se suelen ver en los artículos de la MSDN Magazine? ¿Y qué software se usa para ahondar en detalles de implementación cuando el proyecto (o alguna de sus partes) lo amerita?. Se me ocurre que debe haber algún soft para la presentación por escrito de las propuestas, más allá de la composición sui-generis que uno puede hacer con un screenshot por acá, algunos JPG’s por allá, símbolos tomados de las librerías de Cisco, etc.Estuve echando un vistazo a Skyscrapr ( http://msdn2.microsoft.com/en-us/skyscrapr/default.aspx ) y al Architecture Dev. Center del que vos formás parte ( http://msdn2.microsoft.com/architecture/default.aspx ) pero no encontré referencias a las herramientas usadas, aunque muy probablemente no debo haber buscado bien. En general, toda vez que se habla de arquitectura, se hacen referencias a UML, pero no me queda claro qué protagonismo le cabe a UML en casos sencillos como este en particular.
     
    Desde ya agradezco tu tiempo y tu orientación.
     
    Fernando

  2. Diego dijo:

    Cómo te va, Fernando. Ante todo gracias miles por leerme y confiarme la pregu.
     
    Mecanismos hay varios, cada uno con sus escenarios de adecuación. Para un caso como el que vos me mencionás, me atrevería a decir que el mecanismo de comunicación de diseño (tanto para la arquitectura de tu solución como para sus componentes particulares) podría ser el basado en los diagramas de la metodología eXtreme Programming (XP). De esta manera, no deberías estar obligado a aplicar XP completo sino particularmente sus diagramas y otros -así llamados- artefactos (por traducirlo del inglés "artifacts", aunque a mi me suena que me están hablando de estufas, mesas ratonas, no sé, muebles para la casa en general)
    Estos son:
    -Historias de Usuario o User Stories, que son, contado en sencillo y para ir de una a los bifes, lo que los casos de uso del UML deberían hacer (son similares pero sin demasiada estructura ni tanta vuelta). Algunos autores atomizan la historia de usuario a lo más mínimo que quieras contar (es decir, apenas si un detalle del caso de uso como ser "al cargar los datos de la solicitud, se debe mostrar una pantalla de confirmación con el detalle final antes de registrarlos"), aunque yo lo práctiqué eso y preferí meter todas las historias de usuario de un caso de uso dado en un mismo papel (originalmente iban en fichas)
    -Diagramas de Clase, Responsabilidades y Colaboración o Class-Responsability-Collaboration Cards o CRC Cards. Sería el análogo al diagrama de clases de UML, aunque acá de nuevo la cosa es medio minimalista: en cada tarjeta va una clase con sus responsabilidades (a un alto nivel, no necesariamente tenés que contar cada método acá sino imaginate q tenés q hablar con alguien que no es del palo y contarle la clase que es lo que hace) y finalmente las clases con las que se relaciona (eso es lo que se llama colaboración). Eventualmente en lugar de este diagrama, un diagrama de clases de UML no viene mal. Mi consejo para vos, según cuánto te entiendas con tu gente, es que no definas vos a bajo nivel de detalle qué métodos, qué argumentos, etc sino sugerirlo a un alto nivel. Después dejá que eso lo hagan ellos porque si no, cuando alguna inconsistencia surja a ese nivel bajo van a requerir tu involucramiento para destrabarla (y te va a comer tiempo precioso que vas a necesitar para reportar a tus superiores de la marcha del proyecto)
    -Diagramas de Secuencia de UML. Estos son mis favoritos para poder explicar claramente cómo las clases colaboran entre sí en un dado caso de uso. No es que tengas que documentarlos todos: sé pragmático. Hacelo a grandes rasgos porque la sintonía fina la hace tu gente (por lo mismo que te explicaba más arriba)
     
    En balance, aplicar un híbrido entre diagramas de XP (los que te sirvan) y UML, de nuevo, los que agreguen valor allá donde no lo hay, sin necesidad de cumplir religiosamente con una metodología, vale la pena
     
    En cuanto a herramientas, hay varias en el mercado, con sus pros y contras
     
    Una llamada Enterprise Architect se ganó un lugar en aquellos puristas de las arquitecturas completamente agnósticas de la implementación. Es decir, vos definís clases simples y después el que implemente se encarga de mapearlo a API’s de Java EE, .NET la versión que fuere, PHP, etc. Presuntamente Enterprise Architect es capaz de hacerte ese mapeo sola, pero la verdad que yo no lo probé. Es piola si todavía no tenés decidido si ir por Java, .NET o qué
     
    IBM WebSphere Application Developer (WSAD) en sus versiones enterprise te permite aplicar no sólo UML sino ya RUP (es decir, una metodología completa que usa a UML como estándar de comunicación entre los miembros del equipo de desarrollo). Si vas a desarrollar en Java, cara pero la mejor (Eclipse es su versión medio pelo, no pagás un mango aunque no trae todo pero tenés apliques de terceras partes)
     
    Visual Studio 2008 for Architects, viene con diagramas de clases parecidos a los de UML pero más que nada para ya ir sacando adelante el código en la medida que diseñás. Es decir, sea que agregues una propiedad o método en el código o en el diagrama, la otra margen va a estar inmediatamente sincronizada. Lo mismo si renombrás algo (sea una clase, propiedad o método) se barre la solución entera y te cambia las referencias para no tener después errores de compilación o ejecución. Está buena para mantener una documentación fiel del código, pero no cubre diagramas de secuencia por ejemplo. No sé vos pero yo no puedo vivir sin ellos si le tengo que comunicar a otro cómo quiero que las clases colaboren entre sí
     
    Otras tools que no murieron ni morirán: MS Visio, Powerpoint, lapiz y papel, pizarrón, plantígrafo. El objetivo inicial que me mencionaste era que querías un mecanismo piola para hacerte entender y dejar plasmado lo que querés para los que van a encargarse de llevarlo a la práctica, no? Ok. Estas tools que te acabo de nombrar no murieron ni morirán, como muchas otras no MS que hacen cosas similares. Auspició este último tramo: bolígrafos BIC
     
     
     
    Te mando un abrazo

  3. Fernando dijo:

    Diego,
    Desde ya te estoy infinitamente agradecido por la respuesta. Es exactamente lo que estaba necesitando. Clarísima y muy completa !
     
    Te mando un abrazo,Fernando

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