Rodrigo Díaz Concha

.NET, Technology, Music, Art, Culture, Traveling, Fun...
TechEd Developers 2008 - Epílogo

TechEd Developers 2008 USA ha sido un evento extraordinario en muchos sentidos.  En lo personal, fue muy satisfactorio ser parte del staff Microsoft y sobre todo haber tenido la oportunidad de presentar. De estar al frente.  De ser instructor y orador en un evento de esta escala e importancia internacional.

Me regreso con muchas energías -lo cual es paradójico ya que estoy muy cansado física y mentalmente- de seguir trabajando y aprendiendo en esto que realmente me apasiona.  Tuve la fortuna de conocer a grandes personalidades, convivir con personas altamente talentosas, y sobre todo: de compartir.  Compartir es lo que nos hace y hará fuertes en cualquier rubro y en cualquier camino que emprendamos.

 

Goodbye Orlando.  Hello New Orleans!

Posted: Jun 09 2008, 04:54 PM by rodrigo | with no comments
Filed under:
TechEd Developers 2008 - Crónica III

Es un día caluroso y húmedo en la ciudad de Orlando, Fl.  El día de hoy viernes muchos asistentes regresan a su lugar de origen ya que es el día final del evento.  Aunque todavía es día normal de sesiones, la agenda es mucho más holgada.

Por mi parte, tuve mi 2da presentación de "Building an Application with ASP.NET MVC" y me alegra decir que estuvo mucho mejor que la primera y recibí aun mejor feedback por parte de los asistentes.  Surgieron algunas preguntas bastante interesantes -en ocasiones complejas- relacionadas con esta tecnología lo cual causó una charla muy edificante para todos.  No cabe duda que el MVC Framework es una tecnología que -aunque sea preview del preview (no es ni CTP aun)- no hay que perderla de vista.

Después de esto, apegándome a mi agenda, estuve hasta el final del día en el área de Hands-On Labs la cual estuvo bastante llena a pesar de ser las últimas horas del evento.  Y de hecho no me sorprende ya que tuvimos la oportunidad de ofrecer a todos los asistentes una gran variedad de laboratorios extremadamente interesantes acerca de las últimas tecnologías Microsoft.

Finalmente, dadas las 6:00pm el TechEd Developers 2008 USA había terminado.  En el equipo, recibimos las últimas noticias y comentarios acerca del performance del evento y al parecer fue todo un éxito especialmente el área en el que estuvimos colaborando.

Hora de descansar los pies.

Posted: Jun 09 2008, 04:32 PM by rodrigo | with no comments
Filed under:
TechEd Developers 2008 - Crónica II

El día jueves mi buen amigo Chris Sutton hizo su segunda aparición en el escenario al presentar a una gran cantidad de asistentes su tema relacionado también con el ASP.NET MVC Framework.

Asimismo tuvimos la fiesta general para todos los asistentes la cual se llevó a cabo en Universal Studios lo que me hizo recordar que la visita que hicimos mi buen amigo Misa y yo a esos estudios pero en Los Angeles, Ca. el año pasado.

El único detalle que no me gustó mucho es que fue muy poco tiempo -por cuestiones de seguridad muy probablemente-, y sumándole a la mala coordinación en los autobuses para llevarnos del hotel a los estudios...  pero eso no fue motivo para no pasar un excelente rato en las atracciones y cóooomo no: comerse una buena piernota de pavo tipo Los Picapiedra y una Heineken (no Budweiser please).

Una de las grandes atracciones de este parque de diversiones es sin duda alguna The Simpsons, el cual me dejó realmente satisfecho ya que está bastante divertido.  Me recordó mucho al ride de Back To The Future de Universal Studios en L.A. debido a que es el mismo concepto, pero a mi singular punto de vista el de los Simpsons es superior.  Eso sí: Si llegan a ir... eviten a toda costa el ride de Men In Black a menos que lleven a niños menores de 8 años; de lo contrario les parecerá muy aburrido.

Finalmente, todos de regreso al hotel a las 11:00 pm ya que algunos (léase: YO) tenemos que trabajar el día viernes.  Será mi segunda aparición en el escenario pero esta vez será mucho más temprano.

Salu2!

