<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://paulosay.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fpaulosay.spaces.live.com%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.Net Adventure Center</title><description>Adventures in .Net</description><link>http://paulosay.spaces.live.com/</link><language>en-US</language><pubDate>Wed, 20 Aug 2008 17:12:31 GMT</pubDate><lastBuildDate>Wed, 20 Aug 2008 17:12:31 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><live:identity><live:id>8991984999895876816</live:id><live:alias>paulosay</live:alias></live:identity><image><title>.Net Adventure Center</title><url>http://blufiles.storage.live.com/y1p6NMaFgQJEVwY1sgl6ZkNs6lvbyOfgStl_pwac3HK78IK3qOnX_ZqGOhrzPtsjJZE</url><link>http://paulosay.spaces.live.com/</link></image><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Design Maturity Model</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1075.entry</link><description>

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;La noción de aplicar diseño a los desarrollos de software cada día es más importante,  pero como todo, requiere un proceso de adaptación, capacitación y descubrimiento.&lt;/font&gt;&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;El &lt;a href="http://www.google.com/url?sa=t&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http://www.bplusd.org/uploads/designmaturitymodel.pdf&amp;amp;ei=3A2GSJjuG5zOePKooeoF&amp;amp;usg=AFQjCNF8TKQhGeitTWC4HKN-rn65N5qHFA&amp;amp;sig2=BWSuvF_DMZJphNLwvs_jFA" target="_blank"&gt;Design Maturity Model&lt;/a&gt; propuesto por &lt;a href="http://www.bplusd.org/about-jess-mcmullin/" target="_blank"&gt;Jess McMullin&lt;/a&gt; describe cinco niveles y sus respectivos comportamientos ante el diseño para poder guiarnos en el camino de una correcta incorporación del mismo en nuestros procesos de desarrollo y detectar en que estadio de madurez nos encontramos.&lt;br&gt;&lt;/font&gt;
&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-weight:bold"&gt;Nivel 1 – No somos conscientes del diseño&lt;/span&gt;&lt;br&gt;&lt;/font&gt;
&lt;ul style="font-family:Tahoma"&gt;
&lt;li&gt;&lt;font size=2&gt;El diseño no se reconoce como algo de valor&lt;/font&gt;
&lt;li&gt;&lt;font size=2&gt;Se  “diseña” sin ningún fundamento &lt;/font&gt;
&lt;li&gt;&lt;font size=2&gt;El diseño se deja de lado por cosas más “importantes”&lt;/font&gt;&lt;font size=2&gt; &lt;br&gt;&lt;/font&gt;
&lt;/ul&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-weight:bold"&gt;Nivel 2 – Style&lt;/span&gt;&lt;br&gt;&lt;/font&gt;
&lt;ul style="font-family:Tahoma"&gt;
&lt;li&gt;&lt;font size=2&gt;El diseño es añadido solamente para ser “cool” o para seguir alguna tendencia&lt;/font&gt;
&lt;li&gt;&lt;font size=2&gt;El diseño es algo que se agrega a último minuto para añadir funciones meramente estéticas&lt;/font&gt;&lt;font size=2&gt; &lt;br&gt;&lt;/font&gt;
&lt;/ul&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-weight:bold"&gt;Nivel 3 -  Forma y Función&lt;/span&gt;&lt;br&gt;&lt;/font&gt;
&lt;ul style="font-family:Tahoma"&gt;
&lt;li&gt;&lt;font size=2&gt;Se implementa el diseño para mejorar ciertas funcionalidades&lt;/font&gt;
&lt;li&gt;&lt;font size=2&gt;Se utiliza de forma limitada para agregar pequeños incrementos de funcionalidad en aplicaciones en desarrollo o existentes.&lt;/font&gt;&lt;font size=2&gt; &lt;br&gt;&lt;/font&gt;
&lt;/ul&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-weight:bold"&gt;Nivel 4 – Diseño como una forma de resolver problemas&lt;/span&gt;&lt;br&gt;&lt;/font&gt;
&lt;ul style="font-family:Tahoma"&gt;
&lt;li&gt;&lt;font size=2&gt;El diseño nos permite encontrar nuevas oportunidades para resolver problemas existentes&lt;/font&gt;
&lt;li&gt;&lt;font size=2&gt;El diseño nos permite acotar las opciones para atacar un problema específico&lt;br&gt;&lt;/font&gt;
&lt;/ul&gt;
&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-weight:bold"&gt;Nivel 5 – Totalmente orientados al diseño&lt;/span&gt;&lt;br&gt;&lt;/font&gt;
&lt;ul style="font-family:Tahoma"&gt;
&lt;li&gt;&lt;font size=2&gt;El diseño redefine los desafíos que enfrenta la organización&lt;/font&gt;
&lt;li&gt;&lt;font size=2&gt;El diseño establece el orden del día&lt;/font&gt;
&lt;li&gt;&lt;font size=2&gt;El diseño forma parte de toda estrategia&lt;/font&gt;
&lt;li&gt;&lt;font size=2&gt;La innovación está inmersa en la cultura&lt;/font&gt;&lt;br&gt;&lt;/ul&gt;
&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;Esta es mi interpretación del DMM,  espero les sirva para saber en cual nivel están parados en la actualidad y si no están aplicando el diseño los ayude a tomar conciencia.&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+Design+Maturity+Model&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=paulosay.spaces.live.com&amp;amp;GT1=paulosay"&gt;</description><category>UX</category><comments>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1075.entry#comment</comments><guid isPermaLink="true">http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1075.entry</guid><pubDate>Tue, 22 Jul 2008 16:57:48 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!1075/comments/feed.rss</wfw:commentRss><wfw:comment>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1075.entry#comment</wfw:comment><dcterms:modified>2008-07-22T16:58:12Z</dcterms:modified></item><item><title>Integrando YUI con ASP.NET MVC</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1070.entry</link><description>&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="" lang=ES&gt;Si han estado
trabajando o al menos le han dado una mirada al ASP.NET MVC framework, sabrán
que a diferencia del ASP.NET tradicional, no se encuentran disponibles al menos
de momento controles como por ejemplo el GridView, este vacío lo podemos llenar
con una gran cantidad de controles de terceros que fueron creados para trabajar
sobre alguna de las diversas librerías JavaScript que hay en este momento dando
vueltas, una de las mejores y más completas librerías a mi entender&lt;span style=""&gt; &lt;/span&gt;es &lt;a href="http://developer.yahoo.com/yui/"&gt;YUI  (The Yahoo! User Interface Library)&lt;/a&gt; , la misma viene repleta de
controles y una excelente documentación,&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;que hacen que su implementación
sea algo relativamente sencillo.&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="" lang=ES&gt;Para mostrar lo
fácil que es integrar YUI a nuestras soluciones ASP.NET MVC, &lt;span style=""&gt; &lt;/span&gt;vamos a crear una aplicación de ejemplo en el
que utilizaremos los controles DataSource y DataTable de YUI para consumir un
feed Json creado con el nuevo JsonResult.&lt;/span&gt;&lt;/font&gt;

