﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>.NET con tropezones</title>
    <description>Blog de David Carmona, Development Advisor en Microsoft Ibérica. Dedicado a .NET con algunos tropezones de lo que ocurra a su alrededor.</description>
    <link>http://www.gruposdeusuarios.net/Blogs/tabid/101/BlogId/4/Default.aspx</link>
    <language>es-ES</language>
    <webMaster>admin@209.200.119.110</webMaster>
    <pubDate>Wed, 07 Jan 2009 11:35:46 GMT</pubDate>
    <lastBuildDate>Wed, 07 Jan 2009 11:35:46 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>NewBlog RSS Generator Version 3.1.18.13028</generator>
    <item>
      <title>Request.Redirect(“blogs.msdn.com”) </title>
      <description>&lt;P&gt;Moviendo el blog a &lt;A href="http://blogs.msdn.com/tropezones"&gt;blogs.msdn.com/tropezones&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Nos vemos allí!&lt;/P&gt;</description>
      <link>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/216/Default.aspx</link>
      <author>davidcsa@microsoft.com</author>
      <comments>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/216/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.gruposdeusuarios.net/Default.aspx?tabid=101&amp;EntryID=216</guid>
      <pubDate>Sat, 24 Jun 2006 23:13:00 GMT</pubDate>
      <slash:comments>8</slash:comments>
      <trackback:ping>http://www.gruposdeusuarios.net/DesktopModules/NewBlog/Trackback.aspx?id=216</trackback:ping>
    </item>
    <item>
      <title>Primer vistazo a ATLAS</title>
      <description>Lo reconozco, tengo mis reservas con &lt;A href="http://beta.asp.net/default.aspx?tabindex=7&amp;tabid=47"&gt;ATLAS &lt;/A&gt;y es que en general ya me parece demasiado poco productivo desarrollar en web como para complicarlo más haciendo aplicaciones ricas en el browser. Sinceramente no utilizaría programación asíncrona en todo el desarrollo de una aplicación empresarial por la complejidad que eso supone. Sí es cierto que para determinadas partes de la aplicación resulta muy interesante y facilita el trabajo al usuario del sistema, pero de ahí a hacer todo un mantenimiento de facturas (por ejemplo) en cliente y enviar los cambios al finalizar me parece que hay mucha diferencia.&lt;BR&gt;Centrándonos en ATLAS, es un proyecto muy ambicioso. Proporciona todo un API Javascript que permite hacer cosas como controles ricos en cliente, enlace a datos, validaciones y comportamientos. Especialmente me ha gustado mucho cómo podemos enlazar nuestra parte servidora de ASP.NET con el cliente. Tenemos posibilidad de llamar a un servicio web (cuidado, no con SOAP sino con una serialización javascript), acceder a métodos de una página, llamar a objetos de .NET, serializar parámetros y clases. En fin, una auténtica maravilla para enlazar el comportamiento de nuestra aplicación en cliente con la lógica en servidor. Más información en la nueva web de &lt;A href="http://beta.asp.net/default.aspx?tabindex=7&amp;tabid=47"&gt;ATLAS&lt;/A&gt;.&lt;BR&gt;</description>
      <link>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/15/Default.aspx</link>
      <author>davidcsa@microsoft.com</author>
      <comments>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/15/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.gruposdeusuarios.net/Default.aspx?tabid=101&amp;EntryID=15</guid>
      <pubDate>Thu, 15 Sep 2005 19:32:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.gruposdeusuarios.net/DesktopModules/NewBlog/Trackback.aspx?id=15</trackback:ping>
    </item>
    <item>
      <title>Sí, sí, sí, windows workflow ya está aquí!</title>
      <description>&lt;P&gt;Otro gran anuncio en el PDC. Dentro de WinFX se incluirá un engine genérico de workflow llamado &lt;A href="http://msdn.microsoft.com/windowsvista/building/workflow/"&gt;Windows Workflow Foundation&lt;/A&gt;. Además de convertirse en el workflow core de todos los productos de Microsoft (Biztalk, Sharepoint, Office) podrá ser utilizado para implementar workflows personalizables dentro de nuestras aplicaciones. Esto tiene unas consecuencias muy importantes, porque muchas veces nuestra aplicación necesita "parametrizar" la lógica de negocio y hasta ahora teníamos 3 opciones:&lt;BR&gt;* Utilizar Biztalk. Aunque es la solución usada en muchas ocasiones no es su escenario más indicado. Biztalk trata de integración y orquestación de procesos, no de una lógica de negocio interna a una sola aplicación.&lt;BR&gt;* Implementarlo nosotros. Ufff, lo he visto muchas veces y es algo muy complicado si queremos hacerlo bien. No sólo tenemos que guardar la definición del proceso en la base de datos o en un XML, también necesitamos un editor gráfico que permita modelizar ese proceso y un engine potente que permita ejecutar de forma eficiente el workflow.&lt;BR&gt;* No hacer nada. Muchas veces era lo recomendable. Si nuestro proceso cambia poco podemos permitirnos modificar la lógica de la aplicación directamente en el código y recompilarla.&lt;/P&gt;