Posted: Jun 09 2008, 03:23 PM by rodrigo | with no comments
Filed under: ,
TechEd Developers 2008 - Crónica I

El día de hoy fue mi presentación en el TechEd Developers 2008 :)  Estoy muy contento por los resultados.

Salu2!

Posted: Jun 04 2008, 06:48 PM by rodrigo | with 16 comment(s) |
Filed under:
TechEd Developers 2008 - Inauguración

El día de hoy se inauguró por la mañana oficialmente el TechEd 2008 por medio del keynote de Bill Gates.  Definitivamente como lo mencioné en los posts anteriores este será un evento de muchas noticias y la de hoy y yo creo que la más importante y emotiva es que este keynote fue el último evento público del señor Gates como Chairman de su empresa Microsoft. No cabe duda entonces que este día es histórico en todos los sentidos para los que trabajan directa o indirectamente con esta compañía.

En la recta final de su keynote, el señor Gates junto con Somasegar ofrecieron 20 minutos de preguntas y respuestas lo cual me pareció un detalle bastante interesante; pudimos escuchar algunas preguntas buenas otras no tanto pero lo peor de todo -para mí- es que la sesión acabó justo con la persona que estaba parada enfrente de mí. 

 

Te salvaste Bill Gates! Mi lista de posibles preguntas eran:

  • Por qué Windows Vista apesta corre TAN lento?
  • Quisiera invertir en DevWorx ?
  • Cuántos puntos hace en batería en la canción  Tom Sawyer de Rush en el Rock Band en Expert level?
  • ...y la más importante :) cual es el futuro de la tecnología WinFS?

En fin, ya será en otra ocasión ;)

Por otro lado hoy comenzaron los Instructor-Led Labs en donde mis buenos amigos y compañeros Chris y Andy partieron plaza, exponiendo sus respectivos temas en la sala que tenemos asignada.

En otras noticias, pues me encontré al mismísimo Haarón ya disfrazado de Staff de SharePoint y parece ser que precisamente en ese stand habrá mucho de qué hablar en esta semana ;).  Por otro lado, al final del día pude asistir a una de las pláticas de Scott Hanselman precisamente de MVC en donde pudimos ver algunas cosas bastante interesantes y sofisticadas del nuevo Preview que se acaba de distribuir.

En fin, mañana será otro día de muchas actividades y sobre todo para mí ya que mañana presento mi laboratorio!

Salu2!

TechEd Developers 2008 - Preparación

El día de hoy fue dedicado a difundir la estrategia con la que se llevará a cabo el evento; hacer networking con todos los trainers que estamos presentes, además hoy todavía se estuvieron montando los mostradores y mobiliario necesario para llevar a cabo la expo.  Asimismo hoy tuvimos los Technical Learning Guides la oportunidad de probar y jugar de antemano con las máquinas virtuales y los escenarios finales para todos los laboratorios que se ejecutarán durante la semana.

Con agrado encuentro que en esta edición todos los equipos de cómputo tienen una configuración bastante buena para llevar a cabo los laboratorios y hasta donde pude ver y probar corren muy bien así que eso es una preocupación menos para todos los que estamos involucrados en el evento.  Asimismo el software que se encarga de manejar los hands-on labs en cada máquina se ve intuitivo y con muchas características muy productivas para los asistentes.

 

En fin, ya mañana arranca oficialmente uno de los eventos más esperados por todo.  Será una semana muy interesante, de mucho aprendizaje, mucho trabajo, mucho estrés pero sin duda alguna: de muchas satisfacciones para todos y cada uno de los que estamos en él.

 

Salu2!

Posted: Jun 01 2008, 08:56 PM by rodrigo | with no comments
Filed under:
TechEd Developers 2008 - Prólogo

"Geek es un término para indicar a la persona que presenta una gran fascinación por la tecnología, informática y temas relacionados" - Wikipedia