&lt;p&gt;&lt;span style="" lang=ES&gt;&lt;font style="font-family:Tahoma" size=2&gt;Para comenzar
empezaremos con el código del Controller.&lt;/font&gt;&lt;/span&gt;
&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt;color:blue"&gt;public&lt;/span&gt;&lt;span style="font-size:10pt"&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;JsonResult&lt;/span&gt; GetPlayersList()&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;    &lt;/span&gt;{&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:rgb(43, 145, 175)"&gt;OranjeDataContext&lt;/span&gt;
ctx = &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;OranjeDataContext&lt;/span&gt;();&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;var&lt;/span&gt; data =
(&lt;span style="color:blue"&gt;from&lt;/span&gt; player &lt;span style="color:blue"&gt;in&lt;/span&gt;
ctx.Players&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:blue"&gt;select&lt;/span&gt;
player).ToList&amp;lt;&lt;span style="color:rgb(43, 145, 175)"&gt;Player&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;return&lt;/span&gt; &lt;span style="color:blue"&gt;this&lt;/span&gt;.Json(&lt;span style="color:blue"&gt;new&lt;/span&gt; {
players = data.ToArray() }, &lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;text/html&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt;line-height:115%"&gt;&lt;span style=""&gt;   
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;line-height:115%" lang=ES&gt;}&lt;/span&gt;&lt;/font&gt;&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="" lang=ES&gt;En el podrán observar
que estoy utilizando el nuevo JsonResult que es un nuevo tipo de ActionResult
que nos permite serializar la salida en formato Json, lo demás es solo una
query LinqToSql y un poco de formateo en la forma de exponer el código Json, ya
que la DataTable de YUI espera recibir la data de la siguiente manera. &lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2666923764/"&gt;&lt;img src="http://farm4.static.flickr.com/3241/2666923764_80df0487d4_o.png" alt="" border=0 width=599 height=306&gt;&lt;/a&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="" lang=ES&gt;Notaran que antes
de la data propiamente dicha la DataTable de YUI espera obtener el nombre de la
entidad expuesta.&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="" lang=ES&gt;Bien, el
siguiente paso es consumir la data en la View, para ello lo primero que haremos
será crear las referencias a los archivos JavaScript necesarios, para ello
pueden utilizar el &lt;a target="_blank" href="http://developer.yahoo.com/yui/articles/hosting/"&gt;YUI Dependency Configurator&lt;/a&gt;, el cual indicándole los
controles a implementar nos indicara los archivos que debemos utilizar.&lt;/span&gt;&lt;/font&gt;

&lt;p&gt;&lt;span style="" lang=ES&gt;&lt;font style="font-family:Tahoma" size=2&gt;Lo siguiente es
consumir la data, para ello deberemos de incluir el siguiente código en la
vista.&lt;/font&gt;&lt;/span&gt;&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt;color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:10pt;color:rgb(163, 21, 21)"&gt;script&lt;/span&gt;&lt;span style="font-size:10pt"&gt; &lt;span style="color:red"&gt;type&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;
&lt;span style="color:red"&gt;language&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;javascript&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;YAHOO.util.Event.addListener(window,
&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;load&amp;quot;&lt;/span&gt;, &lt;span style="color:blue"&gt;function&lt;/span&gt;()
{&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;    &lt;/span&gt;YAHOO.example.PopulateGrid = &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:blue"&gt;function&lt;/span&gt;() {&lt;span style=""&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;var&lt;/span&gt;
myColumnDefs = [&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;{key:&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;PlayerId&amp;quot;&lt;/span&gt;,
label:&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Id&amp;quot;&lt;/span&gt;},&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;            &lt;/span&gt;{key:&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;},&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;            &lt;/span&gt;{key:&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Number&amp;quot;&lt;/span&gt;},&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;            &lt;/span&gt;{key:&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Age&amp;quot;&lt;/span&gt;},&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;            &lt;/span&gt;{key:&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Caps&amp;quot;&lt;/span&gt;},&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;        &lt;/span&gt;];&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.myDataSource
= &lt;span style="color:blue"&gt;new&lt;/span&gt; YAHOO.util.DataSource(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Home/GetPlayersList?&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.myDataSource.responseType
= YAHOO.util.DataSource.TYPE_JSON;&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.myDataSource.responseSchema
= {&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;        &lt;/span&gt;resultsList: &lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;players&amp;quot;&lt;/span&gt;,fields:
[&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;PlayerId&amp;quot;&lt;/span&gt;,&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;,&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Number&amp;quot;&lt;/span&gt;,&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Age&amp;quot;&lt;/span&gt;,&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Caps&amp;quot;&lt;/span&gt;]};&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.myDataTable
= &lt;span style="color:blue"&gt;new&lt;/span&gt; YAHOO.widget.DataTable(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;myGrid&amp;quot;&lt;/span&gt;, myColumnDefs, &lt;span style="color:blue"&gt;this&lt;/span&gt;.myDataSource);&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;&lt;span style=""&gt;    &lt;/span&gt;};&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt"&gt;});&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="font-size:10pt;color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size:10pt;color:rgb(163, 21, 21)"&gt;script&lt;/span&gt;&lt;span style="font-size:10pt;color:blue"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;

&lt;p&gt;&lt;font style="font-family:Tahoma" size=2&gt;&lt;span style="font-size:10pt;color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:10pt;color:rgb(163, 21, 21)"&gt;div&lt;/span&gt;&lt;span style="font-size:10pt"&gt; &lt;span style="color:red"&gt;id&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;myGrid&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:rgb(163, 21, 21)"&gt;div&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="font-family:'Tahoma&amp;quot;,&amp;quot;sans-serif'"&gt;&lt;/span&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="" lang=ES&gt;En el podrán
observar que creamos un evento que se dispara cuando se carga la vista, luego hay
una función en la cual definimos las columnas a utilizar por nuestro DataTable, configuramos el DataSource el cual referencia al método que devuelve el
Json serializado desde el Controller, a continuacion seleccionamos los campos
de la entidad que utilizaremos y por ultimo creamos el DataTable al cual le pasamos
los valores antes asignados mas el Id del elemento HTML en el cual queremos que se
cree.&lt;/span&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="" lang=ES&gt;Si todo sale
bien, deberían de ver en el browser algo parecido a lo que se aprecia en la
imagen siguiente, en la misma también podrán notar la salida del JsonResult.&lt;/span&gt;&lt;/font&gt;&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;span style="" lang=ES&gt;&lt;/span&gt;&lt;/font&gt;

&lt;a href="http://www.flickr.com/photos/8031636@N06/2665904323/"&gt;&lt;img src="http://farm4.static.flickr.com/3270/2665904323_26e944fbf0_o.png" alt="" border=0 width=600 height=563&gt;&lt;/a&gt; &lt;br&gt;&lt;p&gt;&lt;span style="" lang=ES&gt;&lt;font style="font-family:Tahoma" size=2&gt;Aquí concluye
este ejemplo, si desean&lt;span style=""&gt; &lt;/span&gt;seguir
investigando la gran cantidad de características que se incluyen en el control
DataTable, como así también los demás controles que forman parte de YUI lo
pueden hacer en los siguientes links.&lt;/font&gt;&lt;/span&gt;&lt;p style="font-family:Tahoma;font-weight:bold"&gt;&lt;font size=2&gt;&lt;a target="_blank" href="http://developer.yahoo.com/yui/"&gt;The Yahoo! User Interface Library (YUI)&lt;/a&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma;font-weight:bold"&gt;&lt;font size=2&gt;&lt;a target="_blank" href="http://yuiblog.com/"&gt;Yahoo! User Interface Blog&lt;/a&gt;&lt;/font&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+Integrando+YUI+con+ASP.NET+MVC&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=paulosay.spaces.live.com&amp;amp;GT1=paulosay"&gt;</description><category>ASP.Net</category><comments>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1070.entry#comment</comments><guid isPermaLink="true">http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1070.entry</guid><pubDate>Mon, 14 Jul 2008 04:31:29 GMT</pubDate><slash:comments>3</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!1070/comments/feed.rss</wfw:commentRss><wfw:comment>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1070.entry#comment</wfw:comment><dcterms:modified>2008-07-14T04:54:42Z</dcterms:modified></item><item><title>Buenas prácticas y recursos para la creación de formularios</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1068.entry</link><description>&lt;p&gt;La creación de formularios es una tarea rutinaria tanto si estamos trabajando en desarrollos para la web como para el desktop,  este post trata de aportar algunas buenas prácticas y recursos para la creación de formularios altamente usables y efectivos.

&lt;p&gt;Muchos de los lineamientos descriptos a continuación se basan en estudios de usabilidad, estos estudios hacen uso intensivo de técnicas de eye-tracking para recolectar información acerca de cómo el usuario interactúa con la aplicación.

&lt;p&gt;El eye-tracking es una técnica que mediante equipos especializados permite seguir los movimientos de los ojos de los usuarios para determinar las aéreas en las que fija su atención, cuánto tiempo pasa en ellas y como “navegan” la aplicación.

&lt;p&gt;En esta imagen pueden apreciar a un usuario probando una aplicación web mientras es monitoreado. &lt;br&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2646235179/"&gt;&lt;img src="http://farm4.static.flickr.com/3179/2646235179_53db10f82b_o.jpg" alt=Eye-tracking border=0 width=600 height=337&gt;&lt;/a&gt;

&lt;p&gt;Una vez recolectada la data del eye-tracking es posible crear los llamados “heat maps” o “mapas de calor“donde es posible apreciar como el usuario interactuó con la aplicación, normalmente esto se hace coloreando las aéreas de la aplicación con una paleta que va del rojo para las zonas donde más atención se prestó hasta el verde pasando por el amarillo que son las zonas menos observadas por el usuario.

&lt;p&gt;Ejemplo de heat map&lt;p&gt;
&lt;a href="http://www.flickr.com/photos/8031636@N06/2647065318/"&gt;&lt;img src="http://farm4.static.flickr.com/3120/2647065318_e601d0af86_o.jpg" alt="Heat Map" border=0 width=450 height=563&gt;&lt;/a&gt;

&lt;p&gt;&lt;h6&gt;Image from Web Form Design: Filling in the Blanks by Luke Wroblewski; Rosenfeld Media, 2008. &lt;a href="http://www.rosenfeldmedia.com/books/webforms/"&gt;http://www.rosenfeldmedia.com/books/webforms/&lt;/a&gt;&lt;/h6&gt;

&lt;p&gt;El uso de estas herramientas y técnicas aplicadas a la creación de formularios llevo a ciertas conclusiones, que permiten mejorar la usabilidad de los mismos dependiendo de la alineación y disposición de los elementos que conforman el formulario.

&lt;p&gt;&lt;strong&gt;Top Aligned Labels&lt;/strong&gt;

&lt;p&gt;El uso de labels ubicadas sobre el textbox es recomendable cuando las data a ingresar por el usuario es familiar, esta práctica acelera los tiempos en los cuales se completa el formulario, pero tiene como contra que necesita más espacio vertical, algo a tener en cuenta es el espacio y el contraste entre los diferentes elementos para así lograr una navegación fluida por parte del usuario.

&lt;p&gt;En esta imagen pueden ver el comportamiento del usuario frente a este tipo de disposición.

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2646235581/"&gt;&lt;img src="http://farm4.static.flickr.com/3175/2646235581_84ec369b13_o.jpg" alt="Top Aligned Labels" border=0 width=217 height=262&gt;&lt;/a&gt;

&lt;p&gt;&lt;h6&gt;Image from Web Form Design: Filling in the Blanks by Luke Wroblewski; Rosenfeld Media, 2008. &lt;a href="http://www.rosenfeldmedia.com/books/webforms/"&gt;http://www.rosenfeldmedia.com/books/webforms/&lt;/a&gt;&lt;/h6&gt;

&lt;p&gt;&lt;strong&gt;Right Aligned Labels&lt;/strong&gt;

&lt;p&gt;Alinear a la derecha los labels en los formularios es recomendable cuando se quiere mostrar una clara asociacion entre el label y su correspondiente textbox, esta técnica requiere menos espacio vertical, pero tiene la contra de que cuando los largos de los labels son muy dispares pueden hacer un poco dificultoso el escaneo de los elementos, en la siguiente imagen pueden ver un ejemplo de esta disposición y como el usuario reacciona al utilizarla. &lt;br&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2647065562/"&gt;&lt;img src="http://farm4.static.flickr.com/3124/2647065562_8417856dc7_o.jpg" alt="Right Aligned Labels" border=0 width=346 height=231&gt;&lt;/a&gt;

&lt;p&gt;&lt;h6&gt;Image from Web Form Design: Filling in the Blanks by Luke Wroblewski; Rosenfeld Media, 2008. &lt;a href="http://www.rosenfeldmedia.com/books/webforms/"&gt;http://www.rosenfeldmedia.com/books/webforms/&lt;/a&gt;&lt;/h6&gt;

&lt;p&gt;&lt;strong&gt;Left Aligned Labels&lt;/strong&gt;

&lt;p&gt;Situar los labels alineados a la izquierda de los texboxs se recomienda cuando los datos a ingresar no son familiares por el usuario, esto se debe a que el movimiento entre el label y el textbox es mayor,  entonces podemos utilizar esta desventaja a nuestro favor haciendo que el usuario preste más atención a los datos que desea ingresar, esto fenómeno se puede apreciar mucho mejor en la siguiente imagen, en la cual notaran que la cantidad de pasos y el tiempo usado para escanear los elementos que componen el formulario es mayor que en ejemplos anteriores.&lt;p&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2647065718/"&gt;&lt;img src="http://farm4.static.flickr.com/3258/2647065718_28cc6c1faa_o.jpg" alt="Left Aligned Labels" border=0 width=346 height=231&gt;&lt;/a&gt;

&lt;p&gt;&lt;h6&gt;Image from Web Form Design: Filling in the Blanks by Luke Wroblewski; Rosenfeld Media, 2008. &lt;a href="http://www.rosenfeldmedia.com/books/webforms/"&gt;http://www.rosenfeldmedia.com/books/webforms/&lt;/a&gt;&lt;/h6&gt;

&lt;p&gt;Para seguir ahondando en estos temas les recomiendo la lectura del libro &lt;a href="http://www.rosenfeldmedia.com/books/webforms/"&gt;Web Form Design
Filling in the Blanks&lt;/a&gt; de Luke Wroblewski publicado por Rosenfeld Media, o de los siguientes enlaces.

&lt;p&gt;&lt;a href="http://www.usolab.com/articulos/eyetracking-usabilidad-comunicacion.php"&gt;La aportación del eyetracking en el sector de usabilidad&lt;/a&gt;

&lt;p&gt;&lt;a href="http://www.nosolousabilidad.com/articulos/eye-tracking.htm"&gt;Eye-Tracking en Interacción Persona-Ordenador&lt;/a&gt;

&lt;p&gt;&lt;a href="http://www.uxmatters.com/MT/archives/000107.php"&gt;Label Placement in Forms&lt;/a&gt;

&lt;p&gt;&lt;a href="http://www.lukew.com/resources/articles/web_forms.html"&gt;Web Application Form Design&lt;/a&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+Buenas+pr%c3%a1cticas+y+recursos+para+la+creaci%c3%b3n+de+formularios&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=paulosay.spaces.live.com&amp;amp;GT1=paulosay"&gt;</description><category>UX</category><comments>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1068.entry#comment</comments><guid isPermaLink="true">http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1068.entry</guid><pubDate>Mon, 07 Jul 2008 20:37:11 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!1068/comments/feed.rss</wfw:commentRss><wfw:comment>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1068.entry#comment</wfw:comment><dcterms:modified>2008-07-14T04:16:12Z</dcterms:modified></item><item><title>Silverlight 2 Beta 2 y los archivos XAP</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1063.entry</link><description>&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;Leyendo el ultimo &lt;a href="/scottgu/archive/2008/06/06/silverlight-2-beta2-released.aspx" target="_blank"&gt;post de Scott Guthrie&lt;/a&gt; sobre las nuevas features de Silverlight, note que no se hablo del cambio en el modelo de “deployment” usado para las aplicaciones Silverlight, como sabrán cuando compilamos una solución Silverlight se crea un archivo .xap el cual no es más que un zip que contiene todas las DLLs necesarias para correr nuestra aplicación, este .xap viaja hasta el browser y luego es manipulado por el engine de Silverlight el cual se encarga de correr nuestra solucion, en la siguiente imagen pueden observar el contenido de dicho archivo compilado con la Beta1.&lt;br&gt;&lt;/font&gt;&lt;p style="font-family:Tahoma"&gt;

&lt;font style="font-family:Tahoma" size=2&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2565176230/"&gt;&lt;img src="http://farm4.static.flickr.com/3130/2565176230_6ea24fb299_o.png" alt=".xap Beta 1" border=0 height=413 width=600&gt;&lt;/a&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;Notaran que además de la dll de nuestra aplicación, en este caso Anim.dll, también están incluidas un par de dlls con los controles usados por Silverlight.&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;En cambio en la siguiente imagen la cual corresponde a la misma solución pero ccompilada con la Beta2 solo se puede apreciar que se incluye en el .xap la dll correspondiente a nuestra solución y su correspondiente manifest.&lt;/font&gt;&lt;p style="font-family:Tahoma"&gt;

&lt;font style="font-family:Tahoma" size=2&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2564351853/"&gt;&lt;img src="http://farm4.static.flickr.com/3165/2564351853_e6c57e59b4_o.png" alt=".xap Beta 2" border=0 height=413 width=600&gt;&lt;/a&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;Este approach hace que el runtime crezca un poco en tamaño, pero como contraparte tenemos que nuestras aplicaciones son más livianas, me parece un cambio inteligente, pero espero que el tamaño del runtime se mantenga controlado. &lt;br&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;En próximos posts les iré mostrando algunas de las nuevas features que se incluyen en esta Beta de Silverlight 2.&lt;/font&gt;&lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+Silverlight+2+Beta+2+y+los+archivos+XAP&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=paulosay.spaces.live.com&amp;amp;GT1=paulosay"&gt;</description><category>Silverlight</category><comments>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1063.entry#comment</comments><guid isPermaLink="true">http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1063.entry</guid><pubDate>Mon, 09 Jun 2008 16:50:13 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!1063/comments/feed.rss</wfw:commentRss><wfw:comment>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1063.entry#comment</wfw:comment><dcterms:modified>2008-06-09T16:50:59Z</dcterms:modified></item><item><title>TechNight: Desarrollo de aplicaciones RIA distribuidas con WCF y Silverlight</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1061.entry</link><description>&lt;font style="font-family:Tahoma" size=2&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2560327792/"&gt;&lt;img src="http://farm4.static.flickr.com/3051/2560327792_b0c9f8b490_o.png" alt="" border=0 height=120 width=600&gt;&lt;/a&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;El pasado 6 de Junio junto a &lt;a target="_blank" href="http://blogs.southworks.net/erossetto/"&gt;Edgardo Rossetto&lt;/a&gt; estuvimos presentando en las oficinas de Microsoft Argentina sobre desarrollo de aplicaciones RIA utilizando Silverlight y WCF, tal como prometí les dejo el código de las demos que estuvimos mostrando como así también algunos links que pueden ser de interés.&lt;/font&gt;





&lt;p style="font-family:Tahoma;font-weight:bold"&gt;&lt;font size=2&gt;&lt;a target="_blank" href="http://cid-7cc9f2b7406f44d0.skydrive.live.com/self.aspx/Public/DemosTechNight.zip"&gt;Technight Demos&lt;/a&gt;&lt;br&gt;&lt;a target="_blank" href="http://silverlight.net/learn/"&gt;Silverlight Screencasts &amp;amp; Quickstarts&lt;/a&gt;&lt;br&gt;&lt;a target="_blank" href="http://samples.netfx3.com/pictureservices/"&gt;Pictures Services&lt;/a&gt;&lt;br&gt;&lt;a target="_blank" href="http://expression.microsoft.com/"&gt;Microsoft Expression Community&lt;/a&gt;&lt;br&gt;&lt;a target="_blank" href="http://www.inkscape.org/"&gt;Inkscape&lt;/a&gt;&lt;br&gt;&lt;a target="_blank" href="http://kaxaml.com/"&gt;Kaxaml&lt;/a&gt;&lt;/font&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+TechNight%3a+Desarrollo+de+aplicaciones+RIA+distribuidas+con+WCF+y+Silverlight&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=paulosay.spaces.live.com&amp;amp;GT1=paulosay"&gt;</description><category>Silverlight</category><comments>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1061.entry#comment</comments><guid isPermaLink="true">http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1061.entry</guid><pubDate>Sun, 08 Jun 2008 04:03:04 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!1061/comments/feed.rss</wfw:commentRss><wfw:comment>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1061.entry#comment</wfw:comment><dcterms:modified>2008-06-11T16:54:08Z</dcterms:modified></item><item><title>MIX Essentials Buenos Aires</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1046.entry</link><description>&lt;a href="http://www.flickr.com/photos/8031636@N06/2423789668/" title="MIX Essentials Buenos Aires"&gt;&lt;img src="http://farm3.static.flickr.com/2008/2423789668_3fed8b448f_o.png" alt="MIX Essentials Buenos Aires" border=0 height=153 width=600&gt;&lt;/a&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;Desde su lanzamiento en 2006 &lt;a target="_blank" href="http://www.visitmix.com/"&gt;MIX&lt;/a&gt; ha ido creciendo a paso firme, primero en Estados Unidos, el año pasado con los diversos &lt;a target="_blank" href="http://www.visitmix.com/2008/Worldwide/"&gt;ReMIXs&lt;/a&gt; en diversos lugares del planeta; este año la tendencia continua y una de las ciudades en donde se realizara una conferencia &lt;a target="_blank" href="http://www.visitmix.com/2008/Worldwide/"&gt;MIX Essentials&lt;/a&gt; será Buenos Aires.&lt;/font&gt;
&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;Por ahora no hay mucha información acerca de la agenda, los expositores y el lugar, lo que sí se sabe es que será el 3 y 4 de Junio, para mantenerse al tanto de lo relacionado al evento, pueden ingresar a su grupo en &lt;a target="_blank" href="http://www.facebook.com/group.php?gid=10373206235"&gt;Facebook&lt;/a&gt;, revisar periódicamente la &lt;a href="http://www.visitmix.com/2008/Worldwide/"&gt;página oficial&lt;/a&gt;o el blog de &lt;a href="http://blogs.msdn.com/masaez/"&gt;Miguel Ángel Sáenz&lt;/a&gt;, por mi parte a medida que se vayan conociendo más datos los estaré compartiendo con todos ustedes.&lt;/font&gt;
&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;Manténganse atentos y nos vemos en &lt;a target="_blank" href="http://www.visitmix.com/2008/Worldwide/"&gt;MIX Essentials&lt;/a&gt;.&lt;/font&gt; &lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+MIX+Essentials+Buenos+Aires&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=paulosay.spaces.live.com&amp;amp;GT1=paulosay"&gt;</description><category>Noticias</category><comments>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1046.entry#comment</comments><guid isPermaLink="true">http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1046.entry</guid><pubDate>Fri, 18 Apr 2008 19:03:08 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!1046/comments/feed.rss</wfw:commentRss><wfw:comment>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1046.entry#comment</wfw:comment><dcterms:modified>2008-04-18T19:15:57Z</dcterms:modified></item><item><title>Charts en Silverlight, fácil con Visifire</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1040.entry</link><description>&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;a href="http://www.visifire.com" target="_blank"&gt;Visifire&lt;/a&gt; es una suite de componentes Silverlight para la visualización de datos, los mismos son muy fáciles de implementar y pueden ser utilizados en la mayoría de las plataformas para desarrollo Web.&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;La forma más fácil de comenzar a probar &lt;a href="http://www.visifire.com" target="_blank"&gt;Visifire&lt;/a&gt; y comprobar el poder de esta suite es utilizando el &lt;a href="http://www.visifire.com/silverlight_chart_designer.php" target="_blank"&gt;Chart Designer&lt;/a&gt;, el cual es una herramienta online que permite la creación de charts interactivamente y cuyo resultado podemos embeber en cualquier pagina.&lt;/font&gt;

&lt;p&gt;
&lt;a href="http://www.flickr.com/photos/8031636@N06/2416605914/" title="VisiFire Chart Designer"&gt;&lt;img src="http://farm3.static.flickr.com/2236/2416605914_d6f69ce06d_o.png" alt="VisiFire Chart Designer" border=0 height=383 width=600&gt;&lt;/a&gt;


&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;También como es de suponer, podemos programáticamente crear charts y configurar su apariencia, ya que contamos con una gran cantidad de elementos visuales para personalizar y elegir el tipo de chart cuyo número también es muy amplio.&lt;/font&gt;
&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt; &lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style=""&gt;       &lt;/span&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt;
Page()&lt;/span&gt;


&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;InitializeComponent();&lt;/span&gt;


&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.Loaded
+= &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;RoutedEventHandler&lt;/span&gt;(Page_Loaded);&lt;br&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;/span&gt;
&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt; 












&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt; &lt;span style=""&gt;       &lt;/span&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;class&lt;/span&gt; &lt;span style=""&gt;Vendor&lt;br&gt;        &lt;/span&gt;{&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt;
&lt;span style="color:blue"&gt;string&lt;/span&gt; name;&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt;
&lt;span style="color:blue"&gt;int&lt;/span&gt; sales;&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt;
Vendor(&lt;span style="color:blue"&gt;string&lt;/span&gt; name, &lt;span style="color:blue"&gt;int&lt;/span&gt;
sales)&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;br&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.name = name;&lt;br&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color:blue"&gt;this&lt;/span&gt;.sales = sales;&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;br&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;
&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;






&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;void&lt;/span&gt;
Page_Loaded(&lt;span style="color:blue"&gt;object&lt;/span&gt; sender, &lt;span style="color:rgb(43, 145, 175)"&gt;RoutedEventArgs&lt;/span&gt; e)&lt;br&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Consolas" lang=ES&gt;{&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;CreateChart();&lt;br&gt;&lt;span style=""&gt;       
&lt;/span&gt;}&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;
&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas" lang=ES&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;br&gt;&lt;/span&gt;








&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas" lang=ES&gt;&lt;span style=""&gt;       
&lt;/span&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt;
CreateChart()&lt;br&gt;&lt;span style=""&gt;       
&lt;/span&gt;{&lt;/span&gt;&lt;br&gt;&lt;span style="font-size:10pt;font-family:Consolas;color:green" lang=ES&gt;            //Inicializamos el chart y
los elementos que lo componen&lt;/span&gt;&lt;br&gt;&lt;span style="font-size:10pt;font-family:Consolas" lang=ES&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;Visifire.Charts.&lt;span style="color:rgb(43, 145, 175)"&gt;Chart&lt;/span&gt; chart = &lt;span style="color:blue"&gt;new&lt;/span&gt;
Visifire.Charts.&lt;span style="color:rgb(43, 145, 175)"&gt;Chart&lt;/span&gt;();&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;Visifire.Charts.&lt;span style="color:rgb(43, 145, 175)"&gt;DataSeries&lt;/span&gt; dataSeries = &lt;span style="color:blue"&gt;new&lt;/span&gt;
Visifire.Charts.&lt;span style="color:rgb(43, 145, 175)"&gt;DataSeries&lt;/span&gt;();&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;Visifire.Charts.&lt;span style="color:rgb(43, 145, 175)"&gt;DataPoint&lt;/span&gt; dataPoint;&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;Visifire.Charts.&lt;span style="color:rgb(43, 145, 175)"&gt;Title&lt;/span&gt; title = &lt;span style="color:blue"&gt;new&lt;/span&gt;
Visifire.Charts.&lt;span style="color:rgb(43, 145, 175)"&gt;Title&lt;/span&gt;(); &lt;br&gt;&lt;/span&gt;
&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt; 












&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Consolas;color:green"&gt;//Configuración de las características
visuales &lt;/span&gt;&lt;br&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style=""&gt;            &lt;/span&gt;title.Text = &lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Sales in millions&amp;quot;&lt;/span&gt;;&lt;span style=""&gt;&lt;br&gt;           
&lt;/span&gt;chart.Children.Add(title);&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;chart.Width = 600;&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;chart.Height = 400;&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;chart.AnimationEnabled =
&lt;span style="color:blue"&gt;true&lt;/span&gt;;&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;chart.Theme = &lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Theme1&amp;quot;&lt;/span&gt;;&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;chart.AnimationType = &lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Type3&amp;quot;&lt;/span&gt;;&lt;span style=""&gt;&lt;br&gt;            &lt;/span&gt;chart.UniqueColors = &lt;span style="color:blue"&gt;true&lt;/span&gt;;&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;chart.View3D = &lt;span style="color:blue"&gt;true&lt;/span&gt;;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt; 

&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:green"&gt;//DataSource&lt;/span&gt;&lt;/span&gt;


&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:rgb(43, 145, 175)"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:rgb(43, 145, 175)"&gt;Vendor&lt;/span&gt;&amp;gt; people = &lt;span style="color:blue"&gt;new&lt;/span&gt;
&lt;span style="color:rgb(43, 145, 175)"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:rgb(43, 145, 175)"&gt;Vendor&lt;/span&gt;&amp;gt;(); &lt;br&gt;&lt;/span&gt;






&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style=""&gt;            &lt;/span&gt;people.Add(&lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;Vendor&lt;/span&gt;(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Paulo&amp;quot;&lt;/span&gt;, 55));&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;people.Add(&lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;Vendor&lt;/span&gt;(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Chorch&amp;quot;&lt;/span&gt;, 33));&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;people.Add(&lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;Vendor&lt;/span&gt;(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Lito&amp;quot;&lt;/span&gt;, 66));&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;people.Add(&lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;Vendor&lt;/span&gt;(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Ed&amp;quot;&lt;/span&gt;, 37));&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;people.Add(&lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;Vendor&lt;/span&gt;(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Max&amp;quot;&lt;/span&gt;, 21)); &lt;br&gt;&lt;/span&gt;


&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;&lt;span style=""&gt;           &lt;br&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Consolas;color:green" lang=ES&gt;//Enlazamos los datos de la
lista con los DataPoints&lt;/span&gt;







&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas" lang=ES&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;people.ForEach(&lt;span style="color:blue"&gt;delegate&lt;/span&gt;(&lt;span style="color:rgb(43, 145, 175)"&gt;Vendor&lt;/span&gt; v)&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;br&gt;&lt;span style=""&gt;                &lt;/span&gt;dataPoint = &lt;span style="color:blue"&gt;new&lt;/span&gt; Visifire.Charts.&lt;span style="color:rgb(43, 145, 175)"&gt;DataPoint&lt;/span&gt;();&lt;br&gt;&lt;span style=""&gt;                &lt;/span&gt;dataPoint.AxisLabel
= v.name;&lt;br&gt;&lt;span style=""&gt;                &lt;/span&gt;dataPoint.YValue =
v.sales;&lt;br&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Consolas" lang=ES&gt;dataSeries.Children.Add(dataPoint);&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;});&lt;/span&gt;


&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas" lang=ES&gt; &lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:green"&gt;//Configuramos
el tipo de chart a utilizar&lt;/span&gt;&lt;/span&gt;



&lt;p style="margin-bottom:0.0001pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:Consolas" lang=ES&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;dataSeries.RenderAs
= &lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Doughnut&amp;quot;&lt;/span&gt;;&lt;span style=""&gt;&lt;br&gt;           
&lt;/span&gt;chart.Children.Add(dataSeries);&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Consolas" lang=ES&gt;&lt;br&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Consolas"&gt;LayoutRoot.Children.Clear();&lt;br&gt;&lt;span style=""&gt;           
&lt;/span&gt;LayoutRoot.Children.Add(chart);&lt;/span&gt;


&lt;p&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:Consolas"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;/span&gt; &lt;br&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;Las siguientes imágenes muestran algunos de los resultados que podemos obtener al utilizar el código arriba expuesto.&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;b&gt;Doughnut Charts&lt;/b&gt;&lt;/font&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2416712906/" title="Visifire Sample"&gt;&lt;img src="http://farm3.static.flickr.com/2230/2416712906_2601b11ae2_o.png" alt="Visifire Sample" border=0 height=395 width=595&gt;&lt;/a&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;b&gt;Pie Charts&lt;/b&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2416712982/" title="Visifire Sample"&gt;&lt;img src="http://farm3.static.flickr.com/2381/2416712982_49cef031ec_o.png" alt="Visifire Sample" border=0 height=395 width=596&gt;&lt;/a&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;b&gt;Bars &amp;amp; Columns Charts&lt;/b&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2416713020/" title="Visifire Sample"&gt;&lt;img src="http://farm3.static.flickr.com/2391/2416713020_7b0f066cc6_o.png" alt="Visifire Sample" border=0 height=395 width=595&gt;&lt;/a&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;Para más información acerca de &lt;a href="http://www.visifire.com" target="_blank"&gt;Visifire&lt;/a&gt; visiten su sitio donde encontraran gran cantidad de ejemplos, el código de la solución para bajar y su documentación.&lt;/font&gt;
 &lt;br&gt; &lt;br&gt; &lt;br&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+Charts+en+Silverlight%2c+f%c3%a1cil+con+Visifire&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=paulosay.spaces.live.com&amp;amp;GT1=paulosay"&gt;</description><category>Silverlight</category><comments>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1040.entry#comment</comments><guid isPermaLink="true">http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1040.entry</guid><pubDate>Tue, 15 Apr 2008 15:44:12 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!1040/comments/feed.rss</wfw:commentRss><wfw:comment>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1040.entry#comment</wfw:comment><dcterms:modified>2008-04-15T16:20:35Z</dcterms:modified></item><item><title>PowerShell everywhere</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1030.entry</link><description> &lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;
Si eres de esas personas que se han encariñado con PowerShell, y yo conozco muchas, pero lo echas de menos cuando trabajas en otro entorno, &lt;a href="http://pash.sourceforge.net/" target="_blank"&gt;Pash&lt;/a&gt; puede ser lo que buscas, porque Igor Moochnick esta trabajando en una implementación open source de PowerShell, para que podamos usarla en Linux, MacOS X y hasta en Windows Mobile, en su &lt;a href="http://igorshare.wordpress.com/2008/04/06/pash-cross-platform-powershell-is-out-in-the-wild-announcement/" target="_blank"&gt;blog&lt;/a&gt; se pueden ver algunas screenshots con ejemplos de &lt;a href="http://pash.sourceforge.net/" target="_blank"&gt;Pash&lt;/a&gt; corriendo en varios ambientes.
&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;
Pash está escrito para correr con .Net 2.0 y Mono, hasta el momento se encuentran implementadas cerca del 50% de las clases definidas por PowerShell y un 40% de sus funcionalidades.
&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;
Si desean colaborar, ir siguiendo el progreso del proyecto o probarlo, pueden bajar del repositorio en &lt;a href="http://pash.svn.sourceforge.net/viewvc/pash/" target="_blank"&gt;SourceForge&lt;/a&gt; las últimas versiones del código vía SVN. &lt;br&gt;&lt;/font&gt;&lt;p style="font-family:Tahoma"&gt;
&lt;br&gt;
&lt;font style="font-family:Tahoma" size=2&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2402621494/" title="Pash Console"&gt;&lt;img src="http://farm3.static.flickr.com/2059/2402621494_0b5345c879_o.png" alt="Pash Console" border=0 height=866 width=677&gt;&lt;/a&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma;font-weight:bold"&gt;&lt;font size=2&gt;&lt;a href="http://sourceforge.net/projects/pash/" target="_blank"&gt;Pash en SoruceForge&lt;/a&gt; &lt;br&gt;&lt;a href="http://igorshare.wordpress.com/" target="_blank"&gt;
IgorShare Weblog&lt;/a&gt;&lt;/font&gt;
 &lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+PowerShell+everywhere&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=paulosay.spaces.live.com&amp;amp;GT1=paulosay"&gt;</description><category>.Net</category><comments>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1030.entry#comment</comments><guid isPermaLink="true">http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1030.entry</guid><pubDate>Thu, 10 Apr 2008 03:35:24 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!1030/comments/feed.rss</wfw:commentRss><wfw:comment>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1030.entry#comment</wfw:comment><dcterms:modified>2008-04-10T03:36:40Z</dcterms:modified></item><item><title>Heroes happen in Buenos Aires</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1029.entry</link><description>&lt;a href="http://www.flickr.com/photos/8031636@N06/2395182847/" title="Heroes happen Buenos Aires"&gt;&lt;img src="http://farm4.static.flickr.com/3220/2395182847_a5562d04c9_o.png" alt="Heroes happen Buenos Aires" border=0 height=100 width=600&gt;&lt;/a&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;El próximo jueves 10 de Abril se realizara en el Estadio Obras a las 19 horas el lanzamiento en Argentina de SQL Server 2008, Visual Studio 2008 y Windows Server 2008,  en el siguiente link pueden registrarse al evento&lt;/font&gt;

&lt;p style="font-family:Tahoma;color:rgb(0, 112, 192);font-weight:bold"&gt;&lt;font size=2&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032374617&amp;amp;Culture=es-AR" target="_blank"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032374617&amp;amp;Culture=es-AR&lt;/a&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;También se ha creado un evento en &lt;a href="http://www.facebook.com/event.php?eid=12445377011&amp;amp;ref=nf" target="_blank"&gt;Facebook&lt;/a&gt; para poder socializar un poco antes de ir.&lt;/font&gt;

&lt;p style="font-family:Tahoma;font-weight:bold;color:rgb(0, 112, 192)"&gt;&lt;font size=2&gt;&lt;a href="http://www.facebook.com/event.php?eid=12445377011&amp;amp;ref=nf" target="_blank"&gt;http://www.facebook.com/event.php?eid=12445377011&amp;amp;ref=nf&lt;/a&gt;&lt;/font&gt;

&lt;p style="font-family:Tahoma"&gt;&lt;font size=2&gt;Para ir entrando en calor pueden ir dándole una mirada a los siguientes &lt;a href="http://heroes.labmanuals.virtualwide.com" target="_blank"&gt;Hands on Labs&lt;/a&gt;.&lt;/font&gt;

&lt;p style="font-family:Tahoma;font-weight:bold"&gt;&lt;font size=2&gt;&lt;a href="http://heroes.labmanuals.virtualwide.com" target="_blank"&gt;http://heroes.labmanuals.virtualwide.com&lt;/a&gt;&lt;/font&gt;
 &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+Heroes+happen+in+Buenos+Aires&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=paulosay.spaces.live.com&amp;amp;GT1=paulosay"&gt;</description><category>Noticias</category><comments>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1029.entry#comment</comments><guid isPermaLink="true">http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1029.entry</guid><pubDate>Mon, 07 Apr 2008 13:30:30 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!1029/comments/feed.rss</wfw:commentRss><wfw:comment>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1029.entry#comment</wfw:comment><dcterms:modified>2008-04-07T15:52:07Z</dcterms:modified></item><item><title>ADO.NET Data Services</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1014.entry</link><description>&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Ya se encuentra disponible la primera entrega de &lt;span&gt;&lt;a href="http://www.asp.net/downloads/3.5-extensions/"&gt;ASP.NET 3.5 Extensions Preview&lt;/a&gt;, la cual pueden descargar desde &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A9C6BC06-B894-4B11-8300-35BD2F8FC908&amp;amp;displaylang=en"&gt;aquí&lt;/a&gt;, seguramente el centro de todas las miradas va a estar con ASP.NET MVC, por eso no voy a hablar de él en este post, ya que tanto en los &lt;a href="http://quickstarts.asp.net/3-5-extensions/"&gt;QuickStarts&lt;/a&gt; como en el blog de &lt;a href="http://weblogs.asp.net/scottgu/"&gt;Scott Guthrie&lt;/a&gt; hay bastantes ejemplos e información sobre el mismo.&lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;De lo que si les voy a hablar es de ADO.NET Data Services el cual es el nuevo nombre del antes conocido proyecto &lt;a href="http://paulosay.spaces.live.com/blogs/parancibia/archive/2007/10/13/Un-vistazo-a-Astoria.aspx"&gt;Astoria&lt;/a&gt;, el mismo cuenta con varios cambios desde la CTP anterior, pero para mostrárselos nada mejor que comenzar con un proyecto desde cero. Antes que nada debemos tener instalado además de &lt;a href="http://www.asp.net/downloads/3.5-extensions/"&gt;ASP.NET 3.5 Extensions Preview&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;, &lt;span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=15DB9989-1621-444D-9B18-D1A04A21B519&amp;amp;displaylang=en"&gt;ADO.NET Entity Framework Beta 3&lt;/a&gt; y &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=D8AE4404-8E05-41FC-94C8-C73D9E238F82&amp;amp;displaylang=en"&gt;ADO.NET Entity Framework Tools Dec 07 CTP&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Vamos a comenzar creando un nuevo proyecto Web como se ve en la siguiente imagen.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2239/2099938616_85a01a0a3c_o.jpg" height=425 width=600&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Luego crearemos nuestro modelo de datos&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2166/2099159333_680d3ddf55_o.jpg" height=360 width=600&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Seleccionamos la opción Generate from Database&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2253/2099938896_c001b3c097_o.jpg" height=505 width=544&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Elegimos la base de datos a utilizar&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2137/2099159577_4d6abcdeb9_o.jpg" height=505 width=544&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Seleccionamos las tablas que usaremos para el ejemplo y hacemos click en Finish.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2358/2099939248_a5b3c01923_o.jpg" height=505 width=544&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Concluido este paso ya tenemos listo nuestro modelo de datos&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2274/2099939378_dd2cbfacc8_o.jpg" height=400 width=600&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Luego seleccionamos la opción Add new ítem y creamos un nuevo ADO.NET Data Service&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2408/2099939516_98073e2ae6_o.jpg" height=360 width=600&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Si recuerdan &lt;a href="http://paulosay.spaces.live.com/blogs/parancibia/archive/2007/10/13/Un-vistazo-a-Astoria.aspx"&gt;mi post anterior sobre Astoria&lt;/a&gt;, al llegar a este punto solo debíamos indicar a nuestro WebDataService que utilice nuestro Entity Model y ya estaba todo listo para exponer nuestra data al mundo, pero en esta versión esto ha cambiado, ahora debemos autorizar explícitamente cuales tablas y qué tipo de permiso utilizara nuestro ADO.NET Data Service.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;En la siguiente imagen podrán ver como he referenciado a Microsoft.Data.Web y a mi modelo de datos, también pueden observar como inicializo el servicio, elijo las tablas a utilizar y el tipo de permiso que deseo asignarle.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2215/2099160115_17f804d378_o.jpg" height=370 width=600&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Para este ejemplo voy a dejar que todas las tablas puedan ser expuestas es por ellos que he puesto un asterisco en lugar del nombre de una tabla en particular.&lt;/span&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System.Web;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System.Collections.Generic;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System.ServiceModel.Web;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System.Linq;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; Microsoft.Data.Web;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; OranjeModel;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; &lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;namespace&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; OranjeDataService&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;{&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;class&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;Oranje&lt;/span&gt; : &lt;span style="color:rgb(43, 145, 175)"&gt;WebDataService&lt;/span&gt;&amp;lt;&lt;span style="color:rgb(43, 145, 175)"&gt;OranjeEntities&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;    &lt;/span&gt;{&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;static&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt; InitializeService(&lt;span style="color:rgb(43, 145, 175)"&gt;IWebDataServiceConfiguration&lt;/span&gt; config)&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;{&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;config.SetResourceContainerAccessRule(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;*&amp;quot;&lt;/span&gt;, &lt;span style="color:rgb(43, 145, 175)"&gt;ResourceContainerRights&lt;/span&gt;.All);&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;}&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;    &lt;/span&gt;}&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'"&gt;}&lt;/span&gt;&lt;span style="font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Si presiono F5 para correr mi aplicación, podrán ver algo similar a lo expuesto en la siguiente imagen.&lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2083/2099160273_894cefc94d_o.jpg" height=481 width=600&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Podrán apreciar que el formato en que se está mostrando la información es AtomPub (Atom Publishing Protocol), este es otro de los cambios con respecto a la anterior CTP, también podemos consumir nuestro servicio utilizando JSON.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Si desean investigar más sobre como exponer data a través de ADO.NET Data Services, podrán en encontrar más información &lt;span&gt; &lt;/span&gt;y ejemplos en los &lt;a href="http://quickstarts.asp.net/3-5-extensions/adonetdataservice/default.aspx"&gt;ASP.NET 3.5 Extensions Preview QuickStarts&lt;/a&gt;.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Bien, ahora que ya tenemos nuestro servicio funcionando, vamos a consumirlo, el escenario más común para hacerlo, seria en una aplicación Web, pero para este ejemplo utilizare una aplicación de consola.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Vamos a crear la aplicación de consola para la demo&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2366/2099160615_243f77cac5_o.jpg" height=425 width=600&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Luego agregaremos una referencia a Microsoft.Data.WebClient en nuestro proyecto&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2113/2099160813_88aeb29045_o.jpg" height=340 width=600&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Como vamos a necesitar representar la entidades definidas por el Data Service, deberíamos crearlas a las mismas en nuestro proyecto, para ello utilizaremos la utilidad WebDataGen que se encuentra en la carpeta donde están instaladas las ASP.NET 3.5 Extensions Preview, ejecutaremos la utilidad y le pasaremos los siguientes parámetros.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2150/2099160355_bee02489de_o.jpg" height=373 width=600&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Entre los cuales se encuentran el nombre del archivo que generaremos con las entidades y la URI donde se encuentra nuestro servicio&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2219/2099160473_b2ba8abb65_o.jpg" height=373 width=600&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Finalizado el proceso ya tendremos listo nuestro modelo de datos para poder ser añadido a nuestra aplicación de ejemplo utilizando la opción Add existing item.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;En el archivo Program.cs de nuestra aplicación de ejemplo vamos a crear un referencia a nuestro entity model.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;color:blue;line-height:115%;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'"&gt; OranjeModel;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Para consumir los datos de nuestro servicio utilizaremos la librería Microsoft.Data.WebClient, la misma cuenta con dos clases, WebDataContext y WebDataQuery, la primera representa el contexto en tiempo de ejecución de un web data service dado, la segunda permite hacer consulta contra un servicio utilizando la sintaxis basada en URIs de ADO.NET Data Service.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;En el siguiente código podemos ver un ejemplo de WebDataContext y WebDataQuery en funcionamiento.&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System.Collections.Generic;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; Microsoft.Data.WebClient;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System.Linq;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System.Text;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; OranjeModel;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;namespace&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; OranjeDataClient&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;{&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;class&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;Program&lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;    &lt;/span&gt;{&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;static&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt; Main(&lt;span style="color:blue"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;{&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;span style="color:rgb(43, 145, 175)"&gt;WebDataContext&lt;/span&gt; ctx = &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;WebDataContext&lt;/span&gt;(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;http://localhost:6239/Oranje.svc&amp;quot;&lt;/span&gt;);&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;span style="color:rgb(43, 145, 175)"&gt;WebDataQuery&lt;/span&gt;&amp;lt;&lt;span style="color:rgb(43, 145, 175)"&gt;Players&lt;/span&gt;&amp;gt; players = ctx.CreateQuery&amp;lt;&lt;span style="color:rgb(43, 145, 175)"&gt;Players&lt;/span&gt;&amp;gt;(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;/Players&amp;quot;&lt;/span&gt;);&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;           &lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;span style="color:blue"&gt;foreach&lt;/span&gt; (&lt;span style="color:rgb(43, 145, 175)"&gt;Players&lt;/span&gt; p &lt;span style="color:blue"&gt;in&lt;/span&gt; players)&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;{&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                &lt;/span&gt;&lt;span style="color:rgb(43, 145, 175)"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Number:&amp;quot;&lt;/span&gt; + p.Number + &lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot; Name: &amp;quot;&lt;/span&gt; + p.Name + &lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot; Age: &amp;quot;&lt;/span&gt; + p.Age);&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;}&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;}&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;    &lt;/span&gt;}&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'"&gt;}&lt;/span&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Presionando Ctrl+F5 deberíamos de obtener un resultado similar al de la siguiente imagen.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2259/2100213940_7866cc22c0_o.jpg" height=311 width=500&gt;&lt;/span&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'"&gt;Además de utilizar WebDataContext y WebDataContext.CreateQuery para consultar un Data Service tambien es posible hacer consultas utilizando LINQ, como verán en el siguiente ejemplo la librería Microsoft.Data.WebClient se encarga de mapear las instrucciones LINQ contra la URI del Data Service y recuperar los recursos especificados como objetos .NET &lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System.Collections.Generic;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System.Linq;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; System.Text;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;using&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; OranjeModel;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;namespace&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; OranjeDataClient&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;{&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;    &lt;/span&gt;&lt;span style="color:blue"&gt;class&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;Program&lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;    &lt;/span&gt;{&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;&lt;span style="color:blue"&gt;static&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt; Main(&lt;span style="color:blue"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;{&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;span style="color:rgb(43, 145, 175)"&gt;OranjeEntities&lt;/span&gt; ctx = &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:rgb(43, 145, 175)"&gt;OranjeEntities&lt;/span&gt;(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;http://localhost:6239/Oranje.svc&amp;quot;&lt;/span&gt;);&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:blue"&gt;            var&lt;/span&gt; q = &lt;span style="color:blue"&gt;from&lt;/span&gt; p &lt;span style="color:blue"&gt;in&lt;/span&gt; ctx.Players&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                    &lt;/span&gt;&lt;span style="color:blue"&gt;orderby&lt;/span&gt; p.Age&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                    &lt;/span&gt;&lt;span style="color:blue"&gt;select&lt;/span&gt; p;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;span style="color:blue"&gt;foreach&lt;/span&gt; (&lt;span style="color:blue"&gt;var&lt;/span&gt; player &lt;span style="color:blue"&gt;in&lt;/span&gt; q)&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;{&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                &lt;/span&gt;&lt;span style="color:rgb(43, 145, 175)"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot;Number:&amp;quot;&lt;/span&gt; + player.Number + &lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot; Name: &amp;quot;&lt;/span&gt; + player.Name + &lt;span style="color:rgb(163, 21, 21)"&gt;&amp;quot; Age: &amp;quot;&lt;/span&gt; + player.Age);&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;}&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;}&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;    &lt;/span&gt;}&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'"&gt;}&lt;/span&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Presionamos Ctrl+F5&lt;span&gt;  &lt;/span&gt;y deberíamos de ver los datos de las jugadoras ordenados por edad.&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;img src="http://farm3.static.flickr.com/2240/2100213852_4e8154882b_o.jpg" height=373 width=600&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Tahoma','sans-serif'" lang=ES-AR&gt;Nuevamente y para finalizar les dejo el enlace a los &lt;a href="http://quickstarts.asp.net/3-5-extensions/adonetdataservice/default.aspx"&gt;QuickStarts&lt;/a&gt; donde podrán encontrar información más detallada.&lt;/span&gt; &lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+ADO.NET+Data+Services&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=paulosay.spaces.live.com&amp;amp;GT1=paulosay"&gt;</description><category>.Net</category><comments>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1014.entry#comment</comments><guid isPermaLink="true">http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1014.entry</guid><pubDate>Mon, 10 Dec 2007 06:07:41 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!1014/comments/feed.rss</wfw:commentRss><wfw:comment>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1014.entry#comment</wfw:comment><dcterms:modified>2008-04-21T16:55:29Z</dcterms:modified></item><item><title>Review: The Laws of Simplicity</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1012.entry</link><description>&lt;p&gt;&lt;font face=Tahoma size=2&gt;En la actualidad vemos como proveedores de servicios y fabricantes de productos tratan de lograr que los mismos sean simples de entender, simples de usar, esta tarea no es para nada simple y no quiere decir que los productos o servicios que se ofrezcan deban carecer de funciones o características, si tomamos como ejemplo al iPod el cual es el referente en lo que a simplicidad hablamos, podemos ver que de por sí es un aparato complejo, cargado de características, pero a sus vez no solo es simple de usar sino que también transmite la sensación de simplicidad.&lt;/font&gt; 
&lt;p&gt;&lt;font face=Tahoma size=2&gt;Últimamente muchos escriben sobre el concepto de simplicidad, de todo ellos &lt;/font&gt;&lt;a href="http://www.media.mit.edu/people/bio_maeda.html" target="_blank"&gt;&lt;font face=Tahoma size=2&gt;John Maeda&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=2&gt; se destaca y en su libro &lt;/font&gt;&lt;a href="http://lawsofsimplicity.com/" target="_blank"&gt;&lt;font face=Tahoma size=2&gt;The Laws of Simplicity&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=2&gt; nos proporciona reglas las cuales nos guían en los conceptos que conforman la simplicidad y algunos consejos para aplicarlos en nuestro trabajo diario.&lt;/font&gt; 
&lt;p&gt;&lt;a href="http://lawsofsimplicity.com/"&gt;&lt;font face=Tahoma size=2&gt;The Laws of Simplicity&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=2&gt; está traducido a muchos idiomas, incluido el español, se puede conseguir en &lt;/font&gt;&lt;a href="http://www.amazon.com/Laws-Simplicity-Design-Technology-Business/dp/0262134721/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1197037223&amp;amp;sr=1-2" target="_blank"&gt;&lt;font face=Tahoma size=2&gt;Amazon&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=2&gt; o en cualquier librería de primera línea, el libro es pequeño, cerca de cien páginas y es de una lectura muy fluida con ejemplos prácticos y de la vida real.&lt;/font&gt; 
&lt;p&gt;&lt;font face=Tahoma size=2&gt;Para ir finalizando les dejo el link a la página oficial del libro donde encontraran notas y artículos relacionados con el mismo y un video con una presentación de &lt;/font&gt;&lt;a href="http://www.media.mit.edu/people/bio_maeda.html" target="_blank"&gt;&lt;font face=Tahoma size=2&gt;John Maeda&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=2&gt; en TED.&lt;/font&gt; 
&lt;p&gt;&lt;a href="http://lawsofsimplicity.com/" target="_blank"&gt;&lt;font face=Tahoma size=2&gt;The Rules of Simplicity Homepage&lt;/font&gt;&lt;/a&gt;&lt;span style="display:none"&gt;&lt;/span&gt; 
&lt;p&gt;&lt;span style="display:none"&gt; &lt;/span&gt;&lt;span style="display:none"&gt; &lt;/span&gt; 
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/2093454634/"&gt;&lt;img height=450 alt="The Laws of Simplicity" src="http://farm3.static.flickr.com/2215/2093454634_27513a0ff0_o.jpg" width=600 border=0&gt;&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+Review%3a+The+Laws+of+Simplicity&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=paulosay.spaces.live.com&amp;amp;GT1=paulosay"&gt;</description><category>Books</category><comments>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1012.entry#comment</comments><guid isPermaLink="true">http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1012.entry</guid><pubDate>Fri, 07 Dec 2007 14:23:33 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!1012/comments/feed.rss</wfw:commentRss><wfw:comment>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!1012.entry#comment</wfw:comment><dcterms:modified>2007-12-09T23:15:15Z</dcterms:modified></item><item><title>Novedades de WPF 3.5 - Viewport2DVisual3D</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!996.entry</link><description>&lt;p&gt;&lt;font face=Tahoma size=2&gt;Una de las nuevas características de WPF 3.5 es Viewport2DVisual3D, esta nos permite tomar un objeto 2D y visualizarlo en un espacio 3D, esto lo podíamos hacer anteriormente con &lt;/font&gt;&lt;a href="http://www.codeplex.com/3DTools"&gt;&lt;font face=Tahoma size=2&gt;3D Tools for WPF&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=2&gt; pero ahora al menos algunas de estas características son parte del framework, para mostrarles su uso, voy amigrar la demo que utilice en el &lt;/font&gt;&lt;a href="http://paulosay.spaces.live.com/blogs/parancibia/archive/2007/10/25/Code-Camp-Buenos-Aires-2007-_1320_-El-d_ED00_a-despu_E900_s_2E00_.aspx"&gt;&lt;font face=Tahoma size=2&gt;Code Camp&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=2&gt;, cuyo código pueden bajar desde &lt;/font&gt;&lt;a href="http://cid-7cc9f2b7406f44d0.skydrive.live.com/self.aspx/Public/Scene3D.zip"&gt;&lt;font face=Tahoma size=2&gt;aquí&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=2&gt; o consultar mas en profundidad en este &lt;/font&gt;&lt;a href="http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!691.entry"&gt;&lt;font face=Tahoma size=2&gt;post&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=2&gt;, para que pase de usar &lt;/font&gt;&lt;a href="http://www.codeplex.com/3DTools"&gt;&lt;font face=Tahoma size=2&gt;3D Tools for WPF&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=2&gt; por Viewport2DVisual3D.&lt;/font&gt; 
&lt;p&gt;&lt;font face=Tahoma size=2&gt;Pasemos a ver el código, verán que aun sigo usando 3D Tools for WPF, pero tan solo para utilizar el TrackBallDecorator, que es quien me permite mover el modelo utilizando el mouse, el resto del código es muy fácil de seguir, en el resource he creado un mesh, luego configuro la cámara, la luz y por ultimo pinto mi mesh con un MediaElement.&lt;/font&gt; 
&lt;p&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Window&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; x&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;:&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt;Class&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;DemoViewport2DVisual3D.Window1&amp;quot;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;   &lt;/span&gt;&lt;span style="color:red"&gt;&lt;span&gt; &lt;/span&gt;xmlns&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;   &lt;/span&gt;&lt;span style="color:red"&gt;&lt;span&gt; &lt;/span&gt;xmlns&lt;/span&gt;&lt;span style="color:blue"&gt;:&lt;/span&gt;&lt;span style="color:red"&gt;x&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;   &lt;/span&gt;&lt;span style="color:red"&gt;&lt;span&gt; &lt;/span&gt;xmlns&lt;/span&gt;&lt;span style="color:blue"&gt;:&lt;/span&gt;&lt;span style="color:red"&gt;local&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;clr-namespace:_3DTools;assembly=3DTools&amp;quot;&lt;/span&gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;   &lt;/span&gt;&lt;span style="color:red"&gt;&lt;span&gt; &lt;/span&gt;Title&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;Viewport2DVisual3D Demo&amp;quot;&lt;/span&gt;&lt;span style="color:red"&gt; Height&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;600&amp;quot;&lt;/span&gt;&lt;span style="color:red"&gt; Width&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;600&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&lt;font face=Tahoma size=2&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&lt;font face=Tahoma size=2&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Window.Resources&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;MeshGeometry3D&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; x&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;:&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt;Key&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;3dMesh&amp;quot;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; Positions&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;-1,1,0 -1,-1,0 1,-1,0 1,1,0&amp;quot;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;       &lt;/span&gt;&lt;span style="color:red"&gt;&lt;span&gt; &lt;/span&gt;TextureCoordinates&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;0,0 0,1 1,1 1,0&amp;quot;&lt;/span&gt;&lt;span style="color:red"&gt; TriangleIndices&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;0 1 2 0 2 3&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Window.Resources&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&lt;font face=Tahoma size=2&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;local&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;:&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;TrackballDecorator&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Viewport3D&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; HorizontalAlignment&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;Stretch&amp;quot;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; VerticalAlignment&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;Stretch&amp;quot;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Viewport3D.Camera&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;PerspectiveCamera&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; Position&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;0,0,4&amp;quot;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; &lt;span style="color:red"&gt;&lt;span&gt; &lt;/span&gt;FieldOfView&lt;/span&gt;&lt;span style="color:blue"&gt;=&amp;quot;45&amp;quot; /&amp;gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Viewport3D.Camera&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;           &lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;ModelVisual3D&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt; &amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;ModelVisual3D.Content&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                    &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;AmbientLight&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; Color&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;#FFFFFFFF&amp;quot;/&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;ModelVisual3D.Content&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;ModelVisual3D&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&lt;font face=Tahoma size=2&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Viewport2DVisual3D&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; Geometry&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;{&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;StaticResource&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;font-family:'Tahoma','sans-serif'"&gt; 3&lt;span style="color:blue"&gt;dMesh}&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Viewport2DVisual3D.Visual&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                    &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;MediaElement&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; Source&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;silverlight.wmv&amp;quot;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; Stretch&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;Uniform&amp;quot;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; Volume&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; LoadedBehavior&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;Play&amp;quot;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; Width&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;448&amp;quot;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; Height&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;256&amp;quot;/&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Viewport2DVisual3D.Visual&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Viewport2DVisual3D.Material&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                    &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;DiffuseMaterial&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:red;font-family:'Tahoma','sans-serif'"&gt; Viewport2DVisual3D.IsVisualHostMaterial&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;=&amp;quot;true&amp;quot;/&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Viewport2DVisual3D.Material&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Viewport2DVisual3D&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&lt;font face=Tahoma size=2&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;Viewport3D&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;local&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;:&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;TrackballDecorator&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:blue;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 0pt;line-height:normal"&gt;&lt;span lang=EN-US style="font-size:10pt;color:#a31515;font-family:'Tahoma','sans-serif'"&gt;&lt;font face=Tahoma size=2&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p style="margin:0in 0in 10pt"&gt;&lt;span style="font-size:10pt;color:blue;line-height:115%;font-family:'Tahoma','sans-serif'"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size:10pt;color:#a31515;line-height:115%;font-family:'Tahoma','sans-serif'"&gt;Window&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;line-height:115%;font-family:'Tahoma','sans-serif'"&gt;&amp;gt;&lt;/span&gt; 
&lt;p&gt;&lt;font face=Tahoma size=2&gt;Al ejecutar el ejemplo deberíamos de ver algo como lo siguiente.&lt;/font&gt; 
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/1795981843/"&gt;&lt;img height=600 alt=Viewport2DVisual3D src="http://farm3.static.flickr.com/2073/1795981843_594f98387e_o.jpg" width=600 border=0&gt;&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+Novedades+de+WPF+3.5+-+Viewport2DVisual3D&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=paulosay.spaces.live.com&amp;amp;GT1=paulosay"&gt;</description><category>Windows Presentation Foundation</category><comments>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!996.entry#comment</comments><guid isPermaLink="true">http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!996.entry</guid><pubDate>Mon, 29 Oct 2007 02:52:25 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://paulosay.spaces.live.com/blog/cns!7CC9F2B7406F44D0!996/comments/feed.rss</wfw:commentRss><wfw:comment>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!996.entry#comment</wfw:comment><dcterms:modified>2007-10-29T02:56:21Z</dcterms:modified></item><item><title>Code Camp Buenos Aires 2007 – El día después.</title><link>http://paulosay.spaces.live.com/Blog/cns!7CC9F2B7406F44D0!993.entry</link><description>&lt;p&gt;&lt;font face=Tahoma size=2&gt;Tal como prometí ayer, aquí les dejo el código de las demos que estuve presentando y algunos enlaces que les serán de utilidad.&lt;/font&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/1753070306/"&gt;&lt;font face=Tahoma size=2&gt;&lt;img height=455 alt="Snow Shop" src="http://farm3.static.flickr.com/2162/1753070306_9e41ccba0c_o.jpg" width=600 border=0&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face=Tahoma size=2&gt; &lt;/font&gt;
&lt;p&gt;&lt;a href="http://cid-887947c4972c5e64.skydrive.live.com/self.aspx/BlogSamples/SnowShop 20070920.zip"&gt;&lt;font face=Tahoma size=2&gt;&lt;strong&gt;Download Snow Shop&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;
&lt;p align=left&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/1752221697/"&gt;&lt;font face=Tahoma size=2&gt;&lt;img height=651 alt="Xbox 360 Showcase" src="http://farm3.static.flickr.com/2380/1752221697_7aad48aa17_o.jpg" width=600 border=0&gt;&lt;/font&gt;&lt;/a&gt;
&lt;p&gt;&lt;font face=Tahoma size=2&gt; &lt;/font&gt;
&lt;p&gt;&lt;a href="http://cid-7cc9f2b7406f44d0.skydrive.live.com/self.aspx/Public/Xbox Showcase.zip"&gt;&lt;font face=Tahoma size=2&gt;&lt;strong&gt;Download Xbox 360 Showcase&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;
&lt;p align=left&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/1753070002/"&gt;&lt;font face=Tahoma size=2&gt;&lt;img height=402 alt="Flextreme Color Selector" src="http://farm3.static.flickr.com/2326/1753070002_529e4c090c_o.jpg" width=600 border=0&gt;&lt;/font&gt;&lt;/a&gt;
&lt;p&gt;&lt;font face=Tahoma size=2&gt; &lt;/font&gt;
&lt;p&gt;&lt;a href="http://cid-7cc9f2b7406f44d0.skydrive.live.com/self.aspx/Public/ColorSelector.zip"&gt;&lt;font face=Tahoma size=2&gt;&lt;strong&gt;Download Flextreme Color Selector&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;
&lt;p&gt;&lt;a href="http://www.beacosta.com/blog/?p=33"&gt;&lt;font face=Tahoma size=2&gt;&lt;strong&gt;Bea Costa Blog&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;
&lt;p align=left&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/1752221835/"&gt;&lt;font face=Tahoma size=2&gt;&lt;img height=450 alt="My Printer 3D" src="http://farm3.static.flickr.com/2047/1752221835_32fa8c72d8_o.jpg" width=600 border=0&gt;&lt;/font&gt;&lt;/a&gt;
&lt;p&gt;&lt;font face=Tahoma size=2&gt; &lt;/font&gt;
&lt;p&gt;&lt;a href="http://cid-7cc9f2b7406f44d0.skydrive.live.com/self.aspx/Public/Printer3D.zip"&gt;&lt;font face=Tahoma size=2&gt;&lt;strong&gt;Download My Printer 3D&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;
&lt;p align=left&gt;&lt;a href="http://www.flickr.com/photos/8031636@N06/1752221955/"&gt;&lt;font face=Tahoma size=2&gt;&lt;img height=600 alt="3D Tools for WPF" src="http://farm3.static.flickr.com/2046/1752221955_02e8d9fa3f_o.jpg" width=600 border=0&gt;&lt;/font&gt;&lt;/a&gt;
&lt;p&gt;&lt;font face=Tahoma size=2&gt; &lt;/font&gt;
&lt;p&gt;&lt;a href="http://cid-7cc9f2b7406f44d0.skydrive.live.com/self.aspx/Public/Scene3D.zip"&gt;&lt;font face=Tahoma size=2&gt;&lt;strong&gt;Download Demo 3D&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;
&lt;p&gt;&lt;a href="http://www.codeplex.com/3DTools"&gt;&lt;font face=Tahoma size=2&gt;&lt;strong&gt;3D Tools for WPF&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;
&lt;p&gt;&lt;font face=Tahoma size=2&gt;Espero la hayan pasado tan bien como yo en el Code Camp y nos vemos el año próximo.&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8991984999895876816&amp;page=RSS%3a+Code+Camp+Buenos+Aires+2007+%e2%80%93+El+d%c3%ada+despu%c3%a9s.&amp;referrer=" width="1px" heig