&lt;P&gt;Workflow Foundation nos da otra opción más mucho más aconsejable. Se trata de un engine que podemos llamar directamente desde nuestra aplicación (in-process) y que es capaz de ejecutar un workflow definido en un fichero XML. El worflow está definido por actividades que no son más que clases .NET que contienen la lógica a ejecutar. Por defecto tenemos multitud de actividades (envío de email, transacciones, acceso a datos, llamadas a servicios web...). El workflow permite añadir control de flujo (if...else, bucles, paralelismo, etc.) y puede mantener el estado en una base de datos. Por supuesto tenemos un diseñador que está dentro de Visual Studio y con el que podemos definir y modificar workflows de forma visual. Tiene detalles muy buenos, como el poder definir reglas que se puedan modificar externamente sin cambiar el workflow, la depuración directa desde Visual Studio, trazas, posibilidad de incrustar el diseñador en otra aplicación y un montón de cosas más que puedes consultar &lt;A href="http://msdn.microsoft.com/windowsvista/building/workflow/"&gt;aquí&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt; &lt;/P&gt;</description>
      <link>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/14/Default.aspx</link>
      <author>davidcsa@microsoft.com</author>
      <comments>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/14/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.gruposdeusuarios.net/Default.aspx?tabid=101&amp;EntryID=14</guid>
      <pubDate>Thu, 15 Sep 2005 19:09:00 GMT</pubDate>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.gruposdeusuarios.net/DesktopModules/NewBlog/Trackback.aspx?id=14</trackback:ping>
    </item>
    <item>
      <title>from e in empleados where e.Empresa == "Microsoft" orderby e.Nombre select e.Apellidos.ToUpper()</title>
      <description>&lt;P&gt;¿Reconocéis la sintaxis del título de este post? Es C# 3.0 y ha sido anunciado hoy en el PDC. No tengo palabras y tampoco sé por dónde empezar así que haré un pequeño resumen.&lt;BR&gt;C# 3.0 y VB 9.0 son las siguientes versiones de los lenguajes que vendrán en Orcas, la versión posterior de Visual Studio después de Visual Studio 2005. El objetivo principal es enlazar completamente el tratamiento de los datos en los propios lenguajes de .NET. &lt;BR&gt;Hasta ahora el trabajo de los desarrolladores era básicamente hacer de fontanero. Por un lado desarrollábamos la lógica de los datos en nuestra base de datos (filtros SQL, inserciones, actualizaciones, paginación, etc.) y por otro teníamos que transformar este mundo de datos en estructuras de nuestra aplicación (datasets, clases, listas, etc.). Los principios de estos dos mundos son completamente distintos, con ventajas y desventajas en cada uno. Por ejemplo, una clase es perfecta para navegar por sus relaciones. Si tenemos una clase Empleado con una propiedad Empresa, sólo hacemos Empleado.Empresa. Para hacer eso mismo con dos tablas de SQL necesitamos un INNER JOIN y muchas asunciones sobre los datos. Sin embargo hacer un filtro y una ordenación sobre los datos de una tabla es muy sencillo (SELECT * FROM ... WHERE ... ORDERBY ...) y muy complicado si queremos hacerlo sobre un conjunto de instancias de clases en memoria.&lt;BR&gt;Bien, pues toda la gracia de LINQ es equiparar los dos mundos. Básicamente son unas extensiones a los lenguajes que permiten realizar operaciones sobre colecciones de clases como si fueran datos. Por ejemplo, podemos hacer un select sobre un array de empleados para recuperar los que trabajan para una cierta empresa ordenados por orden de antiguedad. No entraré en detalles de qué permite hacer, pero es potentísimo. Podemos recuperar datos anidados, agrupar, realizar funciones de agregación, ordenaciones... También podemos recuperar sólo una parte de la clase, por ejemplo un par de propiedades, generándose en tiempo de ejecución una nueva clase con sólo las propiedades en las que estamos interesados (aka clases anónimas).&lt;BR&gt;El siguiente paso de LINQ es su aplicación al acceso a datos. Las clases sobre las que realizamos estas operaciones pueden estar mapeadas a una base de datos. En ese caso las operaciones ya no se realizan en memoria, sino que se transforman en sentencias SQL que se ejecutan en nuestro motor relacional. Esto quiere decir que, con la misma sintaxis, podemos obtener los empleados que trabajen para una cierta empresa dentro de una colección de objetos o provenientes de una tabla de nuestra base de datos. Im-presionante.&lt;BR&gt;Para añadirle más posibilidades, también entra XML, que se convierte en una fuente más de datos sobre la que podemos aplicar la misma sintaxis. Y todo ello dentro del mismo lenguaje, fuertemente tipado y con verificación de sintaxis al compilar. Después de esto me pregunto si T-SQL y XPath serán en el futuro como el código ensamblador, o sea que sólo conozcan los desarrolladores de video juegos :-)&lt;/P&gt;