El evento tecnológico por excelencia en donde se encuentran nos encontramos cara a cara esta clase de personas que gustan gustamos de usar la plataforma Microsoft es, sin lugar a duda, el TechEd.  En este año la sede es en la calurosa ciudad de Orlando, Florida y personalmente creo que esta edición será bastante especial por dos cosas:  la primera porque es la primera vez en la edición de TechEd USA en la que se darán los tracks de Developers y ITPro de manera separada (cada una tendrá su propia semana) basándose en el formato de los TechEd EMEA tal y como lo comenté hace algunos meses.  La segunda es porque tenemos en estos momentos grandes y prometedoras herramientas nuevas y algunas otras que continúan en fase beta pero que seguramente (espero) habrá muchos y muy buenos anuncios de ellas a lo largo de toda la semana.

Por otro lado, tengo el orgullo de haber sido invitado para participar como Technical Learning Guide para este evento en el área de Hands-On Labs, y lo más importante es que tengo el honor de participar por primera vez como ponente de un tema, ya que llevaré a cabo la siguiente sesión de laboratorio "Instructor-Led":

WUX19-ILL Building an Application with ASP.NET MVC

In this lab, build a sample application using the ASP.NET MVC framework. See how controllers, views, and your own data models interact to create a maintainable Web application with clean URLs and loose coupling.

El catálogo completo de sesiones del TechEd 2008 lo pueden checar aquí.

En futuros artículos extenderé el tema de ASP.NET MVC Framework porque además de ser muy interesante, es una manera muy diferente de diseñar y desarrollar nuestras aplicaciones Web.

Si están en la ciudad para el evento y si gustan de una buena charla o solo para saludar, no duden en buscarme: me dará un enorme gusto encontrar banda hispanoparlante por aquí.  De hecho, el buen Haarón González anda en estos lares también así que el geekismo está a todo lo que da ;)

Por último quiero comentar que Keiko no estaba muerto(a?), sino andaba de parranda (o se les fue por el caño durante la filmación de sus infames películas).  Aquí está la prueba contundente:

Salu2!

Posted: Jun 01 2008, 12:45 AM by rodrigo | with 4 comment(s)
Filed under: ,
PodWorx: 3ra Emisión

Ya está disponible la tercera emisión del PodWorx, en donde platicamos muy a gusto la verdad  con el mismísimo Mario Contreras a.k.a. Nazul acerca de SQL Server 2008 y un poquitito de LINQ.  Yo definitivamente me escucho como si estuviera encerrado en el baño (y no,... no lo estaba.  Lo juro :), eso me pasa por estar podcasteando con el micrófono del Rock Band :/).  El PodWorx lo pueden descargar aquí.  También pueden subscribirse al feed del propio PodWorx para recibir las últimas actualizaciones.

Salu2!

Posted: May 26 2008, 10:51 AM by rodrigo | with 1 comment(s)
Filed under:
Microsoft Source Analysis para Visual C# .NET

El día de hoy ha sido liberado Microsoft Source Analysis para C#, la cual es una herramienta que nos sirve para reforzar mejores prácticas en "layout, readability and documentation" según se menciona en la liga aquí expuesta.

La descarga no es muy pesada y la instalación es transparente.  Por mi parte, la instalación en Visual Studio .NET 2008 fue muy rápida y sin contratiempos.  Como se muestra en la siguiente imagen esta herramienta se auto-monta en el IDE de VS, brindándonos la oportunidad de analizar el código de nuestros proyectos:

Al probarlo en un proyecto sencillo de tipo consola, en donde creé un archivo .dbml de LINQ que incluye las entidades Orders y Customers de la base de datos Northwind y posteriormente analizando el código con esta herramienta el resultado fue el siguiente:

Ooops! Muchas advertencias en código creado automáticamente.  Será cierto que reealmente la usan internamente en Microsoft? :)

No obstante a que no es 100% infalible, es cierto que esta herramienta nos puede ayudar a descubrir y potencialmente corregir errores de layout en nuestro código, convenciones de nombres para métodos y variables, uso adecuado de tipos, etc.  Vale la pena echarle un vistazo.

Salu2!

Posted: May 23 2008, 04:09 PM by rodrigo | with no comments
Filed under:
La adopción de SharePoint

