<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Cesar de la Torre - BLOG </title><subtitle type="html">I work in Microsoft as "Architect Evangelist". So, this blog is about technical tips and experiences I have with the following technologies:
Architectural tips, S+S, N-Layered, T-Tier and SOA Architectures, SOA development (WS &amp; WCF), Workflow Foundation, .NET, and Software Architecture in general. </subtitle><id>http://blogs.msdn.com/cesardelatorre/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/cesardelatorre/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2009-03-08T21:34:00Z</updated><entry><title>Workshop “Oslo” introduction: The Future about Model Driven Development (June 30th 2009)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/07/01/workshop-oslo-introduction-the-future-about-model-driven-development-june-30th-2009.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/07/01/workshop-oslo-introduction-the-future-about-model-driven-development-june-30th-2009.aspx</id><published>2009-07-01T09:49:00Z</published><updated>2009-07-01T09:49:00Z</updated><content type="html">&lt;TABLE border=0 cellSpacing=0 cellPadding=2 width=400&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=200&gt;&lt;IMG src="http://www.microsoft.com/Spanish/msdn/Spain/eventos/Arquitectos/images/msarquitecture_top.gif" width=453 height=68 mce_src="http://www.microsoft.com/Spanish/msdn/Spain/eventos/Arquitectos/images/msarquitecture_top.gif"&gt; &lt;BR&gt;&amp;nbsp; &lt;/TD&gt;
&lt;TD vAlign=top width=200&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/WorkshopOslointroductionTheFutureaboutMo_A651/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/WorkshopOslointroductionTheFutureaboutMo_A651/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/WorkshopOslointroductionTheFutureaboutMo_A651/image_thumb.png" width=85 height=85 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/WorkshopOslointroductionTheFutureaboutMo_A651/image_thumb.png"&gt;&lt;/A&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/WorkshopOslointroductionTheFutureaboutMo_A651/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/WorkshopOslointroductionTheFutureaboutMo_A651/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/WorkshopOslointroductionTheFutureaboutMo_A651/image_thumb_1.png" width=85 height=85 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/WorkshopOslointroductionTheFutureaboutMo_A651/image_thumb_1.png"&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;One more event!. Yesterday we delivered a nice workshop regarding &lt;STRONG&gt;Model Driven Development and “OSLO”.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I talked most about MDD/MDE (Model Driven Development/Engineering), Model Drive SOA, how can be the future regarding MDD implemented with “OSLO”. Key points, risks, and long term goals and then how could everything be mapped to “OSLO”.&lt;/P&gt;
&lt;P&gt;Miguel Llopis (Developer in “OSLO” Product Group, in Microsoft corp.) explained “Oslo” design goals and then quite a few demos regarding M language, Quadrant and Repository.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Here I post the agenda and the presentations (URL to my SkyDrive):&lt;/P&gt;
&lt;P&gt;&lt;A title=http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20MDD%20and%20OSLO href="http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20MDD%20and%20OSLO" mce_href="http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20MDD%20and%20OSLO"&gt;http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20MDD%20and%20OSLO&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;AGENDA&lt;/B&gt; 
&lt;TABLE border=0 cellSpacing=3 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=120&gt;
&lt;P&gt;&lt;STRONG&gt;9:00 - 9:30&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=257&gt;
&lt;P&gt;&lt;STRONG&gt;Registro&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=120&gt;
&lt;P&gt;&lt;STRONG&gt;9:30-10:45&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=257&gt;
&lt;P&gt;&lt;STRONG&gt;Model Driven Development, MDD/MDE y la propuesta de futuro de Microsoft: "Oslo"&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;STRONG&gt;César de la Torre - Microsoft - España &lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=120&gt;
&lt;P&gt;&lt;STRONG&gt;10:45-11:15&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=257&gt;
&lt;P&gt;&lt;STRONG&gt;Cafe&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=120&gt;
&lt;P&gt;&lt;STRONG&gt;11:15-14:00&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=257&gt;
&lt;P&gt;&lt;STRONG&gt;"Oslo" en detalle, Lenguaje M, Quadrant, Repositorio&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;STRONG&gt;Miguel Llopis - Microsoft Corp.&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Agenda &amp;amp; presentations are in Spanish. ;-)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9810612" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="Microsoft Events Speaker" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Microsoft+Events+Speaker/default.aspx" /><category term="Oslo" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Oslo/default.aspx" /></entry><entry><title>WCF Load Test tool</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/06/24/wcf-load-test-tool.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/06/24/wcf-load-test-tool.aspx</id><published>2009-06-24T13:49:00Z</published><updated>2009-06-24T13:49:00Z</updated><content type="html">&lt;P&gt;&lt;IMG src="http://img.generation-nt.com/wcf-logo_00062509.jpg" width=92 height=85&gt;&lt;/P&gt;
&lt;P&gt;It’s been just released a few days ago to Codeplex: &lt;B&gt;&lt;A href="http://wcfloadtest.codeplex.com/" mce_href="http://wcfloadtest.codeplex.com/"&gt;WCF Load Test&lt;/A&gt;&lt;/B&gt;. It looks pretty nice! :-)&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Project Description&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;This tool takes a WCF trace file and a WCF client proxy, or a WCF interface contract, and generates a unit test that replays the same sequence of calls found in the trace file. The code generated is easily modifiable so that data variation can be introduced for the purpose of doing performance testing. &lt;BR&gt;The tool generates code for both Visual Studio 2005 and Visual Studio 2008. It also installs a wizard into both editions of Visual Studio for creating the trace and processing it from inside Visual Studio. If both editions are present the tool is installed into both editions. The source code is a Visual Studio 2005 project.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Latest Release June 2009&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;A new beta was released in June 2009 adding &lt;B&gt;support for ASMX web services&lt;/B&gt;. Download it from &lt;A href="http://wcfloadtest.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=26377" mce_href="http://wcfloadtest.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=26377"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Features&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The tool has the following main features: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; Replay of captured scenario in a unit test that can be included in a load test. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; Support for the DataContractSerializer. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; Support for message contracts. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; ASMX support (beta) &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; Support for proxies generated using svcutil. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; Support for clients that create proxies at run time from contract interfaces. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; Supports calls to multiple services in a single scenario. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; Supports multiple calls to the same service operation. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; Filtering by SOAP action of which messages in the trace to replay. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; Readable and modifiable code is generated. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; Automatic association of trace message with proxy method (requires all operations to have a unique SOAP action). &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; Support for client and server side traces. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; A command line tool for processing traces and generating code. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt=* src="http://blogs.msdn.com/controlpanel/blogs/PicExportError" width=13 height=13 mce_src="PicExportError"&gt; Visual Studio 2005/2008 integration (Team Developer, Team Test, Team Suite and for 2008 also Professional)) that can be used instead of the command line tool.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9769382" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="WCF" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/WCF/default.aspx" /></entry><entry><title>Architect Forum XXIII – VSTS.2010 &amp; Tools for Architects (Madrid &amp; Barcelona)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/06/17/architect-forum-xxiii-vsts-2010-tools-for-architects-madrid-barcelona.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/06/17/architect-forum-xxiii-vsts-2010-tools-for-architects-madrid-barcelona.aspx</id><published>2009-06-17T16:51:46Z</published><updated>2009-06-17T16:51:46Z</updated><content type="html">&lt;p&gt;&lt;img border="0" src="http://www.microsoft.com/Spanish/msdn/Spain/eventos/Arquitectos/images/msarquitecture.jpg" width="700" height="211" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Architects Forum XXIII - &lt;em&gt;Visual Studio Team System 2010 &amp;amp; Tools for Software Architects&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Here I post some info &amp;amp; Presentations about the Forums we just delivered in Madrid (May 28th) &amp;amp; Barcelona (June 16th):&lt;/p&gt;  &lt;p&gt;&lt;a title="http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20Arch.Forum%20-%20VSTS.2010" href="http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20Arch.Forum%20-%20VSTS.2010"&gt;http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20Arch.Forum%20-%20VSTS.2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We had around 130 attendees in Madrid and around 90 attendees in Barcelona.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;And some pictures:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/Arc.2010ToolsforArchitectsMadridBarcelon_E0B7/clip_image001_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/Arc.2010ToolsforArchitectsMadridBarcelon_E0B7/clip_image001_thumb.jpg" width="736" height="601" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/Arc.2010ToolsforArchitectsMadridBarcelon_E0B7/clip_image001%5B6%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001[6]" border="0" alt="clip_image001[6]" src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/Arc.2010ToolsforArchitectsMadridBarcelon_E0B7/clip_image001%5B6%5D_thumb.jpg" width="733" height="599" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/Arc.2010ToolsforArchitectsMadridBarcelon_E0B7/clip_image001%5B8%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001[8]" border="0" alt="clip_image001[8]" src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/Arc.2010ToolsforArchitectsMadridBarcelon_E0B7/clip_image001%5B8%5D_thumb.jpg" width="730" height="597" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This was the agenda:&lt;/p&gt;  &lt;p&gt;AGENDA (Spanish)&lt;/p&gt;  &lt;table border="0" cellspacing="3" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="24%"&gt;         &lt;p&gt;Hora&lt;/p&gt;       &lt;/td&gt;        &lt;td width="50%"&gt;         &lt;p&gt;&lt;strong&gt;Descripción&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="23%"&gt;         &lt;p&gt;&lt;em&gt;Ponente&lt;/em&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="24%"&gt;         &lt;p&gt;9:30-9:45&lt;/p&gt;       &lt;/td&gt;        &lt;td width="50%"&gt;         &lt;p&gt;&lt;strong&gt;Presentación del evento y agenda&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="23%"&gt;         &lt;p&gt;Cesar de la Torre&lt;/p&gt;          &lt;p&gt;Microsoft&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="24%"&gt;         &lt;p&gt;9:50-10:40&lt;/p&gt;       &lt;/td&gt;        &lt;td width="50%"&gt;         &lt;p&gt;&lt;strong&gt;&lt;i&gt;Keynote&lt;/i&gt;&lt;/strong&gt;&lt;strong&gt;: Novedades en el ciclo de vida de desarrollo con VSTS 2010&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="23%"&gt;         &lt;p&gt;Aurelio Porras            &lt;br /&gt;Jose Murillo &lt;/p&gt;          &lt;p&gt;Microsoft&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="24%"&gt;         &lt;p&gt;10:40 – 11:10&lt;/p&gt;       &lt;/td&gt;        &lt;td width="50%"&gt;         &lt;p&gt;&lt;strong&gt;Coffee&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="23%"&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="24%"&gt;         &lt;p&gt;11:10 - 12:15&lt;/p&gt;       &lt;/td&gt;        &lt;td width="50%"&gt;         &lt;p&gt;&lt;strong&gt;Herramientas para Arquitectos en VSTS.2010&lt;/strong&gt;&lt;/p&gt;          &lt;p&gt;&lt;strong&gt;Diseño ‘&lt;i&gt;Top-Down&lt;/i&gt;’ de nuevas apps y análisis ‘&lt;i&gt;Bottom up&lt;/i&gt;’ de apps existentes&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="23%"&gt;         &lt;p&gt;César de la Torre &lt;/p&gt;          &lt;p&gt;Microsoft&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="24%"&gt;         &lt;p&gt;12:20 – 13:00&lt;/p&gt;       &lt;/td&gt;        &lt;td width="50%"&gt;         &lt;p&gt;&lt;b&gt;Architecture Explorer ‘a fondo’&lt;/b&gt;&lt;/p&gt;          &lt;p&gt;Todas las posibilidades de esta nueva herramienta.&lt;/p&gt;       &lt;/td&gt;        &lt;td width="23%"&gt;         &lt;p&gt;Bruno Capuano&lt;/p&gt;          &lt;p&gt;Avanade&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="24%"&gt;         &lt;p&gt;13:05 – 13:45&lt;/p&gt;       &lt;/td&gt;        &lt;td width="50%"&gt;         &lt;p&gt;&lt;strong&gt;Integración Continua con TFS 2010.&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="23%"&gt;         &lt;p&gt;Luis Fraile           &lt;br /&gt;MVP VSTS&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="24%"&gt;         &lt;p&gt;13:50 - 14:30&lt;/p&gt;       &lt;/td&gt;        &lt;td width="50%"&gt;         &lt;p&gt;&lt;strong&gt;Cerrando el ciclo de pruebas (Camano)&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="23%"&gt;         &lt;p&gt;Jose Aracil           &lt;br /&gt;TestHouse&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;p&gt;14:30 – 15:30&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;&lt;strong&gt;Comida&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;p&gt;15:30 – 16:15&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;&lt;strong&gt;Test Driven Development no es pruebas antes sino diseño (Desarrollo TDD, Pruebas unitarias, etc.) &lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;Daniel Mazzini           &lt;br /&gt;Renacimiento&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;p&gt;16:20 – 17:05&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;&lt;strong&gt;Novedades en metodologías y seguimiento de proyectos &lt;/strong&gt;(Metodologías, Plantillas, etc.)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;Rodrigo Corral           &lt;br /&gt;Plain-Concepts &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;p&gt;17:10 – 17:30&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;&lt;strong&gt;Conclusiones y Cierre del evento&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;César de la Torre&lt;/p&gt;          &lt;p&gt;Microsoft&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9769827" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author></entry><entry><title>RIA Services (Alexandria) roadmap</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/06/14/ria-services-alexandria-roadmap.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/06/14/ria-services-alexandria-roadmap.aspx</id><published>2009-06-14T13:03:00Z</published><updated>2009-06-14T13:03:00Z</updated><content type="html">&lt;P&gt;Dinesh Kulkarni has written a nice post about RIA Services (Alexandria) roadmap:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://silverlight.net/forums/p/101160/230835.aspx#230835" mce_href="http://silverlight.net/forums/p/101160/230835.aspx#230835"&gt;http://silverlight.net/forums/p/101160/230835.aspx#230835&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;So, RIA Services milestones are:&lt;/P&gt;
&lt;P&gt;- July 2009 CTP &lt;BR&gt;&amp;nbsp;&lt;BR&gt;- PDC 2009 Beta (November)&amp;nbsp;&lt;/P&gt;
&lt;P&gt;- First part of 2010: RTW (Like .NET 4.0)&lt;/P&gt;
&lt;P&gt;Another key point&amp;nbsp;is that we &lt;U&gt;might&lt;/U&gt; provide support for .NET 3.5 SP1 in the server (where you run RIA Services), not just .NET 4.0. I think it is a good point for many customers who are not so agile to &lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA" lang=EN-US&gt;rapidly &lt;/SPAN&gt;change to .NET 4.0. I just want to highlight that I say 'we might'. This is just a possibility, it is not a final commitment. :-)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9750273" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="Silverlight" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Silverlight/default.aspx" /><category term="Alexandria" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Alexandria/default.aspx" /><category term="RIA Services" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/RIA+Services/default.aspx" /></entry><entry><title>Our event: ‘Biztalk Server 2009 news, ESB 2.0 Guidance &amp; WCF LOB SDK Event’ content</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/06/02/our-event-biztalk-server-2009-news-esb-2-0-guidance-wcf-lob-sdk-event-content.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/06/02/our-event-biztalk-server-2009-news-esb-2-0-guidance-wcf-lob-sdk-event-content.aspx</id><published>2009-06-02T16:45:00Z</published><updated>2009-06-02T16:45:00Z</updated><content type="html">&lt;P&gt;&lt;IMG title=WLW-BizTalk2009HandsonDays_14265-clip_image001_thumb.jpg alt=WLW-BizTalk2009HandsonDays_14265-clip_image001_thumb.jpg src="http://ts2.images.live.com/images/thumbnail.aspx?q=830022229077&amp;amp;id=57f61feb3db33a43f542050748e26674" width=183 height=92 mce_src="http://ts2.images.live.com/images/thumbnail.aspx?q=830022229077&amp;amp;id=57f61feb3db33a43f542050748e26674"&gt;&lt;/P&gt;
&lt;P&gt;Today, we just run a Workshop regarding &lt;STRONG&gt;Biztalk Server 2009 news, ESB 2.0 Guidance &amp;amp; WCF LOB SDK&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;I post the presentations here, so any attendee can get it. &lt;/P&gt;
&lt;P&gt;You can grab it from the following SKYDRIVE:&lt;/P&gt;
&lt;P&gt;&lt;A title=http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20Biztalk%202009%20-%20ESB%202.0%20-%20WCF%20LOB%20SDK href="http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20Biztalk%202009%20-%20ESB%202.0%20-%20WCF%20LOB%20SDK" mce_href="http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20Biztalk%202009%20-%20ESB%202.0%20-%20WCF%20LOB%20SDK"&gt;http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20Biztalk%202009%20-%20ESB%202.0%20-%20WCF%20LOB%20SDK&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;BTW, this content is in Spanish, as the event was delivered in Spanish.&lt;/P&gt;
&lt;P&gt;:-)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9685917" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="WCF LOB Adapters" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/WCF+LOB+Adapters/default.aspx" /><category term="Microsoft Events Speaker" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Microsoft+Events+Speaker/default.aspx" /><category term="Biztalk Server" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Biztalk+Server/default.aspx" /></entry><entry><title>We have released a public Visual Studio 2010 Beta1 !!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/05/20/we-have-released-a-public-beta1-visual-studio-2010.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/05/20/we-have-released-a-public-beta1-visual-studio-2010.aspx</id><published>2009-05-20T13:57:00Z</published><updated>2009-05-20T13:57:00Z</updated><content type="html">&lt;p&gt;&lt;a mce_href="http://devdiv/sites/dev10/default.aspx" href="http://devdiv/sites/dev10/default.aspx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/WehavereleasedapublicBeta1VisualStudio20_E082/clip_image002_9429f212-3473-4cba-b462-7455e7289713.jpg" width="101" height="53" src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/WehavereleasedapublicBeta1VisualStudio20_E082/clip_image002_9429f212-3473-4cba-b462-7455e7289713.jpg"&gt; &lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Cool!, So we have just released a public Visual Studio 2010 Beta1  and, of course, VSTS 2010 and Team Foundation Server (Beta1), as well.&lt;/p&gt;  &lt;p&gt;MSDN subscribers can actually download it today from MSDN site, but you can also install it from this public URL:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=85520793-68fc-4361-a8b6-dc2cff49c8d2&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=85520793-68fc-4361-a8b6-dc2cff49c8d2&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=85520793-68fc-4361-a8b6-dc2cff49c8d2&amp;amp;displaylang=en"&gt;&lt;/a&gt; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9632222" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term=".NET 4.0" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/.NET+4.0/default.aspx" /><category term="VSTS 2010" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/VSTS+2010/default.aspx" /></entry><entry><title>"Non Windows users" in AzMan (Authorization Manager)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/05/09/non-windows-users-in-azman-authorization-manager-using-the-new-version-in-windows-server-2008-r2-and-windows-7.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/05/09/non-windows-users-in-azman-authorization-manager-using-the-new-version-in-windows-server-2008-r2-and-windows-7.aspx</id><published>2009-05-09T17:16:00Z</published><updated>2009-05-09T17:16:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/NonWindowsusersinAzManAuthorizationManag_9D36/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/NonWindowsusersinAzManAuthorizationManag_9D36/image_thumb.png" width=186 height=31&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H1&gt;&lt;STRONG&gt;AzMan background &lt;/STRONG&gt;&lt;/H1&gt;
&lt;P&gt;&lt;STRONG&gt;AzMan&lt;/STRONG&gt; (&lt;STRONG&gt;Authorization Manager&lt;/STRONG&gt;) is the best Microsoft technology to implement role &amp;amp; permissions based security for your applications.&lt;/P&gt;
&lt;P&gt;It exists as part of Windows Server (and Windows "workstation"), since versions Windows Server 2003 and Windows XP. If you want to take a look of its management tool, just run it: &lt;STRONG&gt;"Start azman.msc"&lt;/STRONG&gt; (from cmd or search).&lt;/P&gt;
&lt;P&gt;In Windows Server 2003 old days, your app users had to be Windows users, which in fact, is the most common way. Even today, with current AzMan version, you normally will use Windows users for your apps. But, sometimes, you need non-Windows users for external apps, or for any reason you want. So, in the first AzMan version, you “could use” custom users, but in a very limited way, based on your custom app-users DB tables or any repository, but then you could not use the AzMan administration MMC snap-in to manage those users within roles, etc., you had to use just the APIs for AzMan administration, then...&lt;/P&gt;
&lt;P&gt;In &lt;STRONG&gt;Windows Server 2008&lt;/STRONG&gt; and &lt;STRONG&gt;Windows Vista&lt;/STRONG&gt; AzMan version, &lt;STRONG&gt;SQL Server support for Stores&lt;/STRONG&gt; and AD LDS, was added (formerly we could store our metadata just on &lt;STRONG&gt;Active Directory, ADAM,&lt;/STRONG&gt; or &lt;STRONG&gt;XML files&lt;/STRONG&gt;).&lt;/P&gt;
&lt;P&gt;For instance, this is the definition string when using SQL Server as your AzMan store: &lt;/P&gt;
&lt;P&gt;mssql://Driver={SQL Server};Server={CESARDLSQLSERVER};/AzManDb/AzStore&lt;/P&gt;
&lt;P&gt;Here you can see AzMan console, where you can administer your App’s permissions (operations), roles and assignments:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/NonWindowsusersinAzManAuthorizationManag_9D36/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/NonWindowsusersinAzManAuthorizationManag_9D36/image_thumb_1.png" width=706 height=414&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Ok, so far, I’ve told you just a bit of AzMan’s background, but nothing about "Non Windows Users" in AzMan, so there we go!&lt;/P&gt;
&lt;H1&gt;"Non Windows Users" in AzMan&lt;/H1&gt;
&lt;P&gt;Since &lt;STRONG&gt;Windows Server 2008&lt;/STRONG&gt; and &lt;STRONG&gt;Windows Vista&lt;/STRONG&gt;, and now also in &lt;STRONG&gt;Windows Server 2008 R2&lt;/STRONG&gt; and &lt;STRONG&gt;Windows 7&lt;/STRONG&gt;, we have AzMan MMC Snap-in support for our custom app users (DB tables, AD LDS, any LDAP directory, etc.), using a "&lt;STRONG&gt;Custom Object Picker&lt;/STRONG&gt;"!!. :-)&lt;/P&gt;
&lt;P&gt;You can check it out here, it was updated in MSDN on March 9, 2009:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://technet.microsoft.com/en-us/library/cc770724(WS.10).aspx" mce_href="http://technet.microsoft.com/en-us/library/cc770724(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/cc770724(WS.10).aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Also, within AzMan help, you can read the following:&lt;/P&gt;
&lt;P&gt;"&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;With Authorization Manager, you can include users or groups from any source that can be defined or referenced by the Authorization Manager application programming interface (API). In order to include users and groups from external sources, you must write or acquire a custom object picker. A custom object picker is a software component that can be installed on your system to allow an Authorization Manager administrator to access data stored in an external application.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;For more information, see &lt;/EM&gt;&lt;A href="http://go.microsoft.com/fwlink/?LinkID=64027" target=_blank alt="alt"&gt;&lt;?XML:NAMESPACE PREFIX = [default] http://ddue.schemas.microsoft.com/authoring/2003/5 NS = "http://ddue.schemas.microsoft.com/authoring/2003/5" /&gt;&lt;linktext xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;&lt;EM&gt;Authorization Manager Model&lt;/EM&gt;&lt;/linktext&gt;&lt;/A&gt;&lt;EM&gt; (http://go.microsoft.com/fwlink/?linkid=64027).&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;The permissions required to perform this task will vary for each custom object picker.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class=alertTable cellSpacing=0 cellPadding=0 class="alertTable"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=imgCell class="imgCell"&gt;&lt;EM&gt;&lt;/IMG&gt;&lt;/EM&gt;&lt;/TD&gt;
&lt;TD class=procHeadingCell class="procHeadingCell"&gt;&lt;B&gt;&lt;EM&gt;Choose users or groups with a custom object picker&lt;/EM&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;steps xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;&lt;/steps&gt;
&lt;OL class=ordered xmlns="xmlns"&gt;
&lt;LI&gt;&lt;content xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;
&lt;P xmlns="xmlns"&gt;&lt;EM&gt;Install the custom object picker according to the instructions provided with the non-Microsoft software.&lt;/EM&gt;&lt;/P&gt;&lt;/content&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;content xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;
&lt;P xmlns="xmlns"&gt;&lt;EM&gt;The custom object picker will be added to the &lt;B&gt;Assign users and groups from&lt;/B&gt; menu choices under the &lt;B&gt;Role Assignments&lt;/B&gt; node and to the drop-down list in the &lt;B&gt;Members&lt;/B&gt; and &lt;B&gt;Exclusions&lt;/B&gt; tab of the properties sheet for basic application groups. Choose the entry installed by the custom object picker installation process.&lt;/EM&gt;&lt;/P&gt;&lt;/content&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;content xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;
&lt;P xmlns="xmlns"&gt;&lt;EM&gt;Select users from the external source, according to the instructions provided with the custom object picker.&lt;/EM&gt;&lt;/P&gt;&lt;/content&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;" 
&lt;P&gt;So, logically, it is not a ver straight forward capability, as you could have any DB schema (or any kind of repository) for your users, therefore, you must develop your "Custom Object Picker" in order to be able to select/assing your users.&lt;/P&gt;
&lt;P&gt;I beleive there is a sample "&lt;STRONG&gt;Custom Object Picker&lt;/STRONG&gt;" within Windows SDK. At the moment, the newest SDK is the &lt;STRONG&gt;Windows SDK for Windows 7 and .NET Framework 3.5 SP1 - RC&lt;/STRONG&gt; (Published on 5/4/2009):&lt;/P&gt;
&lt;P&gt;ISO: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=6db1f17f-5f1e-4e54-a331-c32285cdde0c"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=6db1f17f-5f1e-4e54-a331-c32285cdde0c&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Web setup: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f75f2ca8-c1e4-4801-9281-2f5f28f12dbd"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=f75f2ca8-c1e4-4801-9281-2f5f28f12dbd&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I still have to research more on this capability ("&lt;STRONG&gt;Custom Object Picker&lt;/STRONG&gt;"), I'll try to extend this post when I'll do it. :-)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;RESOURCES&lt;/STRONG&gt; (Some useful links about AzMan):&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/donovanf/archive/2007/03/08/windows-authorization-manager-azman-the-best-kept-secret.aspx"&gt;http://blogs.msdn.com/donovanf/archive/2007/03/08/windows-authorization-manager-azman-the-best-kept-secret.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/donovanf/archive/2007/04/05/azman-in-windows-vista-you-bet-and-longhorn-too.aspx"&gt;http://blogs.msdn.com/donovanf/archive/2007/04/05/azman-in-windows-vista-you-bet-and-longhorn-too.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://sourceforge.net/projects/netsqlazman/"&gt;http://sourceforge.net/projects/netsqlazman/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://forums.asp.net/t/1124227.aspx"&gt;http://forums.asp.net/t/1124227.aspx&lt;/A&gt; (Last post, from David Crawford, is quite interesting)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9599449" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="AzMan" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/AzMan/default.aspx" /><category term="Security" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Security/default.aspx" /></entry><entry><title>How to install a Loopback Adapter in Windows 7</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/05/06/how-to-install-a-loopback-adapter-in-windows-7.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/05/06/how-to-install-a-loopback-adapter-in-windows-7.aspx</id><published>2009-05-06T10:24:00Z</published><updated>2009-05-06T10:24:00Z</updated><content type="html">&lt;P&gt;It turns out that adding a &lt;STRONG&gt;Loopback adapter&lt;/STRONG&gt; in &lt;STRONG&gt;Windows 7&lt;/STRONG&gt; is a little bit tricky, because we have no "Add Hardware" menu icon within Control Panel, anymore. Everything is supposed to be detected by Windows 7. (At least in current Windows 7 RC1).&lt;/P&gt;
&lt;P&gt;But if we're talking about a "Loopback Netwrok Adapter", it really cannot be detected, as it is a virtual device..&lt;/P&gt;
&lt;P&gt;In any case, if you want to run the Wizard where you can manually add hardware, you need to start it from the COMMAND PROMPT:&lt;/P&gt;
&lt;P&gt;1.- Run cmd, but do it like: "Run as Administrator"&lt;/P&gt;
&lt;P&gt;2.- From the command prompt, write down "hdwwiz.exe" and execute it. Then, the "Add Hardware Wizard" will be launched.&lt;/P&gt;
&lt;P&gt;3.- Select: Install hardware manually --&amp;gt; Network Adapters --&amp;gt; Microsoft --&amp;gt; Microsoft Loopback Adapter.&lt;/P&gt;
&lt;P&gt;You can read more info about it (step by step) in the following URL:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/" mce_href="http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/"&gt;http://www.windowsreference.com/windows-7/how-to-install-a-loopback-adapter-in-windows-7/&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9590935" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="Windows 7" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Windows+7/default.aspx" /></entry><entry><title>Using “MUrl” – A textual Oslo DSL for RESTful Clients</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/using-murl-a-textual-oslo-dsl-for-restful-clients.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/using-murl-a-textual-oslo-dsl-for-restful-clients.aspx</id><published>2009-04-20T19:23:00Z</published><updated>2009-04-20T19:23:00Z</updated><content type="html">&lt;TABLE border=0 cellSpacing=0 cellPadding=2 width=400&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=123&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/image_6.png"&gt;&lt;STRONG&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/image_thumb_2.png" width=108 height=59 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/image_thumb_2.png"&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=277&gt;&lt;STRONG&gt;“MUrl” is a textual DSL and runtime for interacting with REST/HTTP services.&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;H3&gt;It is actually just a great Oslo-DSL sample, as you can download it (all its source code) from MSDN.com:&lt;/H3&gt;
&lt;P&gt;&lt;A href="http://download.microsoft.com/download/4/0/B/40B632EC-F201-43EE-8E29-C398A9DA8468/MUrlSample.msi" mce_href="http://download.microsoft.com/download/4/0/B/40B632EC-F201-43EE-8E29-C398A9DA8468/MUrlSample.msi"&gt;http://download.microsoft.com/download/4/0/B/40B632EC-F201-43EE-8E29-C398A9DA8468/MUrlSample.msi&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;As long as I know, “MUrl” has been mainly developed by &lt;STRONG&gt;Douglas Purdy&lt;/STRONG&gt;. I saw his session at MIX09, which was fabulous; so now, I want to explain what “MUrl” is and how to use it. This post is, in fact, explaining most of the content that Doug told in MIX09.&lt;/P&gt;
&lt;P&gt;So, Just like we already have within &lt;STRONG&gt;Oslo&lt;/STRONG&gt; and &lt;STRONG&gt;“M” Language&lt;/STRONG&gt;, the following &lt;STRONG&gt;DSLs&lt;/STRONG&gt;, at different levels: &lt;/P&gt;
&lt;P&gt;- &lt;B&gt;MGraph&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;- &lt;B&gt;MSchema&lt;/B&gt; (for SQL)&lt;/P&gt;
&lt;P&gt;- &lt;B&gt;MGrammar&lt;/B&gt; (to create custom DSLs)&lt;/P&gt;
&lt;P&gt;We will have many more Oslo DSLs, (many of them, initially as examples), like:&lt;/P&gt;
&lt;P&gt;- &lt;B&gt;MUrl&lt;/B&gt; (DSL for consuming Services, &lt;U&gt;this is the one I’m going to write about&lt;/U&gt;)&lt;/P&gt;
&lt;P&gt;- &lt;B&gt;MService&lt;/B&gt; (DSL for building Services, based on WCF-REST, not released, yet)&lt;/P&gt;
&lt;P&gt;- &lt;B&gt;MWeb&lt;/B&gt; (DSL for building Webs, based on ASP.NET, not released, yet)&lt;/P&gt;
&lt;P&gt;- &lt;B&gt;MEntity&lt;/B&gt; (DSL for building Entity Framework graphs, etc., not released, yet)&lt;/P&gt;
&lt;P&gt;- Your great “MCustomSmartDSL”… ;-)&lt;/P&gt;
&lt;P&gt;Ok, so &lt;B&gt;"MUrl"&lt;/B&gt; is an "M" based domain specific language (DSL) that provides a very compact and intuitive mechanism to communicate with RESTful services. You can use it from INTELLIPAD (for testing) or you can even use its run time from a .NET program (I’ll show both in this post). &lt;/P&gt;
&lt;H4&gt;Using “MUrl” from INTELLIPAD.&lt;/H4&gt;
&lt;P&gt;Steps:&lt;/P&gt;
&lt;P&gt;1.- First of all, install download from the URL I wrote up above, and install it. Or course, you need to have Oslo SDK already installed, as pre-requisite.&lt;/P&gt;
&lt;P&gt;2.- Start INTELLIPAD and select “MURL Mode” like I show below:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image002_thumb.jpg" width=659 height=381 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;3.- Then we can just start writing and executing HTTP requests!. Type:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://live.com/" mce_href="http://live.com"&gt;http://live.com&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Select that text line, and press Ctrl+Enter to execute that request. You’ll see the results in a pane on the right:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image004 border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image004_thumb.jpg" width=669 height=328 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;We can check that the HTTP status is OK, so we get the info. All right, It works!.&lt;/P&gt;
&lt;P&gt;4.- Even better, now we’re going to consume RESTFul Web Services, like the TWITTER service.&lt;/P&gt;
&lt;P&gt;I login into TWITTER, just to show what messages I have:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image006 border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image006_thumb.jpg" width=675 height=373 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Right, so last message is the one that says: “Yes! OSLO and MUrl rocks!!”.&lt;/P&gt;
&lt;P&gt;We can query info from TWITTER, like executing the following GET request:&lt;/P&gt;
&lt;P&gt;GET &lt;A href="http://twitter.com/statuses/public_timeline.xml" mce_href="http://twitter.com/statuses/public_timeline.xml"&gt;http://twitter.com/statuses/public_timeline.xml&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;We get the HTTP results. Nice, nothing new, similar than before, but now we’re quering a REST Web Service:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image008_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image008 border=0 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image008_thumb.jpg" width=686 height=291 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;5.- In this step we’re going to submit a message to TWITTER service using MUrl. Now, type the following text into INTELLIPAD: 
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=569&gt;
&lt;P&gt;POST http://twitter.com/statuses/update.xml&lt;/P&gt;
&lt;P&gt;with [&amp;lt;status&amp;gt;Este lo voy a borrar desde MUrl....&amp;lt;/status&amp;gt;]&lt;/P&gt;
&lt;P&gt;as text/xml&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;If you just execute that POST, you’ll get a 401 Http error, because in order to submit content to TWITTER, you must be authenticated, and we’re not, yet:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image010_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image010_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image010 border=0 alt=clip_image010 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image010_thumb.jpg" width=695 height=298 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image010_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;We’re going to use WINDOWS CREDENTIALS MANAGER to create custom credentials for TWITTER. We’ll use it later on from MUrl.&lt;/P&gt;
&lt;P&gt;Enter into Control Panel\User Accounts and Family Safety\Credential Manager:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image012_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image012_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image012 border=0 alt=clip_image012 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image012_thumb.jpg" width=702 height=469 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image012_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;As you can see, I have created a ‘Generic Credential’ called “Twitter”. You can do the same clicking on the “Add a generic credential” link.&lt;/P&gt;
&lt;P&gt;It is simple; it is composed by a Credential-Name, User Name and a Password:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image014_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image014_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image014 border=0 alt=clip_image014 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image014_thumb.jpg" width=706 height=270 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image014_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Remember the credential’s name, as that name we’re going to use it from MUrl, ok?. (In my case, I just called it “Twitter”).&lt;/P&gt;
&lt;P&gt;Then, add the following text to the original MUrl text request we wrote: 
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=576&gt;
&lt;P&gt;“authenticate using [Twitter]”&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image016_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image016_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image016 border=0 alt=clip_image016 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image016_thumb.jpg" width=707 height=303 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image016_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;And now…, It works!! :-). You can check it down below at my TWITTER web page:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image018_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image018_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image018 border=0 alt=clip_image018 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image018_thumb.jpg" width=627 height=336 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image018_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;BTW, I had to change MUrl internal code in order to run it using Authentication.&lt;/P&gt;
&lt;P&gt;If you get the &lt;STRONG&gt;"Expectation Failed" error message&lt;/STRONG&gt;, you have to fix it, as well. Take a look to this post:&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 8pt"&gt;&lt;FONT face=Calibri&gt;See: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://www.biztalkgurus.com/blogs/biztalksyn/archive/2009/04/05/issue-with-the-first-release-of-murl-sample-and-twitter.aspx"&gt;&lt;SPAN style="FONT-SIZE: 8pt"&gt;&lt;FONT face=Calibri&gt;http://www.biztalkgurus.com/blogs/biztalksyn/archive/2009/04/05/issue-with-the-first-release-of-murl-sample-and-twitter.aspx&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;So, there you have it!, you can use MUrl directly from INTELLIPAD.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;Using “MUrl” from a .NET app.&lt;/H4&gt;
&lt;P&gt;Steps:&lt;/P&gt;
&lt;P&gt;1.- Now we’re going to develop a .NET program which consumes MUrl DSL RUNTIME. It is a nice way to shrink .NET code…&lt;/P&gt;
&lt;P&gt;In this case, I have a WPF app which is kind of a TWITTER message editor/submitter:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image020_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image020_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image020 border=0 alt=clip_image020 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image020_thumb.jpg" width=774 height=486 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image020_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Take into account that I added two references to:&lt;/P&gt;
&lt;P&gt;- MUrlLib&lt;/P&gt;
&lt;P&gt;- System.DataFlow&lt;/P&gt;
&lt;P&gt;Then, I wrote the following .NET code to be executed when the button ‘Upload Message to Twitter’ is pressed:&lt;/P&gt;
&lt;P&gt;.NET CODE:&lt;/P&gt;
&lt;P&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=569&gt;
&lt;P&gt;var runtime = new Microsoft.Languages.MUrl.MUrlRuntime();&lt;/P&gt;
&lt;P&gt;string twitterCommand = @"POST http://twitter.com/statuses/update.xml with [&amp;lt;status&amp;gt;"&lt;/P&gt;
&lt;P&gt;+ txtTwitterMessage.Text + "&amp;lt;/status&amp;gt;] "&lt;/P&gt;
&lt;P&gt;+ "as text/xml "&lt;/P&gt;
&lt;P&gt;+ "authenticate using [Twitter]";&lt;/P&gt;
&lt;P&gt;var statements = runtime.Parse(twitterCommand);&lt;/P&gt;
&lt;P&gt;var result = runtime.Execute(statements.ElementAt(0));&lt;/P&gt;
&lt;P&gt;MessageBox.Show(result.AsXml().ToString());&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;You can see that we’re constructing the same kind of simple MUrl text but within our .NET code… And, it just works in the same way!.&lt;/P&gt;
&lt;H4&gt;Looking into MUrl DSL M-Grammar program.&lt;/H4&gt;
&lt;P&gt;Cool!. So up to now, we’ve been just using this cool textual Oslo DSL. But because of it is just a sample, we can take a look at how it is implemented.&lt;/P&gt;
&lt;P&gt;1.- Start INTELLIPAD and open the file “&lt;STRONG&gt;murl.mg&lt;/STRONG&gt;” which you can find as part of the downloaded MUrl stuff. You’ll see something like this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image022_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image022_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image022 border=0 alt=clip_image022 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image022_thumb.jpg" width=730 height=424 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image022_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I want to highlight that now we’re running on MGrammar Mode, just like the custom DSL sample I wrote in this blog-post:&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Creating a simple Textual DSL with Oslo, “M” Language, MGrammar and Intellipad&lt;/B&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/creating-a-simple-textual-dsl-with-oslo-m-language-mgrammar-and-intellipad.aspx" mce_href="http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/creating-a-simple-textual-dsl-with-oslo-m-language-mgrammar-and-intellipad.aspx"&gt;http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/creating-a-simple-textual-dsl-with-oslo-m-language-mgrammar-and-intellipad.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;But in this case, it is a bit more complicated, of course.&lt;/P&gt;
&lt;P&gt;2.- Change to MGrammar-Mode--&amp;gt; Tree Preview&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image024_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image024_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image024 border=0 alt=clip_image024 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image024_thumb.jpg" width=733 height=186 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image024_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;It will ask you for an INPUT FILE, so…, just provide the MUrl Text we were writing!! (I called “MUrl Demo Sentences.murl”).&lt;/P&gt;
&lt;P&gt;Then, you can see how MUrl M-Grammar program is translating MUrl text to HTTP requests data (which will be used be MUrl runtime):&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image026_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image026_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image026 border=0 alt=clip_image026 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image026_thumb.jpg" width=730 height=316 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image026_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;We can even change the MUrl syntax from within the “murl.mg” file, so for instance, we can now say that in order to do a GET, you can type DAME (in Spanish) or OBTAIN, as well. And it will work just the same! ;-)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image028_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image028_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image028 border=0 alt=clip_image028 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image028_thumb.jpg" width=908 height=433 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/UsingMUrlAtextualOsloDSLforRESTfulClient_12C3A/clip_image028_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Well, you can research on it (murl.mg) a bit more, It is quite interesting…&lt;/P&gt;
&lt;P&gt;So, here we go!, “MUrl”!, a great Oslo DSL Sample! &lt;/P&gt;
&lt;P&gt;Thanks Doug for this nice development!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9557149" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="Oslo" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Oslo/default.aspx" /><category term="M Language" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/M+Language/default.aspx" /><category term="MUrl" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/MUrl/default.aspx" /></entry><entry><title>Creating a simple Textual DSL with Oslo, “M” Language, MGrammar and Intellipad</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/creating-a-simple-textual-dsl-with-oslo-m-language-mgrammar-and-intellipad.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/creating-a-simple-textual-dsl-with-oslo-m-language-mgrammar-and-intellipad.aspx</id><published>2009-04-20T17:12:00Z</published><updated>2009-04-20T17:12:00Z</updated><content type="html">&lt;P&gt;&lt;IMG src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/image_2.png" width=43 height=43 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/image_2.png"&gt; &lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/image_thumb.png" width=47 height=45 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/image_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I wrote a post about Oslo and “M” Language and how you can use it to model data. But in that case, we were not using our own custom Textual DSL, we were using just “M” Language. You can see that post here:&lt;/P&gt;
&lt;P&gt;Starting using OSLO, “M” Language, Oslo Repository and Intellipad&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/starting-using-oslo-m-language-oslo-repository-and-intellipad.aspx" mce_href="http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/starting-using-oslo-m-language-oslo-repository-and-intellipad.aspx"&gt;http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/starting-using-oslo-m-language-oslo-repository-and-intellipad.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;What I’m going to create now, is a &lt;B&gt;Custom Textual DSL sample (DSL == Domain Specific Language)&lt;/B&gt;, based on &lt;STRONG&gt;Oslo&lt;/STRONG&gt;. It is going to be very, very simple. I just want to show the essence of “M” Language and MGrammar and how we can use Intellipad for that.&lt;/P&gt;
&lt;P&gt;Intellipad is a text editor that comes with OSLO SDK, but as you can suppose (because of its name) it is kind of “intelligent”, I mean, it is Oslo Textual DSL oriented. ;-)&lt;/P&gt;
&lt;P&gt;I’m using OSLO SDK January CTP (Kind of a OSLO’s Pre-Beta). You can download it from this URL:&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Microsoft "Oslo" SDK - January 2009 CTP (Refresh)&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f2f4544c-626c-44a3-8866-b2a9fe078956&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f2f4544c-626c-44a3-8866-b2a9fe078956&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=f2f4544c-626c-44a3-8866-b2a9fe078956&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Basically, &lt;STRONG&gt;Intellipad&lt;/STRONG&gt; gives you support for creating &lt;STRONG&gt;custom DSLs&lt;/STRONG&gt; using the &lt;STRONG&gt;MGrammar&lt;/STRONG&gt; language. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;1.- Starting Intellipad with MGrammar support&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Launch Intellipad with sample plug-ins loaded (from the &lt;B&gt;start menu, Oslo SDK,&amp;nbsp; Icon called “Intellipad (Samples Enabled)”&lt;/B&gt;)or pass it a startup configuration file that includes the samples directory (startup config files are specified using the /c option). An example would be: ipad.exe /c: ipad-vs-samples.xaml &lt;/P&gt;
&lt;P&gt;In the future, the MGrammar Language support will not require loading with samples. This is just because of this beta.&lt;/P&gt;
&lt;P&gt;So now, change Intellipad mode to “M-Grammar”, like the following:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image002_thumb.jpg" width=684 height=378 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;2.- Input file and our model’s text data&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;So, instead of starting writing M-Grammar like crazy (you should know its syntax, first), we’re going to start writing our model’s data, I mean, the simplified and even natural text I would like to provide as the origin.&lt;/P&gt;
&lt;P&gt;Because of that, create an empty file (like a .TXT file) called “&lt;B&gt;My DSL Input Data.input&lt;/B&gt;”, for instance. Put it in any folder you like.&lt;/P&gt;
&lt;P&gt;Therefore, we need the pane to start writing in that ‘input file’. You get that pane/window when selecting “MGrammar Mode” menu and then select “Tree Preview”, like in the following screen:&lt;U&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image004 border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image004_thumb.jpg" width=697 height=229 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Then, you’ll get a dialog asking for you input file, like this one:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image006 border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image006_thumb.jpg" width=701 height=399 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Then, go and select that empty ‘My DSL Input Data’ file.&lt;/P&gt;
&lt;P&gt;You’ll see &lt;I&gt;Intellipad&lt;/I&gt; in the following form:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image008_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image008 border=0 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image008_thumb.jpg" width=897 height=466 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Cool!, so let’s start writing something we’d like to be consumed by our TEXTUAL DSL. For instance, the following text: 
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=576&gt;
&lt;P&gt;"Office 2007" by "Microsoft" is "nice"&lt;/P&gt;
&lt;P&gt;"Windows 7" by "Microsoft" is "great"&lt;/P&gt;
&lt;P&gt;"Visual Studio 2010" by "Microsoft" is "great"&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Very simple, so, regarding that text, there are several products, company-names and adjectives, and, in this case, just the terms “by” and “is” are actually my language terms. You’ll see it like this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image010_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image010_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image010 border=0 alt=clip_image010 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image010_thumb.jpg" width=896 height=357 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image010_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;So far, very simple. Now, I’m going to write my DSL program based on M-Grammar. You can copy &amp;amp; paste it on the MGrammar Mode pane: 
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=576&gt;
&lt;P&gt;&lt;STRONG&gt;module&lt;/STRONG&gt; DemosOslo&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;language&lt;/STRONG&gt; MyCatalogLanguage&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;syntax&lt;/STRONG&gt; Main = a:Product+ =&amp;gt; SoftwareCatalog { valuesof(a) };&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;syntax&lt;/STRONG&gt; Product = productName:Name "by" company:Name "is" rating:Name&lt;/P&gt;
&lt;P&gt;=&amp;gt; {ProductName = productName, CompanyName = company, Rating = rating};&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;token&lt;/STRONG&gt; Name = '"' n:(any - '"')+ '"' =&amp;gt; n;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;interleave&lt;/STRONG&gt; IgnoreMe = " " | "\n" | "\r";&lt;/P&gt;
&lt;P&gt;} &lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Then, you can see how MGrammar transforms the input text to the final form:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image012_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image012_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image012 border=0 alt=clip_image012 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image012_thumb.jpg" width=964 height=448 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/CreatingasimpleTextualDSLwithOsloMLangua_10DB7/clip_image012_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This is the generated data, in case you cannot read it on the copied screen:&lt;/P&gt;
&lt;P&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0 width=485&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=483&gt;
&lt;P&gt;&lt;STRONG&gt;SoftwareCatalog&lt;/STRONG&gt;{ &lt;BR&gt;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;ProductName&lt;/STRONG&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Office 2007" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;CompanyName&lt;/STRONG&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Microsoft" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Rating&lt;/STRONG&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "nice" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp; }, &lt;BR&gt;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;ProductName&lt;/STRONG&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Windows 7" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;CompanyName&lt;/STRONG&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Microsoft" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Rating&lt;/STRONG&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "great" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp; } &lt;BR&gt;}&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Likewise, “M” Language works internally in a similar way, but it uses the M-Grammar program called &lt;B&gt;M.mg&lt;/B&gt; (you can find it in the SDK, check it), instead the simple one we’re using here (I called it &lt;B&gt;SoftwareCatalogMGrammar.mg&lt;/B&gt;). &lt;/P&gt;
&lt;P&gt;Another great example is the new &lt;B&gt;“MUrl” textual DSL&lt;/B&gt;, which is a M-based textual DSL and RunTime to build RESTFul Services clients (just the client) in a very simple way. I might write another post about MUrl, because it rocks! :-)&lt;/P&gt;
&lt;P&gt;There’s gonna be another textual DSL to actually build RESTFul services. It is called &lt;B&gt;“MService”&lt;/B&gt;, but it is not still released. Douglas Purdy showed it a few weeks ago in MIX09, in Las Vegas. It really looks quite nice, as well. &lt;/P&gt;
&lt;P&gt;Just want to highlight that Oslo, “M” Language and Quadrant are tools to create any kind of DSL Tools. Oslo is a “Modeling platform for ALL”. We’re not just talking about data or web-services, we’ll be talking about modeling ANYTHING!. :-)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9556962" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="Oslo" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Oslo/default.aspx" /></entry><entry><title>Starting using OSLO, “M” Language, Oslo Repository and Intellipad</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/starting-using-oslo-m-language-oslo-repository-and-intellipad.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/starting-using-oslo-m-language-oslo-repository-and-intellipad.aspx</id><published>2009-04-20T13:37:00Z</published><updated>2009-04-20T13:37:00Z</updated><content type="html">&lt;TABLE border=0 cellSpacing=0 cellPadding=2 width=872&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=89&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/image_thumb.png" width=122 height=122 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/image_thumb.png"&gt;&lt;/A&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=781&gt;
&lt;P&gt;&lt;B&gt;Microsoft “OSLO”&lt;/B&gt; is Microsoft’s next generation of Modeling Platform, Tools and DSLs. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;OSLO&lt;/B&gt; is basically composed by: &lt;/P&gt;
&lt;P&gt;- &lt;B&gt;“M” Language&lt;/B&gt; (For Data Modeling and Textual DSLs ) &lt;/P&gt;
&lt;P&gt;- &lt;B&gt;QUADRANT&lt;/B&gt; (Visual Tool for Visual Modeling) &lt;/P&gt;
&lt;P&gt;- &lt;B&gt;Oslo Repository&lt;/B&gt; (Based on SQL Server. IT is the Oslo’s data store, for meta-data and data itself) &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;You can actually research about Microsoft OSLO using the published “Oslo” SDK January 2009 CTP. This is the version I’m using for this post. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Download - Microsoft "Oslo" SDK - January 2009 CTP (Refresh)&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f2f4544c-626c-44a3-8866-b2a9fe078956&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f2f4544c-626c-44a3-8866-b2a9fe078956&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=f2f4544c-626c-44a3-8866-b2a9fe078956&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;What I’m going to do in this post, is to play a bit with INTELLIPAD, “M” Language and OSLO Repository, so we can see what it is about. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Keep in midn that this post is about “DATA MODELING with OSLO and M-Language”, but in the future, we could potencially model anything with OSLO (Web Services, Workflows, Deployments, custom specific domains, etc.)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;So, &lt;STRONG&gt;Intellipad&lt;/STRONG&gt; is a very special text editor that comes with OSLO SDK, but as you can suppose (because of its name), it is kind of “intelligent”, I mean, it is &lt;B&gt;Oslo Textual DSL&lt;/B&gt; oriented and aware. ;-) &lt;/P&gt;
&lt;P&gt;So, &lt;B&gt;Intellipad&lt;/B&gt; gives you support for directly writing in “M” Language. At the end of the day, Intellipad lets you write and execute any TEXTUAL-DSL you have installed over Intellipad.&lt;/P&gt;
&lt;P&gt;I’m going to use Intellipad to write simple “M” Language arbitrary data and we’ll see how Intellipad translates to specific languages like TSQL, etc.&lt;/P&gt;
&lt;P&gt;Steps to do:&lt;/P&gt;
&lt;P&gt;1.- Open Intellipad. You’ll see it like that:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image002_thumb.jpg" width=575 height=256 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;2.- Select “M Mode” as current Intellipad mode:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image004 border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image004_thumb.jpg" width=580 height=119 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;3.- We’re going to create kind of a ‘Software Catalog’ or Library. It could be a Library about books, songs or whatever, but I chose to do it about Software products, ok?.&lt;/P&gt;
&lt;P&gt;So we start typing the following M-code that you can copy&amp;amp;paste:&lt;/P&gt;
&lt;P&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=576&gt;
&lt;P&gt;module OsloDemos&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;SoftwareCatalog&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;{ProductName = "Windows 7", Company = "Microsoft", Rating = 3},&lt;/P&gt;
&lt;P&gt;{ProductName = "Windows Vista", Company = "Microsoft", Rating = 3},&lt;/P&gt;
&lt;P&gt;{ProductName = "Visual Studio 2010", Company = "Microsoft", Rating = 3}&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;You’ll see it like that:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image006 border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image006_thumb.jpg" width=653 height=256 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Nice, it is very simple and intuitive as we’re focusing just on the data I’m handling, right?. M-code with Data and metadata can be stored in Oslo Repository, but before doing so, I’m going to show you how this M-Mode DSL understands that code. I mean, Intellipad can actually translate that code to T-SQL (SQL Sentences for schema and data)…&lt;/P&gt;
&lt;P&gt;4.- It is very easy to generate that T-SQL code, just change M Mode to “Generic T-SQL Preview”:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image008_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image008 border=0 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image008_thumb.jpg" width=659 height=258 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Then, we have another pane, to the right, where M runtime has translated our simple data code to T-SQL:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image010_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image010_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image010 border=0 alt=clip_image010 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image010_thumb.jpg" width=754 height=451 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image010_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;As you can see, it generates SQL Sentences in order to create the table and then INSERT sentences in order to insert that data. It is interesting that it guesses the data schema types depending on actual data. For instance, nvarchar(max) for ProductName, etc.&lt;/P&gt;
&lt;P&gt;5.- We can even specify constraints or restrictions. For instance, I want to specify that we have an entity type called ‘Product’, and that my data within SoftwareCatalog is based on that entity.&lt;/P&gt;
&lt;P&gt;We type the following, after our actual M code: 
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=576&gt;
&lt;P&gt;SoftwareCatalog : Product*;&lt;/P&gt;
&lt;P&gt;type Product&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;ProductName : Text;&lt;/P&gt;
&lt;P&gt;Company: Text;&lt;/P&gt;
&lt;P&gt;Rating: Integer32;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Therefore, we’re explicitly declaring what and how is our data type.&lt;/P&gt;
&lt;P&gt;We can even set restrictions, like field length, etc, like the following: 
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=576&gt;
&lt;P&gt;SoftwareCatalog : Product*;&lt;/P&gt;
&lt;P&gt;type Product&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;ProductName : Text where value.Count &amp;lt;= 128;&lt;/P&gt;
&lt;P&gt;Company: Text where value.Count &amp;lt;= 128;&lt;/P&gt;
&lt;P&gt;Rating: Integer32;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;You can check that it is changing the generated T-SQL, on the right side:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image012_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image012_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image012 border=0 alt=clip_image012 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image012_thumb.jpg" width=715 height=428 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image012_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;6.- Next step I want to show is “Compiling M-code”, so we can afterwards execute it and get that schema and definitions into OSLO Repository. J&lt;/P&gt;
&lt;P&gt;So first of all, let’s save our M-code to a file, called “SoftwareCatalog.m”&lt;/P&gt;
&lt;P&gt;And now, let’s compile it.&lt;/P&gt;
&lt;P&gt;Open a Command-Prompt for Oslo Tools, and type the following: 
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=576&gt;
&lt;P&gt;m.exe SoftwareCatalog.m /p:image&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;You’ll see it like the following:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image014_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image014_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image014 border=0 alt=clip_image014 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image014_thumb.jpg" width=714 height=205 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image014_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This tool (m.exe) compiles “M” code and generates an image file. In this case: “SoftwareCatalog.mx”.&lt;/P&gt;
&lt;P&gt;7.- Next step is to deploy that compiled image file into the OSLO REPOSITORY (into SQL Server), using the mx.exe tool. Type the following: 
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=576&gt;
&lt;P&gt;mx.exe –i:SoftwareCatalog.mx –d Repository&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;After that, you’ll be able to see that data in the OSLO Repository, I mean, in the SQL Server database called “&lt;B&gt;Repository&lt;/B&gt;” (when installing OSLO SDK you provided a specific SQL Server or SQL Express Server) and now we have a table called “&lt;B&gt;OsloDemos. SoftwareCatalog&lt;/B&gt;”, where we can check even the model’s data:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image016_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image016_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image016 border=0 alt=clip_image016 src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image016_thumb.jpg" width=755 height=442 mce_src="http://blogs.msdn.com/blogfiles/cesardelatorre/WindowsLiveWriter/StartingusingOSLOMLanguageOsloRepository_DB56/clip_image016_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;8.- Of course, we’ve been doing this in a kind of low level way (TEXTUAL DSL called M Language, Intellipad and Command-line Tools), but you could do it also in a VISUAL way, using QUADRANT. &lt;/P&gt;
&lt;P&gt;At this moment, we could also Access our data model in Oslo Repository using QUADRANT. Just DRAG &amp;amp; DROP “Quadrant—&amp;gt;Explorer--&amp;gt;Browse All --&amp;gt; &lt;B&gt;OsloDemos. SoftwareCatalog”&lt;/B&gt; into the Quadrant’s design Surface. J&lt;B&gt; &lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;FINAL CONCLUSIONS&lt;/P&gt;
&lt;P&gt;IMPORTANT:&lt;/P&gt;
&lt;P&gt;Keep in midn that in this example we’ve been using Oslo, “M” Language and Intellipad to model data and data’s schema, BUT, this is just one way you can use OSLO. In fact, in the future we’ll be using OSLO for many more things like:&lt;/P&gt;
&lt;P&gt;- Modeling a Web Service (WCF Services, etc.)&lt;/P&gt;
&lt;P&gt;- Modeling Restful Clients (like using MUrl)&lt;/P&gt;
&lt;P&gt;- Modeling WF Workflows &lt;/P&gt;
&lt;P&gt;- Modeling Web Apps (ASP.NET)&lt;/P&gt;
&lt;P&gt;- “Modeling your Specific Doman, whatever you want!”&lt;/P&gt;
&lt;P&gt;- Etc.&lt;/P&gt;
&lt;P&gt;So, in this post we’ve been using plain “M” Language for modeling data, but,&lt;STRONG&gt; it is just one of the possibilities!!&lt;/STRONG&gt; :-)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9556686" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="Oslo" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Oslo/default.aspx" /><category term="M Language" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/M+Language/default.aspx" /></entry><entry><title>Azure Metro Training in Madrid (16th April 2009) Material</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/azure-metro-training-in-madrid-16th-april-2009-material.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/04/20/azure-metro-training-in-madrid-16th-april-2009-material.aspx</id><published>2009-04-20T09:41:00Z</published><updated>2009-04-20T09:41:00Z</updated><content type="html">&lt;P&gt;Last week, we delivered a nice Azure training (One condensed full day about AZURE platform).&lt;/P&gt;
&lt;P&gt;Sorry, but everything is in Spanish (Agenda &amp;amp; Presentations), as we delivered it in Spanish.&lt;/P&gt;
&lt;P&gt;So, down below&amp;nbsp;you can read&amp;nbsp;the agenda and the Presentations are posted in my SKYDRIVE, as well:&lt;/P&gt;
&lt;P&gt;SKYDRIVE location (Presentations):&lt;/P&gt;
&lt;P&gt;&lt;A href="http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20Azure%20Metro%20Training"&gt;http://cid-c537c2af47f728a0.skydrive.live.com/browse.aspx/Msft%20Dpe%20Spain%20Architects%20Events/2009%20-%20Azure%20Metro%20Training&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=706&gt;
&lt;TABLE border=0 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="3%"&gt;
&lt;P&gt;&lt;A href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583547&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337" mce_href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583547&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337"&gt;&lt;IMG border=0 src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/nl-logo-a.gif" mce_src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/nl-logo-a.gif"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="71%"&gt;
&lt;TABLE border=0 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=bottom&gt;
&lt;P&gt;&lt;BR&gt;Marzo de 2009&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;
&lt;TD width="26%"&gt;
&lt;P&gt;&lt;IMG border=0 alt=.NET src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/net.png" width=138 height=35 mce_src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/net.png"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;
&lt;TABLE border=0 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;IMG border=0 src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/fondo.png" mce_src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/fondo.png"&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;IMG border=0 src="http://2009.visitmix.com/Images/Logo/metro.png" width=257 height=98 mce_src="http://2009.visitmix.com/Images/Logo/metro.png"&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE border=0 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width="33%"&gt;&lt;/TD&gt;
&lt;TD width=10&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=786&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0 width=768&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=766&gt;
&lt;H1 align=center&gt;AZURE - METRO TRAINING&lt;/H1&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0 width=768&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=766&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;IMG style="DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; MARGIN-RIGHT: auto" border=0 src="http://www.microsoft.com/Spanish/msdn/Spain/eventos/Arquitectos/images/logos.gif" mce_src="http://www.microsoft.com/Spanish/msdn/Spain/eventos/Arquitectos/images/logos.gif"&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0 width=768&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=766&gt;
&lt;H1 align=center&gt;&lt;/H1&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE border=0 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;
&lt;P&gt;&lt;STRONG&gt;¿Cloud computing?... &lt;/STRONG&gt;es uno de los mayores cambios impactantes en la industria de IT. La posibilidad de disponer de capacidades de escalabilidad a medida en Internet y a bajo coste, afectará a medio plazo a cualquiera que trabaje en el mundo de IT. Pero para poder aprovechar esta nueva ola, se requiere entender este nuevo concepto y como explotarlo en Internet. &lt;/P&gt;
&lt;P&gt;En este caso, el objetivo de esta formación de AZURE, es revisar a nivel de desarrollo cada una de las partes de Windows Azure y Azure Services. &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;TABLE border=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;STRONG&gt;Agenda&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width="25%"&gt;
&lt;P&gt;Hora&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="51%"&gt;
&lt;P&gt;&lt;STRONG&gt;Descripción&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="24%"&gt;
&lt;P&gt;&lt;EM&gt;Ponente&lt;/EM&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width="25%"&gt;
&lt;P&gt;&lt;STRONG&gt;9:30 - 10:00&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="51%"&gt;
&lt;P&gt;&lt;STRONG&gt;Introducción a METRO&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="24%"&gt;
&lt;P&gt;&lt;STRONG&gt;Cesar de la Torre - &lt;BR&gt;MICROSOFT&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width="25%"&gt;
&lt;P&gt;&lt;STRONG&gt;10:00 – 11:00&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="51%"&gt;
&lt;P&gt;&lt;STRONG&gt;Arquitectura de Windows Azure y ¿qué tiene la competencia? &lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="24%"&gt;
&lt;P&gt;&lt;STRONG&gt;Cesar de la Torre - &lt;BR&gt;MICROSOFT&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width="25%"&gt;
&lt;P&gt;&lt;STRONG&gt;11:00 – 11:30&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="51%"&gt;
&lt;P&gt;&lt;STRONG&gt;Coffee&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="24%"&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width="25%"&gt;
&lt;P&gt;&lt;STRONG&gt;11:30 – 13:30&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="51%"&gt;
&lt;P&gt;&lt;STRONG&gt;Desarrollo y Despliegue de Aplicaciones y Servicios Azure (Azure Fabric, programación para Roles Web y Worker, Colas, monitorización, etc.)&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="24%"&gt;
&lt;P&gt;&lt;STRONG&gt;David Salgado - &lt;BR&gt;MICROSOFT&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width="25%"&gt;
&lt;P&gt;&lt;STRONG&gt;13:30 – 15:00&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="51%"&gt;
&lt;P&gt;&lt;STRONG&gt;Comida-Catering&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="24%"&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width="25%"&gt;
&lt;P&gt;&lt;STRONG&gt;15:00 – 16:00&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="51%"&gt;
&lt;P&gt;&lt;STRONG&gt;‘Datos en la nube': Azure Storage vs. SQL Services y una pizca de ADO.NET Data Services&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="24%"&gt;
&lt;P&gt;&lt;STRONG&gt;Rodrigo Corral - &lt;BR&gt;PLAIN CONCEPTS&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width="25%"&gt;
&lt;P&gt;&lt;STRONG&gt;16:00 – 17:15&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="51%"&gt;
&lt;P&gt;&lt;STRONG&gt;.NET Services (Access Control, Service Bus, y Workflow)&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="24%"&gt;
&lt;P&gt;&lt;STRONG&gt;Unai Zorrilla - &lt;BR&gt;PLAIN CONCEPTS&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width="25%"&gt;
&lt;P&gt;&lt;STRONG&gt;17:15 – 18:00&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="51%"&gt;
&lt;P&gt;&lt;STRONG&gt;Desarrollo de aplicaciones con Live Services Framework para Live Mesh &lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width="24%"&gt;
&lt;P&gt;&lt;STRONG&gt;Angel Acha - CIIN&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=179&gt;
&lt;TABLE border=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=38&gt;
&lt;P&gt;&lt;IMG border=0 src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/nl-icont1.gif" width=36 height=34 mce_src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/nl-icont1.gif"&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;De Interés&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE border=0 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;Windows Azure&lt;/P&gt;
&lt;P&gt;&lt;A href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583549&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337" mce_href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583549&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337"&gt;&lt;IMG border=0 src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/win_azure.jpg" mce_src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/win_azure.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Visual Studio Team System &lt;/P&gt;
&lt;P&gt;&lt;A href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583550&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337" mce_href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583550&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337"&gt;&lt;IMG border=0 src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/VSTS.jpg" width=77 height=67 mce_src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/VSTS.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Architect JOURNAL&lt;/P&gt;
&lt;P&gt;&lt;A href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583551&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337" mce_href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583551&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337"&gt;&lt;IMG border=0 src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/Journal1.bmp" width=80 height=60 mce_src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/Journal1.bmp"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Patterns &amp;amp; Practices&lt;/P&gt;
&lt;P&gt;&lt;A href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583552&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337" mce_href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583552&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337"&gt;&lt;IMG border=0 src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/CenterPP1.gif" width=101 height=74 mce_src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/CenterPP1.gif"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Architecture Center&lt;/P&gt;
&lt;P&gt;&lt;A href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583553&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337" mce_href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583553&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337"&gt;&lt;IMG border=0 src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/CenterArch1.jpg" width=80 height=60 mce_src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/CenterArch1.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Web Services Center&lt;/P&gt;
&lt;P&gt;&lt;A href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583554&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337" mce_href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583554&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337"&gt;&lt;IMG border=0 src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/CenterWS1.jpg" width=80 height=60 mce_src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/CenterWS1.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Security Center&lt;/P&gt;
&lt;P&gt;&lt;A href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583555&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337" mce_href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=11583555&amp;amp;s1=14dcb5cf-61a0-37e3-2456-b962a7f27337"&gt;&lt;IMG border=0 src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/CenterSec1.bmp" width=80 height=60 mce_src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/CenterSec1.bmp"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;IMG border=0 src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/nl-img2.gif" mce_src="http://www.microsoft.com/Spanish/msdn/Arquitectos/images/nl-img2.gif"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9556443" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="Metro" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Metro/default.aspx" /><category term="WCF" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/WCF/default.aspx" /><category term="ISB" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/ISB/default.aspx" /><category term="S+S" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/S_2B00_S/default.aspx" /><category term="Azure" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Azure/default.aspx" /><category term="Window Azure" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Window+Azure/default.aspx" /></entry><entry><title>IE8 release version ships during MIX09</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/03/20/ie8-release-version-ships-during-mix09.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/03/20/ie8-release-version-ships-during-mix09.aspx</id><published>2009-03-20T17:43:00Z</published><updated>2009-03-20T17:43:00Z</updated><content type="html">&lt;P&gt;We have just released the final version of IE8!. &lt;/P&gt;
&lt;P&gt;Here you have the address where you can download it:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/windows/internet-explorer/default.aspx"&gt;http://www.microsoft.com/windows/internet-explorer/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9492975" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="IE8" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/IE8/default.aspx" /></entry><entry><title>Silverlight 3.0 news disclosed today at MIX09 in Las Vegas!!!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/03/18/silverlight-3-0-news-disclosed-today-at-mix09-in-las-vegas.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/03/18/silverlight-3-0-news-disclosed-today-at-mix09-in-las-vegas.aspx</id><published>2009-03-18T19:00:00Z</published><updated>2009-03-18T19:00:00Z</updated><content type="html">&lt;P&gt;So, I’ve just been attending MIX09 keynote (ScottGu, etc.), and… as you’ll discover, Silverlight 3.0 rocks!!! :-)&lt;/P&gt;
&lt;P&gt;Here you have some of what we’re disclosing today about SL3.0:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;SILVERLIGHT 3.0&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;MEDIA &amp;amp; GRAPHICS 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;GPU hardware acceleration!!&lt;/STRONG&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Opt-in feature per element&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Codecs (H.264/AAC/MP4, VC1, etc.)&lt;/LI&gt;
&lt;LI&gt;Perspective 3D&lt;/LI&gt;
&lt;LI&gt;Bitmap &amp;amp; pixel API&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Pixel Shader effects&lt;/STRONG&gt;!!&lt;/LI&gt;
&lt;LI&gt;Deep Zoom improvements&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;App. Development 
&lt;UL&gt;
&lt;LI&gt;Deep linking, navigation and SEA&lt;/LI&gt;
&lt;LI&gt;Improved text quality&lt;/LI&gt;
&lt;LI&gt;Multi-touch support&lt;/LI&gt;
&lt;LI&gt;100+ controls available&lt;/LI&gt;
&lt;LI&gt;Library caching support (reference to libs &amp;amp; cached so no need to download it again)&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;DEMO: ROLLING STONE COVER TO COVER&lt;/LI&gt;
&lt;LI&gt;DATA 
&lt;UL&gt;
&lt;LI&gt;Data-binding improvements&lt;/LI&gt;
&lt;LI&gt;Validation error templates&lt;/LI&gt;
&lt;LI&gt;Server data push improvements&lt;/LI&gt;
&lt;LI&gt;Binary XML networking support&lt;/LI&gt;
&lt;LI&gt;Multi-Tier REST data support&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Entity Framework context in SL client side&lt;/LI&gt;
&lt;LI&gt;SAP NetWeaver Support bsed on Silverlight&lt;/LI&gt;
&lt;LI&gt;'OUT OF BROWSER CAPABILITIES' – WINDOW &amp;amp; OFF-LINE mode&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;No browser needed!…&lt;/LI&gt;
&lt;LI&gt;Also for MAC!&lt;/LI&gt;
&lt;LI&gt;Safe, secure, sandboxed environment&lt;/LI&gt;
&lt;LI&gt;Built-in auto-update support&lt;/LI&gt;
&lt;LI&gt;Build offline-aware applications&lt;/LI&gt;
&lt;LI&gt;Integrated with underlying operating system&lt;/LI&gt;
&lt;LI&gt;DEMO: KEXP 90.3 FM - SEATTLE KEXP.ORG&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.kep.org/" mce_href="http://www.kep.org"&gt;www.kep.org&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;-----&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;LI&gt;LOCAL MESSAGING &lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;- Cross plug-in Silverlight communication &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ○ Multiple plugins on the same page &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ○ Multiple plugins on different brwoser tabs &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ○ Multiple plugins on different browsers &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ○ DEMO: Balls going from one browser to the other. :-) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ○ DEMO: CHESS battle, JavaScript vs. C# BENCHMARK, but in different BROWSERS!! :-)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL dir=ltr&gt;
&lt;LI&gt;Download experience! : 40k smaller than Silverlight 2!!! &lt;/LI&gt;
&lt;LI&gt;Available today: 
&lt;UL&gt;
&lt;LI&gt;Silverlight 3 Beta &lt;/LI&gt;
&lt;LI&gt;Expression Blend 3 Preview &lt;/LI&gt;
&lt;LI&gt;Silvelright 3 Tools for VS.2008 &lt;/LI&gt;
&lt;LI&gt;IIS Media Services (Smooth Streaming, etc.)&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;UL&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;
&lt;LI&gt;IIS MEDIA SERVICES (Launched today, as well) 
&lt;UL&gt;
&lt;LI&gt;Smooth streaming (Silverlight &amp;lt;—&amp;gt; IIS 7.0 &amp;amp; Smooth Streaming)&lt;/LI&gt;
&lt;LI&gt;Edge caching&lt;/LI&gt;
&lt;LI&gt;Web playlist&lt;/LI&gt;
&lt;LI&gt;Bit-rate throttling&lt;/LI&gt;
&lt;LI&gt;Advanced logging&lt;/LI&gt;
&lt;LI&gt;AKAMAI integration&lt;/LI&gt;
&lt;LI&gt;DEMO: NBC OLIMPICS -- VANCOUVER 2010 CANADA will use it! :-) 
&lt;UL&gt;
&lt;LI&gt;HD 720 - All content&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Also, about the new EXPRESSION BLEND, some new features:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;EXPRESSION BLEND 3 
&lt;UL&gt;
&lt;LI&gt;Sketch-Flow&lt;/LI&gt;
&lt;LI&gt;BLEND PLAYER FOR MAC!! :-) 
&lt;UL&gt;
&lt;LI&gt;For customers/designers so they can review and approve designs in a MAC&lt;/LI&gt;
&lt;LI&gt;Feedback Window for every screen, etc.&lt;/LI&gt;
&lt;LI&gt;Notes, save it and send it to the designer!.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;Export to Microsoft Word – Design Document with all the notes, etc.&lt;/LI&gt;
&lt;LI&gt;Adobe Photoshop and Illustrator import 
&lt;UL&gt;
&lt;LI&gt;Directly open .PSD files from BLEND.&lt;/LI&gt;
&lt;LI&gt;Yo can modify all Photoshop layers changing images to XAMEL elements and dynamics data &amp;amp; Data binding. :-)&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;Behaviors&lt;/LI&gt;
&lt;LI&gt;Designing with data&lt;/LI&gt;
&lt;LI&gt;Source code control ---&amp;gt; TEAM FOUNDATION integration.&lt;/LI&gt;
&lt;LI&gt;XAML, C# and VB code intellisense in Expression Blend 3.0.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9487656" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="Silverlight" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Silverlight/default.aspx" /><category term="Expression Blend" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Expression+Blend/default.aspx" /></entry><entry><title>How to create a Bootable DVD (Windows 7 or Windows Vista)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cesardelatorre/archive/2009/03/08/how-to-create-a-bootable-dvd-windows-7-or-windows-vista.aspx" /><id>http://blogs.msdn.com/cesardelatorre/archive/2009/03/08/how-to-create-a-bootable-dvd-windows-7-or-windows-vista.aspx</id><published>2009-03-08T19:34:00Z</published><updated>2009-03-08T19:34:00Z</updated><content type="html">&lt;P&gt;Sometimes you'd want to install Windows from a bootable DVD but you just have all the Windows files... I mean, in my case I've got &lt;STRONG&gt;Windows 7 build 7048&lt;/STRONG&gt; (beta drop, but it does not matter), but I currently don't have its related ISO image. So, if I want to install a plain new Windows 7 from scratch (booting&amp;nbsp; &amp;amp; installing from a DVD), guess what you need?, right..., I want to create my own bootable Windows DVD. &lt;BR&gt;In order to do that, we can use several Microsoft tools that come in &lt;STRONG&gt;AIK&lt;/STRONG&gt; (&lt;EM&gt;Windows Automated Installation Kit&lt;/EM&gt;), for Windows Vista or &lt;STRONG&gt;Windows 7&lt;/STRONG&gt; (the latest in my case).&lt;/P&gt;
&lt;P&gt;You can download from here, for instance:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=4ad85860-d1f4-42a1-a46c-e039e3d0db5d&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=4ad85860-d1f4-42a1-a46c-e039e3d0db5d&amp;amp;displaylang=en&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Needed Tools you can get once you install &lt;STRONG&gt;AIK&lt;/STRONG&gt;: &lt;BR&gt;- &lt;STRONG&gt;oscdimg.exe&lt;/STRONG&gt; (usually you can get it from in "%ProgramFiles%\Windows AIK\Tools\x86 ) &lt;BR&gt;- &lt;STRONG&gt;etfsboot.com&lt;/STRONG&gt; (This is the boot sector file will put into the DVD)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H1&gt;1.- COPY WINDOWS FILES TO A HARD DISK&lt;/H1&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;BR&gt;Of course, you'll need all the Windows 7 or Windows Vista files. For instance, I copied all of them within C:\Win7_7048_EN\x86fre &lt;BR&gt;You could even add more custom files, like drivers or whatever..&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H1&gt;2.- GENERATE THE ISO FILE&lt;/H1&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;BR&gt;Open a command prompt console (with Administrator's rights) and go where you have the AIK's tools. Then type the following:&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;oscdimg -n -m -b"C:\Win7 7048 EN\DVD Bootable Tools\x86_Boot\etfsboot.com" C:\Win7_7048_EN\x86fre C:\Win7_7048_EN_ISO\Win7_7048_x86_EN.iso &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;You'll get messages like the following: &lt;BR&gt;”&lt;EM&gt;OSCDIMG 2.55 CD-ROM and DVD-ROM Premastering Utility &lt;BR&gt;Copyright (C) Microsoft, 1993-2007. All rights reserved. &lt;BR&gt;Licensed only for producing Microsoft authorized content. &lt;BR&gt;Scanning source tree (500 files in 49 directories) &lt;BR&gt;Scanning source tree complete (810 files in 159 directories) &lt;BR&gt;Computing directory information complete &lt;BR&gt;Image file is 2825107456 bytes &lt;BR&gt;Writing 810 files in 159 directories to V:\Win7_7048_EN_ISO\Win7_7048_x86_E &lt;BR&gt;100% complete &lt;BR&gt;Final image file is 2825107456 bytes &lt;BR&gt;Done."&lt;/EM&gt;&lt;/P&gt;&lt;EM&gt;&lt;/EM&gt;
&lt;P&gt;&lt;BR&gt;At this time you'll have a new ISO file for Windows 7 or Vista!!. :-) &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;If you want Windows x64, just use the other file types for x64, like: &lt;BR&gt;oscdimg -n -m -b"C:\Win7 7048 EN\DVD Bootable Tools\x64_Boot\etfsboot.com" C:\Win7_7048_EN\x64fre C:\Win7_7048_EN_ISO\Win7_7048_x64_EN.iso &lt;BR&gt;&lt;/P&gt;
&lt;H2&gt;&lt;STRONG&gt;COMMAND'S MEANING:&lt;/STRONG&gt; &lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;-b&lt;/STRONG&gt; points to the boot sector file location (&lt;STRONG&gt;etfsboot.com&lt;/STRONG&gt;). This file will make the DVD bootable. Do not use a space between b and path! &lt;/P&gt;
&lt;P&gt;Then, first path is the location of original Windows DVD files. &lt;/P&gt;
&lt;P&gt;Second path points to the directory where the iso file will be created in. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;-n&lt;/STRONG&gt; makes it possible to use extended file names. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;-m&lt;/STRONG&gt; allows to create iso files, larger than CD format. &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H1&gt;3.- BURN YOUR ISO FILE&lt;/H1&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;BR&gt;Just burn your new ISO image onto a DVD media using any third party software, like NERO, ROXIO, ImageBurn, etc.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9466358" width="1" height="1"&gt;</content><author><name>cesardl</name><uri>http://blogs.msdn.com/members/cesardl.aspx</uri></author><category term="Windows 7" scheme="http://blogs.msdn.com/cesardelatorre/archive/tags/Windows+7/default.aspx" /></entry></feed>