&lt;P&gt;Más información en el nuevo site de &lt;A href="http://msdn.microsoft.com/netframework/future/linq/"&gt;LINQ en MSDN&lt;/A&gt;.&lt;BR&gt;&lt;/P&gt;</description>
      <link>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/11/Default.aspx</link>
      <author>davidcsa@microsoft.com</author>
      <comments>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/11/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.gruposdeusuarios.net/Default.aspx?tabid=101&amp;EntryID=11</guid>
      <pubDate>Wed, 14 Sep 2005 17:50:00 GMT</pubDate>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.gruposdeusuarios.net/DesktopModules/NewBlog/Trackback.aspx?id=11</trackback:ping>
    </item>
    <item>
      <title>Primera keynote del PDC</title>
      <description>Podría hablar de la bienvenida de Bill Gates o la charla de Jim Alchin, pero sinceramente me dejó más impresionado la última parte donde los 4 grandes maestros de Microsoft subieron al escenario para hacer lo que más me gusta: escribir código.&lt;BR&gt;Los 4 maestros fueron &lt;A href="http://www.pluralsight.com/blogs/dbox/default.aspx"&gt;Don Box&lt;/A&gt;, Anders Heijlsber, &lt;A href="http://www.simplegeek.com/"&gt;Chris Anderson&lt;/A&gt; y &lt;A href="http://weblogs.asp.net/scottgu/"&gt;Scott Guthrie&lt;/A&gt;. Me pregunto qué hubiera pasado con Microsoft si se hubiera caido el escenario y los 4 necesitaran un mes de baja, teniendo en cuenta que son las cabezas pensantes de los productos más críticos de la compañía en estos momentos.&lt;BR&gt;Como siempre Don Box hizo de anfitrión sirviendo de hilo de toda la sesión, y entre todos escribieron una aplicación desde cero que utilizaba un refrito todas las próximas tecnologías: &lt;A href="http://msdn.microsoft.com/netframework/future/linq/"&gt;LINQ&lt;/A&gt;, Windows Communication Foundation (Indigo), Windows Presentation Foundation (Avalon) y &lt;A href="http://beta.asp.net/default.aspx?tabindex=7&amp;tabid=47"&gt;ATLAS&lt;/A&gt;. Indigo y Avalon son ya grandes conocidos. ATLAS es un nuevo framework que incluirá ASP.NET para construir aplicaciones AJAX, o lo que es lo mismo, aplicaciones DHTML que utilizan peticiones asíncronas al servidor por XML para refrescar dinámicamente el interfaz de usuario (el mejor ejemplo: OWA). Por ser lo más nuevo y lo más impactante dejo LINQ para un post posterior. Agarráos porque tiene miga...&lt;BR&gt;</description>
      <link>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/10/Default.aspx</link>
      <author>davidcsa@microsoft.com</author>
      <comments>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/10/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.gruposdeusuarios.net/Default.aspx?tabid=101&amp;EntryID=10</guid>
      <pubDate>Wed, 14 Sep 2005 17:45:00 GMT</pubDate>
      <slash:comments>5</slash:comments>
      <trackback:ping>http://www.gruposdeusuarios.net/DesktopModules/NewBlog/Trackback.aspx?id=10</trackback:ping>
    </item>
    <item>
      <title>Primer día en el PDC y mi primer susto</title>
      <description>&lt;P&gt;Sí, lo reconozco, soy un poco asustadizo. Después del mal rato de tener que hacer un Londres - Los Angeles el día 11 de septiembre hoy me he levantado en el hotel a las 7 de la mañana (cosas del jetlag) y me he puesto a leer el diario. Acaba de salir un comunicado amezando a Los Angeles y a Melbourne de atentados... bien, me encanta, siempre en el sitio adecuado...&lt;/P&gt;