Con respecto al interesante post que mi buen amigo Luis Du Solier publicó en su web log debo decir que estoy totalmente de acuerdo en sus comentarios relacionados a estar preparados técnicamente y que SharePoint es y será una gran oportunidad de negocio en lo que a TI y desarrollo se refiere.  Por otro lado considero que las cifras y datos a los que se refieren los artículos que nos compartió Luis definen una tendencia que de alguna manera ya ha sido dada a conocer desde hace tiempo:  SharePoint es una plataforma que está multiplicándose en su uso y son cada vez más las empresas que desean implementarlo. Creo que han sido pocas las plataformas que han tenido tanto impulso como lo ha tenido SharePoint.  Para complementar los comentarios de Luis, me gustaría decir que deberían ocurrir las siguientes cuestiones:

  1. Microsoft debe seguir impulsando esta magnífica tecnología y por lo tanto, la próxima versión de esta plataforma deberá ser mucho más robusta; brindándole más herramientas a nosotros desarrolladores y arquitectos para que podamos crear soluciones confiables basadas en ella. 
  2. Debería abrirse el código fuente para depuración tal y como sucedió con el .NET Framework hace algunos meses (ver punto número 1)
  3. Una mejor total integración con la nueva tecnología que nos invade hoy en día: ASP.NET MVC, LINQ, Silverlight, ASP.NET Data Services, etc.
  4. Mejorar la experiencia del usuario en el navegador para complementar el hecho de una verdadera transformación en el modo en el que trabajamos.  IE8 deberá corregir todas las deficiencias que tiene la actual versión 7.
  5. Sharepoint deberá soportar totalmente otros navegadores

SharePoint es una gran tecnología, de eso no me cabe la menor duda.  Sin embargo tiene diversas áreas de oportunidad las cuales estoy seguro serán sanadas a corto-mediano plazo.  No obstante, estoy totalmente convencido que aquellas empresas que estén implementando hoy en día SharePoint están en terreno firme: terreno de una plataforma para crear aplicaciones y portales colaborativos sofisticados de una manera sencilla.

Salu2!

PodWorx : 2da emisión

Ya está disponible la segunda emisión de PodWorx: el PodCast de DevWorx en donde se trataron temas como los Lenguajes funcionales, el MVP Summit y algunas otras monadas del mundo de .NET.  Esperamos que lo disfruten.

 

Salu2!

Too much Rock

Esto me pasa por tocar como Neil Peart :/

Posted: May 05 2008, 09:44 AM by rodrigo | with 5 comment(s)
Filed under:
Transportando datos de archivos de texto plano a tablas de SQL Server con BizTalk Server 2006 paso a paso. Parte 2 de 2.

Resumen

En la primer parte vimos cómo crear los esquemas necesarios para leer los archivos de texto plano de nuestra tienda.  Vimos también cómo configurar un pipeline de recepción que incluya los esquemas creados para poder desensamblar los archivo correctamente.  En este artículo continuaremos con el escenario y juntaremos todas las piezas del rompecabezas.

Creación de la Orquestación

El siguiente paso es crear la orquestación dentro de nuestro proyecto.  Para realizar esto hagamos clic derecho sobre nuestro proyecto y seleccionemos Add New Item.  A la orquestación le asignaremos el nombre Tienda_Orchestration.odx tal y como lo muestra la siguiente figura:

Ahora necesitamos un puerto de recepción por medio del cuál podamos obtener los archivos de texto plano.  Agreguemos el puerto a la orquestación haciendo clic derecho sobre el area denominada Port Surface y seleccionemos la opción Configured Port.  El nombre del puerto será Tienda_Recepcion:

En la siguiente ventana seleccionemos la opción de crear un nuevo tipo de puerto definiendo el nombre Tienda_Recepcion_Tipo y su tipo de comunicación como One-Way:

En la siguiente ventana seleccionemos la dirección de comunicación de tipo recepción y el port binding a Specify later.  Una vez hecho esto hagamos clic en siguiente y luego finalizar.

El paso anterior creará el puerto de recepción en la orquestación.  A la operación llamada Request del puerto debemos definir cuál será el tipo de mensaje que recibirá.  Seleccionemos Tienda_Album en la propiedad Message Type usando la ventana de propiedades

Agreguemos una actividad de tipo Receive a la orquestación y asignemos su propiedad Activate igual a True.  Su tipo de mensaje será Tienda_Input_Album (consultar la sección "Anexos" en este artículo para más información acerca de los mensajes y variables que deben ser creados) y su operación relacionada será Tienda_Recepcion.Operation_1.Request

Agreguemos una actividad de tipo Construct Message justo debajo de la actividad Receive recién incorporada.  En su propiedad Messages Constructed seleccionemos Tienda_Input_Artista ya que es el tipo de mensaje que deseamos construir.  Además le agregaremos una sub-actividad de tipo Message Assignment para poder construir el mensaje. 

Usando la ventana de propiedades modifiquemos Expression para que tenga el siguiente código:

headerDocString = Tienda_Input_Album(XMLNORM.FlatFileHeaderDocument);
headerDocXml = new System.Xml.XmlDocument();
headerDocXml.LoadXml(headerDocString);
Tienda_Input_Artista = headerDocXml;

El anterior código obtiene el artista del archivo recibido (gracias a que ese esquema está definido como header en el pipeline de recepción) y lo guarda en una variable de tipo XmlDocument.  Posteriomente, esta variable es usada para inicializar el mensaje de tipo Tienda_Input_Artista.

Bien, ahora necesitamos agregar un puerto de tipo Send usando la ventana de BizTalk Explorer con las siguientes consideraciones:

  • El tipo de puerto será Static-One-Way
  • Nombre: Tienda_Router_Sql
  • El tipo de transporte será SQL
  • La cadena de conexión deberá configurarse para conectarse a la base de datos Tienda usando el usuario biztalkuser definido en la parte 1 de este artículo.
  • Document Target Namespace: http://tienda.router/sqloutput
  • Response Document Root Element: alb
  • Send Pipeline: PassThruTransmit

Una vez agregado el puerto de tipo Send, hagamos clic derecho sobre la carpeta SPSchema y seleccionemos Add-Add Generated Items... e indiquemos la plantilla Add Adapter Metadata en la caja de diálogo.

Seleccionemos el puerto Tienda_Router_Sql en la siguiente ventana y hagamos clic en el botón Next.

En el siguiente paso del asistente llamado Database Information hagamos clic en el botón Next.  En el siguiente paso definamos los siguientes valores y despúes hagamos clic en el botón Next.

  • Target namespace:  http://tienda.router/sqloutput (el mismo que cuando creamos el puerto de tipo Send)
  • Port type: Send port
  • Request document root element name: alb_request
  • Response document root element name: alb_response

En el siguiente paso seleccionemos la opción Stored Procedure y hagamos clic en el botón Next.  En el siguiente paso seleccionemos InsertaArtista y en seguida hagamos clic en Finish.  Repitamos estos mismos pasos para el procedimiento almacenado InsertaAlbum.

Creación de los mapas de transformación

Hagamos clic derecho en la carpeta Map y seleccionemos la opción Add->New Item... y seleccionemos la plantilla Map de la caja de diálogo.  El nombre del mapa será Tienda_Artista.btm.

Seleccionemos el data source del esquema origen a Tienda_Artista:

Seleccionemos el data source del esquema destino a SqlService_sqloutput.  A continuación, seleccionemos alb_request como root node.  Realicemos el mapeo necesario tal y como lo muestra la siguiente figura:

Agreguemos una nueva actividad de tipo Construct Message a la orquestación y dentro de ella una actividad de tipo Transform.  Hagamos doble clic sobre Transform_1 y configuremos de la siguiente manera la transformación:

  • Existing Map
  • Fully Qualified Map Name: Tienda.Map.Tienda_Artista
  • Source: Tienda_Input_Artista
  • Destination: Tienda_Output_Artista

Agreguemos una actividad de tipo Send a la orquestación y le asignamos su propiedad Message a Tienda_Output_Artista.

Agregar un nuevo puerto de envío a la orquestación haciendo clic derecho sobre el Port Surface del diseñador con los siguientes parámetros:

  • Name: [Empresa]_Envio_Header
  • Tipo: [Empresa]_Envio_Header_Tipo
  • Comunicación: One-Way
  • Dirección: Send
  • Binding: Especificar después

Configurar su operación llamada Request con la propiedad Message Type como Tienda.SQLService_sqloutput.alb_request.  Una vez hecho esto, conectamos el shape Send_1 al nuevo puerto tal y como lo muestra la siguiente figura:

Repitamos los pasos anteriores para el mensaje Tienda_Output_Album.

Podemos usar una actividad de tipo Parallel para que el envío del artista junto con sus albumes relacionados sea al mismo tiempo en vez de secuencial.

Deployment

Como último paso debemos hacer Deploy de nuestro proyecto haciendo clic en la opción Deploy del menú Build de Visual Studio .NET.

Una vez hecho el deployment debemos configurar los puertos de recepción y envío usando la herramienta BizTalk Server 2006 Administration Console haciendo clic derecho sobre la orquestación en la lista de aplicaciones.

  • El pipeline del puerto de recepción debe ser de tipo Tienda_ReceivePipeline
  • El puerto de recepción debe tener relacionado un folder que tenga el suficiente nivel de permisos de acceso para poder leer los archivos (en este demo se agregó Everyone Full Control a un folder llamado C:\Archivos)
  • El filtro para el puerto de recepción debe ser *.txt
  • Configurar adecuadamente el polling interval. En esta demo se configuró a 15 segundos (15000 ms)
  • El puerto de envío debe ser de tipo SQL y su pipeline de tipo PassThruTransmit
  • El puerto de envío debe tener configurada la cadena de conexión correcta para poder ejecutar los stored procedures relacionados

Lo último que resta es iniciar la orquestación haciendo clic sobre ella y seleccionar la opción Start del menú contextual.  Para probar, copiemos un archivo de texto a la carpeta en donde se configuró el puerto de recepción y listo!  Nuestras tablas son actualizadas correctamente en SQL Server.

Anexos

Mensajes

Nombre del mensaje Tipo Observaciones
Tienda_Input_Artista Tienda.FFSchema.Tienda_Artista

Creado por medio del Flat File Schema Wizard

Tienda_Input_Album Tienda.FFSchema.Tienda_Album

Creado por medio del Flat File Schema Wizard

Tienda_Output_Artista Tienda.SQLService_sqloutput.alb_request

Creado por medio de la opción Add Adapter Metadata (cambiar el nombre apropiadamente por medio de la ventana de propiedades si es que ya existe un archivo con el mismo nombre)

Tienda_Output_Album Tienda.SQLService_sqloutput_1.alb_request

Creado por medio de la opción Add Adapter Metadata (cambiar el nombre apropiadamente por medio de la ventana de propiedades si es que ya existe un archivo con el mismo nombre)

Variables

Nombre de la variable Tipo
headerDocString String
headerDocXml System.Xml.XmlDocument

Conclusión

BizTalk Server 2006 es una poderosa herramienta para la integración entre aplicaciones incluso de diferentes plataformas.  En este artículo dividido en dos partes vimos cómo enviar los datos de archivos de texto planos a tablas de SQL Server por medio de una orquestación de BizTalk Server 2006.

Posted: Feb 28 2008, 04:30 AM by rodrigo | with no comments
Filed under:
PodWorx 01 - Presentación, noticias y demás

 

Ya está disponible la primer emisión de PodWorx, el podcast de DevWorx conducido por Mike, Misa y su servidor y en el cual platicamos de diferentes noticias y temas con perfil técnico, condimentado con un poco de humor y una pizca de sarcasmo.

En esta edición platicamos principalmente acerca de la Clínica gratuita para el examen 70-536 y claro está, de otros temas también.  El resumen de esta emisión y otras emisiones lo podrán leer directamente del blog de PodWorx.

Lo pueden descargar de esta dirección.

 

 

Salu2!

Posted: Feb 14 2008, 11:39 AM by rodrigo | with 5 comment(s)
Filed under:
Gran respuesta

Y efectivamente!!!, acabo de bajar mis correos y me encuentro que el número de personas que amablemente han solicitado su inscripción a la clínica en línea asciende a ya casi 200!!!.  Muchas gracias por su interés;  en pocos días recibirán un correo confirmando su registro para que puedan entrar a la información privada de la clínica y sus materiales.  Les agradecemos a todos(as) la gran respuesta que han mostrado.  Por favor lean el post de Misael para más información acerca del proceso de registro.

Salu2!

Posted: Feb 13 2008, 12:46 PM by rodrigo | with no comments
Filed under:
More Posts Next page »