&lt;P&gt;Todavía dándole vueltas a eso estábamos comiendo en un restaurante al lado del centro de convenciones y han empezado a sonar los bomberos, la polícia, helicópteros... Al pedir la cuenta nos dijeron lo que estaba pasando: se había ido la luz en todo Los Angeles. Cuando salimos empezamos a darnos cuenta de que la cosa era seria. Hablamos con unos obreros que parecían de la compañía de electricidad y nos dijeron en un perfecto spanglish "yo no sé nothing". Sólo sabían que se había ido la luz en toda la ciudad y que nunca les había pasado. Evidentemente las conferencias se habían suspendido y empezábamos a pensar en cómo íbamos a volver al hotel con el atasco que se avecinaba sin semáforos.&lt;/P&gt;
&lt;P&gt;Por supuesto hemos empezado a pensar en lo peor, si era provocado, qué pasaría si no volviera la luz por la noche... menos mal que la realidad es siempre más sencilla y la luz volvió a los 45 minutos. Todo ha sido un sustillo.&lt;/P&gt;
&lt;P&gt;La siguiente pregunta después del apagón fue ¿cuánto tardará la noticia en salir en los medios de comunicación? Al conectarnos a Internet ya tuvimos la respuesta, el primer comunicado de prensa estaba en castellano en &lt;A href="http://www.estrelladigital.es/articulo.asp?sec=mun&amp;fech=13/09/2005&amp;name=apagon"&gt;estrelladigital.es&lt;/A&gt; 15 minutos después del apagón, cuando todavía ni siquiera había luz. Esto es globalización, sí señor.&lt;/P&gt;
&lt;P&gt;Prometo que el próximo post será algo de tecnología :-)&lt;/P&gt;</description>
      <link>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/8/Default.aspx</link>
      <author>davidcsa@microsoft.com</author>
      <comments>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/8/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.gruposdeusuarios.net/Default.aspx?tabid=101&amp;EntryID=8</guid>
      <pubDate>Mon, 12 Sep 2005 23:20:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.gruposdeusuarios.net/DesktopModules/NewBlog/Trackback.aspx?id=8</trackback:ping>
    </item>
    <item>
      <title>Console.WriteLine("Hola mundo")</title>
      <description>&lt;P&gt;Bueno, bueno, bueno... Dije que nunca iba a tener teléfono móvil, que no me gustaban las tarjetas de crédito y que siempre desarrollaría en C++. Una tras otra me  he ido comiendo todas las cosas que decía, pero hasta hoy tenía una pendiente: No tengo tiempo para escribir en un blog...&lt;/P&gt;
&lt;P&gt;Al final no me he podido resistir y aquí estoy. Mi nombre es David Carmona y trabajo en Microsoft Ibérica, dentro de la división de Desarrollo y Plataforma. Tengo como propósito escribir asíduamente en este blog y que no se convierta en uno de tantos cadáveres de blogs que circulan por la red. La buena noticia es que material no me faltará, de momento este domingo salgo para Los Ángeles al PDC 2005. No se me ocurre ninguna forma mejor para empezar el blog que hablar de lo que se cuente allí, os aseguro que será mucho, muy bueno y sobre todo muuuuy sorprendente.&lt;/P&gt;
&lt;P&gt;El primer tropezón de mi blog es una inquietud que me pone los pelos de punta. Mi vuelo hace escala en Londres, lo que significa que volaré desde Londres hasta Los Ángeles un 11 de septiembre. La buena noticia es que iré solo en el avión, la mala es que me llevaré los calzoncillos limpios porque seguro que me desnudan antes de subir :-)&lt;/P&gt;</description>
      <link>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/6/Default.aspx</link>
      <author>davidcsa@microsoft.com</author>
      <comments>http://www.gruposdeusuarios.net/Blogs/tabid/101/EntryID/6/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.gruposdeusuarios.net/Default.aspx?tabid=101&amp;EntryID=6</guid>
      <pubDate>Fri, 09 Sep 2005 19:17:00 GMT</pubDate>
      <slash:comments>5</slash:comments>
      <trackback:ping>http://www.gruposdeusuarios.net/DesktopModules/NewBlog/Trackback.aspx?id=6</trackback:ping>
    </item>
  </channel>
</rss>