<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1688095849524654689</id><updated>2012-01-23T20:41:59.762-06:00</updated><category term='Visual Studio'/><category term='MSE'/><category term='podcast'/><category term='Team Foundation Server'/><category term='MVC'/><category term='Linq join'/><category term='LinqToSQL'/><category term='ForEach'/><category term='AppFabric'/><category term='VB.NET'/><category term='ObjectDataSource'/><category term='Oracle'/><category term='SOA'/><category term='Azure'/><category term='Ajax'/><category term='XAML'/><category term='ASP.NET'/><category term='WF'/><category term='FindIndex'/><category term='CastleWindsor'/><category term='LinqToEntities'/><category term='DataSet'/><category term='Unity'/><category term='Expresiones Lambda'/><category term='AutoMapper'/><category term='Workflow Foundation'/><category term='IoC'/><category term='Cloud Computing'/><category term='Arquitectura'/><category term='Javascript'/><category term='MSMQ'/><category term='XML'/><category term='IComparable'/><category term='SSO'/><category term='Generics'/><category term='Inicializadores de Objetos'/><category term='MSBuild'/><category term='Java'/><category term='IIS'/><category term='Webcast'/><category term='C#'/><category term='Application Blocks'/><category term='Taller'/><category term='NServiceBus'/><category term='SOA y CC User Group'/><category term='IComparer'/><category term='WCF'/><category term='Linq'/><category term='POCO'/><category term='Biztalk'/><category term='WPF'/><category term='Entity Framework'/><category term='WF4'/><category term='.NET'/><category term='Silverlight'/><category term='Extensiones'/><title type='text'>IComparable</title><subtitle type='html'>Programación, Arquitectura, SOA, Cloud Computing, .NET y más ...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default?start-index=101&amp;max-results=100'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>137</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6725263138581295441</id><published>2012-01-22T16:31:00.001-06:00</published><updated>2012-01-22T16:31:15.022-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>WCF: ¿Qué es el metadata exchange - MEX?</title><summary type='text'>Para los que trabajamos a diario con WCF este tema nos puede parecer simple y sencillo de comprender; sin embargo, en ocasiones me encuentro con desarrolladores que pese a que utilizan WCF muy seguido no saben el porque de este endpoint en el archivo de configuración. En este post vamos a aclarar el término y su importancia. ¿Qué es el metadata exchange - MEX? El endopoint MEX es la manera en que</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6725263138581295441/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6725263138581295441' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6725263138581295441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6725263138581295441'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2012/01/wcf-que-es-el-metadata-exchange-mex.html' title='WCF: ¿Qué es el metadata exchange - MEX?'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-lEqif_Fe9XU/TxyOLu8H4PI/AAAAAAAABxo/PekKQ_Ecvso/s72-c/image_thumb%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-31881443711633522</id><published>2012-01-03T18:45:00.001-06:00</published><updated>2012-01-03T18:45:16.300-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AppFabric'/><category scheme='http://www.blogger.com/atom/ns#' term='WF4'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Windows AppFabric p2–&gt; Configurando los servicios de WCF y WF</title><summary type='text'>En el post anterior conversamos acerca de la instalación del Windows AppFabric en Windows 7. En este post vamos a configurar el AppFabric para que estén disponibles las funcionalidades de seguimiento, persistencia y caché distribuido. Configurar el AppFabric Para configurar el AppFabric tenemos que buscar la aplicación que nos permite llevar a cabo esta tarea, la cual se puede encontrar en el </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/31881443711633522/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=31881443711633522' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/31881443711633522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/31881443711633522'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2012/01/windows-appfabric-p2-configurando-los.html' title='Windows AppFabric p2–&amp;gt; Configurando los servicios de WCF y WF'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-zJtci6JXICg/TwOgod-fGXI/AAAAAAAABug/DESPQj1udFk/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-8222961828578165046</id><published>2011-12-31T19:08:00.001-06:00</published><updated>2011-12-31T19:08:20.825-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='AppFabric'/><title type='text'>Windows AppFabric p1–&gt; Instalándolo en Windows 7</title><summary type='text'>He decidido iniciar con una serie de post acerca del Windows AppFabric para crear arquitecturas distribuidas basadas en un servidor de aplicaciones en tecnologías Microsoft. Este es el primer post de la serie y para empezar he decidido utilizar Windows 7 como sistema operativo base.  Instalar el AppFabric en Windows 7 Ya que muchos utilizamos Windows 7 como sistema operativo de trabajo, o incluso</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/8222961828578165046/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=8222961828578165046' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8222961828578165046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8222961828578165046'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/12/windows-appfabric-p1-instalandolo-en.html' title='Windows AppFabric p1–&amp;gt; Instalándolo en Windows 7'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-VQmeVYBktX8/Tv-xur-4HcI/AAAAAAAABsc/RIU8CAsCUUc/s72-c/image_thumb%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1462386641470339835</id><published>2011-12-17T11:34:00.001-06:00</published><updated>2011-12-17T11:34:09.402-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Team Foundation Server'/><title type='text'>Error TF237162: There is insufficient system memory on the Team Foundation Server SQL Server to run this query</title><summary type='text'>  El Problema Trabajando con TFS en un máquina virtual de pruebas, me encontré este error cuando quise generar un Team project en VS 2010 para tener mis proyectos en una colección específica. Sin embargo se me presentaba el error TFS237162 y no me permitía crear los proyectos. Considerando que cuando instalo SQL Server yo le asigno el mínimo de memoria posible me di cuenta que el error podría </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1462386641470339835/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1462386641470339835' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1462386641470339835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1462386641470339835'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/12/error-tf237162-there-is-insufficient.html' title='Error TF237162: There is insufficient system memory on the Team Foundation Server SQL Server to run this query'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-jqXnnaoLffk/TuzSg0S3R-I/AAAAAAAABrs/tCm54ynNJr0/s72-c/image_thumb2.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2075052647562883478</id><published>2011-12-11T11:07:00.001-06:00</published><updated>2011-12-11T11:07:50.320-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Team Foundation Server'/><title type='text'>Error 503 Accediendo TFS</title><summary type='text'>Realizando una instalación básica de TFS 2010 en Windows 7, me encontré con el error 503 "Servicio no disponible” cuando quise acceder al sitio del Team Foundation. Investigando un poco me di cuenta que hay 3 posibilidades principales para que este error este sucediendo cuando queremos acceder a la dirección del servidor. Errores encontrados y soluciones En primera instancia resultó que el </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2075052647562883478/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2075052647562883478' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2075052647562883478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2075052647562883478'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/12/error-503-accediendo-tfs.html' title='Error 503 Accediendo TFS'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-pqlVPRhaKqo/TuTjJ-DLqQI/AAAAAAAABqY/mUjF60Br7fE/s72-c/image_thumb1.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6050126656942788613</id><published>2011-12-10T18:31:00.001-06:00</published><updated>2011-12-10T18:31:35.291-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Workflow Foundation'/><category scheme='http://www.blogger.com/atom/ns#' term='WF4'/><title type='text'>Aprendiendo WF parte 8 – Invocando métodos de otras clases en WF</title><summary type='text'>Quizás la funcionalidad más común a la hora de trabajar con WF en una arquitectura n-layer sea invocar los métodos de los componentes de lógica de negocios. En este post vamos a ver como invocar un método que reside en otro componente. El método a invocar En primera instancia vamos a crear un método que recibe una colección de números y me devuelve los números pares. Este método estará en una </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6050126656942788613/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6050126656942788613' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6050126656942788613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6050126656942788613'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/12/aprendiendo-wf-parte-8-invocando.html' title='Aprendiendo WF parte 8 – Invocando métodos de otras clases en WF'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-242LcwmuUlQ/TuP5spsXkgI/AAAAAAAABnk/deM0LBcpSVk/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-5597651746790160739</id><published>2011-11-24T21:34:00.001-06:00</published><updated>2011-11-24T21:34:25.474-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Linq'/><title type='text'>Linq: TakeWhile y OrderBy</title><summary type='text'>Trabajando con Linq, me ha tocado manipular colecciones de objetos en donde se deben aplicar condiciones a grupos de objetos o procesar objetos mientras se cumpla alguna condición. Un método que sin duda me llamó la atención es el TakeWhile el cual permite procesar los elementos mientras se cumpla la condición dada, si esta condición no se cumple, se descartan todos los elementos a partir del </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/5597651746790160739/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=5597651746790160739' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5597651746790160739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5597651746790160739'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/11/linq-takewhile-y-orderby.html' title='Linq: TakeWhile y OrderBy'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-CLpu7H4yM34/Ts8MrY-IoCI/AAAAAAAABmk/QdSY2379uY8/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-8861944978762527336</id><published>2011-11-12T14:49:00.001-06:00</published><updated>2011-11-12T14:49:13.702-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='WF'/><category scheme='http://www.blogger.com/atom/ns#' term='WF4'/><title type='text'>Aprendiendo WF parte 7– Excepciones (1)</title><summary type='text'>Continuando con nuestras serie de post acerca de WF, en esta ocasión nos vamos a enfocar en el manejo de excepciones dentro del workflow. Para esto, vamos a utilizar el workflow del post anterior para manejar las excepciones. Provocando el error en el workflow Nuestro ejemplo asume que la lista que viene como parámetro de entrada siempre viene inicializada, es decir ya esta instanciada, pero que </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/8861944978762527336/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=8861944978762527336' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8861944978762527336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8861944978762527336'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/11/aprendiendo-wf-parte-7-excepciones-1.html' title='Aprendiendo WF parte 7– Excepciones (1)'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-5mAvsnQ-QNo/Tr7bcRIMTqI/AAAAAAAABi0/C6UGMmc_Nus/s72-c/image_thumb%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-4376994610884746261</id><published>2011-11-02T19:01:00.001-06:00</published><updated>2011-11-02T19:01:06.363-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WF'/><category scheme='http://www.blogger.com/atom/ns#' term='WF4'/><title type='text'>Aprendiendo WF parte 6: Trabajando con colecciones en WF</title><summary type='text'>Siguiendo con nuestros posts acerca de WF, vamos a trabajar con colecciones en los workflows de Workflow Foundation, algo que también será muy común en nuestras aplicaciones n-layer ya que normalmente trabajamos con colecciones de entidades. Colecciones como Parámetros Es muy común utilizar colecciones de objetos para llevar a cabo procesos de negocios en nuestra empresa a través de los productos</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/4376994610884746261/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=4376994610884746261' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4376994610884746261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4376994610884746261'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/11/aprendiendo-wf-parte-6-trabajando-con.html' title='Aprendiendo WF parte 6: Trabajando con colecciones en WF'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-FsWHlS_X4kU/TrHnkJa2YbI/AAAAAAAABfk/AP4u1srEJqI/s72-c/image_thumb2.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-5080779963507689059</id><published>2011-10-20T10:58:00.001-06:00</published><updated>2011-10-20T10:58:55.755-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Workflow Foundation'/><category scheme='http://www.blogger.com/atom/ns#' term='WF4'/><title type='text'>Aprendiendo WF parte 5: Clases como Parámetros</title><summary type='text'>Continuando con la serie de post acerca de WF, en esta ocasión vamos a trabajar utilizando clases como parámetros. Esto desde el punto de vista arquitectura tiene mucho sentido porque nos va a permitir utilizar nuestras entidades de negocio como parámetros de los workflows que al final terminarán invocando nuestros componentes de negocio. La clase Persona Para este ejemplo vamos a utilizar una </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/5080779963507689059/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=5080779963507689059' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5080779963507689059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5080779963507689059'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/10/aprendiendo-wf-parte-5-clases-como.html' title='Aprendiendo WF parte 5: Clases como Parámetros'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-Cnue_4ECHTg/TqBTKPqtRBI/AAAAAAAABZ8/O1xE3F6mL_s/s72-c/image_thumb%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-7077715005845360328</id><published>2011-10-15T10:53:00.001-06:00</published><updated>2011-10-15T10:53:05.447-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='WF'/><category scheme='http://www.blogger.com/atom/ns#' term='WF4'/><title type='text'>Aprendiendo WF parte 4: Parámetros de Salida</title><summary type='text'>Continuando con el post anterior, ahora vamos a proceder a trabajar con los parámetros de retorno desde un workflow hecho en WF 4.  En el ejemplo anterior vimos como recibir parámetros desde el programa de consola, luego con el parámetro recibido procedimos a imprimir un mensaje en el workflow – un saludo. Sin embargo, desde la perspectiva de arquitectura de software, el uso de esta primitiva –</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/7077715005845360328/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=7077715005845360328' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7077715005845360328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7077715005845360328'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/10/aprendiendo-wf-parte-4-parametros-de.html' title='Aprendiendo WF parte 4: Parámetros de Salida'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-t4-gaNwOaoM/Tpm6ZMwppJI/AAAAAAAABY8/rWJyI9-QI4c/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2922917812499903210</id><published>2011-10-13T09:52:00.001-06:00</published><updated>2011-10-13T10:00:16.866-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='WF'/><category scheme='http://www.blogger.com/atom/ns#' term='WF4'/><title type='text'>Aprendiendo WF parte 3: Parámetros de entrada</title><summary type='text'>Un workflow normalmente se activa a través de un servicio o un componente de negocios. Este workflow por lo general recibe parámetros para poder llevar a cabo el proceso que se desea activar. En este workflow vamos a ver como enviarle parámetros a un workflow en WF. Crear el Workflow En primera instancia vamos a crear un workflow muy simple que recibe el nombre de una persona e imprime un saludo </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2922917812499903210/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2922917812499903210' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2922917812499903210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2922917812499903210'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/10/aprendiendo-wf-parte-2-parametros-de.html' title='Aprendiendo WF parte 3: Parámetros de entrada'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-eEXMnIex38Y/TpcJFQYNmcI/AAAAAAAABXc/Wba8SbhdEeU/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1817838577289527728</id><published>2011-10-09T17:36:00.001-06:00</published><updated>2011-10-09T17:36:51.797-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='MSBuild'/><title type='text'>Creando un proyecto C# con el MSBuild</title><summary type='text'>En la labor de crear un migrador de Oracle Forms a .NET me encontré con una tarea muy interesante: crear un proyecto en C# de forma dinámica, y compilarlo. En este post voy a compartir de forma simple como crear una pequeña aplicación de consola con un editor de texto, como crear un archivo de proyecto y como compilarlo. La clase Hola en C# La primera tarea que haremos es crear una clase que </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1817838577289527728/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1817838577289527728' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1817838577289527728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1817838577289527728'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/10/creando-un-proyecto-c-con-el-msbuild.html' title='Creando un proyecto C# con el MSBuild'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-NDMpG7ZLXDY/TpIv9V6dDJI/AAAAAAAABWs/_hZgE8URFB8/s72-c/image_thumb%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1914888525691083976</id><published>2011-10-04T13:50:00.001-06:00</published><updated>2011-10-04T13:51:41.165-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>Como ver los comandos enviados al Entity Framework</title><summary type='text'>Cuando utilizamos el Entity Framework constantemente nos preguntamos ¿ y que fue lo que se envió a la base de datos? A partir de esta pregunta surgen muchas herramientas tales como "profilers" comerciales - como eProf - , y el analizador de consultas de SQL Server o el de la base de datos que estemos utilizando. Sin embargo, estas soluciones pueden no ser suficientes porque pueden existir </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1914888525691083976/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1914888525691083976' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1914888525691083976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1914888525691083976'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/10/como-ver-los-comandos-enviados-al.html' title='Como ver los comandos enviados al Entity Framework'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-RaJ7bPSgAYU/TotjhQeeNNI/AAAAAAAABWU/vLQNM3la0gw/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-414635545875965843</id><published>2011-10-02T21:27:00.001-06:00</published><updated>2011-10-02T21:27:12.108-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='Workflow Foundation'/><category scheme='http://www.blogger.com/atom/ns#' term='WF'/><category scheme='http://www.blogger.com/atom/ns#' term='WF4'/><title type='text'>Aprendiendo WF parte 2</title><summary type='text'>Continuando con esta serie de post acerca de Workflow Foundation, esta semana vamos a conversar acerca del manejo del hosting cuando utilizamos esta tecnología. Como recordarán en el post anterior, en ambos casos creamos una instancia del workflow utilizando una aplicación de consola, tal y como se puede apreciar en la siguiente imagen.  Al ser WF4 parte del framework de .NET se permite “hostear”</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/414635545875965843/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=414635545875965843' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/414635545875965843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/414635545875965843'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/10/aprendiendo-wf-parte-2.html' title='Aprendiendo WF parte 2'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-qQUHjbRivEE/TokrfID_FmI/AAAAAAAABV8/bMXJMOi4ZhA/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2869963882551808327</id><published>2011-09-30T15:53:00.001-06:00</published><updated>2011-09-30T15:53:32.068-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Workflow Foundation'/><category scheme='http://www.blogger.com/atom/ns#' term='WF4'/><title type='text'>Aprendiendo WF parte 1</title><summary type='text'>Una de las tecnologías que más utilizo y más me gusta de .NET es quizás una de las más subutilizadas es el Workflow Foundation. Por esta razón he decidido hacer una serie de post referente a esta tecnología con el fin de incentivar el uso de tan potente framework. Introducción El workflow foundation es un framework que nos permite diagramar procesos de negocio para orquestar componentes de </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2869963882551808327/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2869963882551808327' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2869963882551808327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2869963882551808327'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/09/aprendiendo-wf-parte-1.html' title='Aprendiendo WF parte 1'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-IX8eIn1jfec/ToY6KOCphkI/AAAAAAAABUs/EbHMddayF5w/s72-c/image_thumb1.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6626797149771946762</id><published>2011-09-21T08:40:00.001-06:00</published><updated>2011-09-21T08:46:55.022-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Concurrencia y el Entity Framework – Parte 2</title><summary type='text'>Continuando con el post anterior vamos a dar las soluciones que están al alcance de los que desarrollamos aplicaciones usando el Entity Framework. En este post (2 / 3 ) vamos a utilizar los timestamps para identificar si una columna ha cambiado.  Agregar columna timestamp  Inicialmente vamos a agregar una propiedad para tracking dentro de la entidad Consultor, esta propiedad será de tipo Byte[] y</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6626797149771946762/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6626797149771946762' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6626797149771946762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6626797149771946762'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/09/concurrencia-y-el-entity-framework.html' title='Concurrencia y el Entity Framework – Parte 2'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-fBFJ7FDc-Ng/Tnn3SxNBaSI/AAAAAAAABT0/VwdJYKdYdx0/s72-c/image_thumb1.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6546881676576822067</id><published>2011-08-23T11:22:00.001-06:00</published><updated>2011-08-23T11:22:44.220-06:00</updated><title type='text'>Nuevo Blog</title><summary type='text'>Como parte del proceso de especialización de este blog – en realidad lo pensé como un blog de arquitectura y desarrollo de software – he decidido abrir otro blog más especializado exclusivamente en el tema de computación en la nube. El blog va a estar disponible desde esta dirección: http://workingonthecloud.wordpress.com/. Esto no quiere decir que voy a dejar de bloguear aquí – de hecho ya viene</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6546881676576822067/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6546881676576822067' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6546881676576822067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6546881676576822067'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/08/nuevo-blog.html' title='Nuevo Blog'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-gl4eRTYsz3E/TlPh4KhwApI/AAAAAAAABTk/ANM1EQ2UjKI/s72-c/wlEmoticon-smile%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-5032201690305173819</id><published>2011-08-17T11:23:00.001-06:00</published><updated>2011-08-17T11:23:56.321-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Presentación Charla Cloud Computing</title><summary type='text'>Tal y como lo comenté en la charla, la presentación mostrada esta disponible desde el blog. Espero la disfruten.  Etiquetas de Technorati: Cloud Computing  </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/5032201690305173819/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=5032201690305173819' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5032201690305173819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5032201690305173819'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/08/presentacion-charla-cloud-computing.html' title='Presentación Charla Cloud Computing'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-9100708652418198783</id><published>2011-08-15T12:02:00.001-06:00</published><updated>2011-08-15T12:02:36.163-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>Concurrencia y el Entity Framework – Parte 1</title><summary type='text'>Existen muchos temas que con el pasar del tiempo y las nuevas facilidades que tienen los frameworks que vamos incorporando al proceso del desarrollo del software tendemos a dejar de lado. Uno de estos temas es el manejo de la concurrencia cuando utilizamos el entity framework.  Concurrencia Optimista vrs Concurrencia Pesimista Existen dos escenarios claves a la hora de manejar la concurrencia en </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/9100708652418198783/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=9100708652418198783' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/9100708652418198783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/9100708652418198783'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/08/concurrencia-y-el-entity-framework.html' title='Concurrencia y el Entity Framework – Parte 1'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-3qIpoMV7itU/TklfAvdga5I/AAAAAAAABSc/rKEwdh--A7U/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-8432416950428885684</id><published>2011-08-06T11:26:00.001-06:00</published><updated>2011-08-06T11:26:04.951-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Expresiones Lambda'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LinqToEntities'/><title type='text'>Tipos Anónimos y Expresiones Lambda</title><summary type='text'>En post pasados hemos hecho consultas utilizando LinqToEntities o LinqToXml y hemos retornado tipos anónimos en cada consulta. En realidad la necesidad de tener un tipo anónimo viene del hecho de que en algunos casos hacemos consultas que dada su estructura se solicitan unos datos de una fuente y otros datos de otra fuente. Por ejemplo, supongamos que tenemos una tabla para Clientes y otra tabla </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/8432416950428885684/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=8432416950428885684' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8432416950428885684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8432416950428885684'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/08/tipos-anonimos-y-expresiones-lambda.html' title='Tipos Anónimos y Expresiones Lambda'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-t0ZZJxLSc-k/Tj14nx6LGzI/AAAAAAAABR8/abylJNnWIrw/s72-c/image_thumb%25255B3%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6171139772907837547</id><published>2011-07-27T11:08:00.001-06:00</published><updated>2011-07-27T11:08:40.584-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Extensiones'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Métodos de Extensión en .NET</title><summary type='text'>¿A quién no le ha pasado la siguiente situación? Empiezo a programar un método para que haga X cosa, de pronto me doy cuenta que necesito una función que no existe en esa clase. ¿Qué hago? Si puedo heredarla, la heredo y agrego el método, con el consiguiente problema de que si requerimos que todos los desarrolladores la usen, deben de olvidarse de utilizar la clase “estándar” y empezar a usar la </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6171139772907837547/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6171139772907837547' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6171139772907837547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6171139772907837547'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/07/metodos-de-extension-en-net.html' title='Métodos de Extensión en .NET'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-Q9t1BHOMg2Y/TjBF--RrRjI/AAAAAAAABRc/BsXXJ6GhF0Q/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-592671884554722089</id><published>2011-07-26T11:59:00.001-06:00</published><updated>2011-07-26T11:59:49.931-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Manejo de Errores con el ASP.NET MVC</title><summary type='text'>Una de las características más interesantes del MVC es el manejo de errores que tiene el framework. Por defecto, el MVC trae una vista para el manejo de errores en el campo visual, la cual se despliega cada vez que se produce un error en el sitio Web. Si vemos la estructura de nuestro proyecto al crearlo usando MVC 3, nos vamos a dar cuenta que en el folder Shared de las vistas vamos a ver una </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/592671884554722089/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=592671884554722089' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/592671884554722089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/592671884554722089'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/07/manejo-de-errores-con-el-aspnet-mvc.html' title='Manejo de Errores con el ASP.NET MVC'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-27_z4pXwFjM/Ti8AOlRxUSI/AAAAAAAABP0/cncYiRQIDeY/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2216985806239165687</id><published>2011-07-20T15:00:00.001-06:00</published><updated>2011-07-20T15:00:52.408-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Charla de Cloud Computing</title><summary type='text'>Los quiero invitar para que el próximo 4 de agosto me acompañen en la charla de Cloud Computing: Principios y Arquitectura. La charla es gratuita y el lugar donde se va a llevar a cabo es el Auditorio de la Bolsa Nacional de Valores en Forum 1. Les dejo la invitación para que le puedan echar un vistazo a el contenido de la misma.  Etiquetas de Technorati: Cloud Computing,Arquitectura  </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2216985806239165687/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2216985806239165687' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2216985806239165687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2216985806239165687'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/07/charla-de-cloud-computing.html' title='Charla de Cloud Computing'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-3KsfakgZTVo/TidCAXCbjII/AAAAAAAABPo/kiqbPn2gu98/s72-c/InvitacionSOACC_thumb%25255B10%25255D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-996367557068686920</id><published>2011-07-06T09:58:00.001-06:00</published><updated>2011-07-06T10:25:22.265-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Invocando un Servicio WCF Asincrónicamente–Parte 2</title><summary type='text'>En un post pasado, escribí un artículo acerca de como hacer asincronismo con WCF del lado del cliente a la hora de consumir un servicio. Esta vez voy a continuar con ese post pero haciendo asincronismo del lado del servidor. Para lograr esto, nos vamos a aprovechar del Task&lt;T&gt;, la cual es una clase que representa una operación asincrónica que puede retornar un valor, tal y como dice la definición</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/996367557068686920/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=996367557068686920' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/996367557068686920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/996367557068686920'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/07/invocando-un-servicio-wcf.html' title='Invocando un Servicio WCF Asincrónicamente–Parte 2'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-Max8tyq1HjI/ThSMaWwpi6I/AAAAAAAABO8/1muPBYMBU68/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-5133283076907635766</id><published>2011-06-30T15:34:00.001-06:00</published><updated>2011-06-30T15:34:11.363-06:00</updated><title type='text'>Repetición charla de SOA</title><summary type='text'>Volviendo al tema de la charlas y como les indique en un post anterior, estamos trabajando en conjunto con CTE con un grupo de charlas gratuitas relacionadas con el tema de Arquitectura de Software. Dado el éxito de la charla  de SOA – Arquitectura Orientada a Servicios – hemos decidido repetirla el próximo 14 de Julio en las instalaciones de CTE. La misma es gratuita e incluye desayuno. Les </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/5133283076907635766/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=5133283076907635766' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5133283076907635766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5133283076907635766'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/06/repeticion-charla-de-soa.html' title='Repetición charla de SOA'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-A1wIc4uhkNs/Tgzr0JfaupI/AAAAAAAABO0/YaRQxY6xrGw/s72-c/Charla%252520SOA_thumb%25255B4%25255D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2367257245344202130</id><published>2011-06-29T13:09:00.001-06:00</published><updated>2011-06-29T13:09:18.725-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Invocando un Servicio WCF Asincrónicamente</title><summary type='text'>En WCF existen varias formas para consumir un servicio de forma asincrónica. La más simple quizás es poner el asincronismo del lado del cliente, que es lo que vamos a hacer en este post.  Para iniciar vamos a crear un proyecto del tipo WCF ServiceLibrary y vamos a crear un servicio muy simple que tiene solamente un método que retorna el número de frutas – strings – que se lo soliciten vía </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2367257245344202130/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2367257245344202130' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2367257245344202130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2367257245344202130'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/06/invocando-un-servicio-wcf.html' title='Invocando un Servicio WCF Asincrónicamente'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-5nfTw0hGxCo/Tgt4MPbCv2I/AAAAAAAABOA/Vknqgh6M40I/s72-c/image_thumb%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-381893727178772023</id><published>2011-06-15T21:45:00.001-06:00</published><updated>2011-06-15T21:46:48.299-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>¿Cómo iniciar un Servicio WCF sin Bloquear el Debug del VS 2010</title><summary type='text'>Cuando desarrollamos aplicaciones n capas y tenemos la necesidad de crear una capa de UI que consume servicios creados en nuestra solución – desde nuestra capa de servicios -, nos vemos en la necesidad de crear el proyecto de Interface de usuario en otra instancia de Visual Studio; esto principalmente porque si ejecutamos los servicios para poder agregar las referencias nos damos cuenta que el </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/381893727178772023/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=381893727178772023' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/381893727178772023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/381893727178772023'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/06/como-iniciar-un-servicio-wcf-sin.html' title='¿Cómo iniciar un Servicio WCF sin Bloquear el Debug del VS 2010'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-cQNYJnaq1Q4/Tfl7wFbOotI/AAAAAAAABNA/cNj74HqETxY/s72-c/image_thumb%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-8278309809339359204</id><published>2011-06-08T09:08:00.001-06:00</published><updated>2011-06-08T09:09:23.264-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><title type='text'>Taller Arquitectura de Software</title><summary type='text'>El próximo sábado 18 de junio estaré dando una conferencia acerca de arquitectura de software en San Salvador. El evento es organizado por el ESFE y será una charla de 4 horas respecto al tema de arquitectura de software y sobre todo, teniendo tantas tecnologías en el mundo Microsoft donde va cada tecnología y que rol juega cada una de estas en nuestra arquitectura. También haremos referencia a </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/8278309809339359204/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=8278309809339359204' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8278309809339359204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8278309809339359204'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/06/taller-arquitectura-de-software.html' title='Taller Arquitectura de Software'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-QlwuqphrZeI/Te-QXX92Z-I/AAAAAAAABM4/QrDqhwzJhos/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-7010558668058082616</id><published>2011-06-05T20:57:00.001-06:00</published><updated>2011-06-05T20:57:24.151-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='Application Blocks'/><category scheme='http://www.blogger.com/atom/ns#' term='AppFabric'/><title type='text'>Presentación de Arquitectura de Software</title><summary type='text'>Estamos desarrollando una actividad todos los jueves en la mañana – o casi todos los jueves – en donde estamos exponiendo una serie de temas relacionados con el desarrollo de software. Entre esos temas ya hemos presentado temas como “desarrollando con seguridad en mente en .NET” y “Arquitectura de Software”. Proseguiremos con temas como “Service Oriented Architecture – SOA” y “Cloud Computing” en</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/7010558668058082616/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=7010558668058082616' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7010558668058082616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7010558668058082616'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/06/presentacion-de-arquitectura-de.html' title='Presentación de Arquitectura de Software'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-372784512673539919</id><published>2011-05-31T10:08:00.001-06:00</published><updated>2011-05-31T10:08:11.385-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='AppFabric'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Publicando y Monitoreando un Servicio en el Windows App Fabric</title><summary type='text'>En este post vamos a crear un servicio WCF y lo vamos a publicar en el Windows AppFabric. Igualmente vamos a monitorear el servicio utilizando el “dashboard” del AppFabric. Creando el Servicio WCF El primer paso a realizar es crear un servicio WCF en Visual Studio el cual vamos a publicar en el AppFabric y el IIS. Este servicio tiene una operación que simplemente recibe el nombre de un producto y</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/372784512673539919/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=372784512673539919' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/372784512673539919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/372784512673539919'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/05/publicando-y-monitoreando-un-servicio.html' title='Publicando y Monitoreando un Servicio en el Windows App Fabric'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-JCTZ7-dcKjY/TeUR4sapuPI/AAAAAAAABKI/DLPoGUHTyVo/s72-c/image_thumb5.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-9101561934482707674</id><published>2011-05-26T20:41:00.001-06:00</published><updated>2011-05-26T20:42:00.522-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>Model First Entity Framework: Pensando Primero en Objetos</title><summary type='text'>Si alguno tiene la ventaja de iniciar un proyecto desde cero, en donde la base de datos no ha sido definida, sin duda tiene una gran oportunidad de aprovecharse de una característica muy interesante del Entity Framework: Model First.  ¿Qué es Model First? El model first es una capacidad de diseño que tiene como idea principal el modelar las clases que voy a utilizar en mi lógica de negocios y a </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/9101561934482707674/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=9101561934482707674' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/9101561934482707674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/9101561934482707674'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/05/model-first-entity-framework-pensando.html' title='Model First Entity Framework: Pensando Primero en Objetos'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-J0iKdL0_nT0/Td8PI-glMHI/AAAAAAAABIQ/qAK0xffWdjA/s72-c/image_thumb2%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-4552618802942803561</id><published>2011-05-21T19:34:00.001-06:00</published><updated>2011-05-21T19:34:38.233-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='AppFabric'/><title type='text'>Instalando el Windows AppFabric</title><summary type='text'>En este post voy proceder a realizar una instalación desde cero de un servidor Windows, habilitando luego el Windows AppFabbric para tener un servidor de aplicaciones y exponer así mis componentes de negocio. Instalar Windows Server 2008 R2 Para este ejemplo, procedí a instalar Windows Server 2008 R2 en una máquina virtual utilizando Virtual Box. Esto sobre todo porque la laptop que tengo con </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/4552618802942803561/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=4552618802942803561' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4552618802942803561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4552618802942803561'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/05/instalando-el-windows-appfabric.html' title='Instalando el Windows AppFabric'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/Tdhnr0Zj5pI/AAAAAAAABGY/k06aDeeMiHg/s72-c/image_thumb6.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-823985271857384769</id><published>2011-05-17T09:25:00.001-06:00</published><updated>2011-05-17T09:26:40.528-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='Application Blocks'/><title type='text'>¿Cuáles Application Blocks Utilizo en mi Arquitectura?</title><summary type='text'>Cuando doy cursos o charlas respecto al diseño de arquitectura de aplicaciones, siempre insisto en la necesidad de usar componentes que nos ayuden a que nuestra arquitectura sea más estándar. Es por esta razón que siempre recomiendo el uso de los Application Blocks de Microsoft. Las razones por las cuales utilizo los AppBlocks son principalmente las siguientes:   Son librerías desarrolladas por </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/823985271857384769/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=823985271857384769' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/823985271857384769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/823985271857384769'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/05/cuales-application-blocks-utilizo-en-mi.html' title='¿Cuáles Application Blocks Utilizo en mi Arquitectura?'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/TdKTh2MNc9I/AAAAAAAABGQ/FB4aRJOaPRQ/s72-c/image_thumb%5B7%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1888979699816650380</id><published>2011-04-21T11:04:00.001-06:00</published><updated>2011-04-21T11:04:59.331-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='Workflow Foundation'/><category scheme='http://www.blogger.com/atom/ns#' term='WF'/><category scheme='http://www.blogger.com/atom/ns#' term='WF4'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>¿Qué es el Windows AppFabric?</title><summary type='text'>  En realidad el AppFabric es un producto que viene a llenar un vacío que existe en la tecnología Microsoft desde la salida de .NET. Antes de esto, cuando desarrollábamos aplicaciones componentizadas utilizábamos el Transaction Server de Microsoft, el cual era un producto que me permitía tener componentes Com/Com+ de forma centralizada y mis aplicaciones podían consumirlos de forma remota. La </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1888979699816650380/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1888979699816650380' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1888979699816650380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1888979699816650380'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/04/que-es-el-windows-appfabric.html' title='¿Qué es el Windows AppFabric?'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/TbBjptP7eMI/AAAAAAAABGA/zNohsV5NOhU/s72-c/image_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6005919716522352055</id><published>2011-04-10T10:47:00.001-06:00</published><updated>2011-04-10T10:47:19.300-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>¿Qué es el Patrón MVC?</title><summary type='text'>Continuando con la serie de post acerca del MVC en ASP.NET voy a proceder a explicar en detalle que es el patrón Model View Controller y que ventajas nos ofrece.  En primera instancia el patrón MVC es una forma de dividir y distribuir la funcionalidad de la capa de presentación en diferentes componentes; estos componentes son:   Model: Contiene la información de una aplicación. En esta capa se </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6005919716522352055/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6005919716522352055' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6005919716522352055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6005919716522352055'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/04/que-es-el-patron-mvc.html' title='¿Qué es el Patrón MVC?'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/TaHfEuAqvPI/AAAAAAAABF4/sVAl3-4iu_I/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2784553852855882287</id><published>2011-04-03T21:16:00.001-06:00</published><updated>2011-04-03T21:17:01.950-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WF4'/><title type='text'>Programación Imperativa en Workflow Foundation 4.0</title><summary type='text'>Es sorprendente la cantidad de nuevas características que tiene el nuevo Windows Workflow Foundation para desarrollar workflows para nuestras aplicaciones de negocios. Una de las más impresionantes es la capacidad de crear código imperativo. Esto nos permite crear workflows y flujos de trabajo de forma dinámica y ejecutarlos de forma dinámica. Por ejemplo, supongamos que queremos un simple </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2784553852855882287/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2784553852855882287' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2784553852855882287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2784553852855882287'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/04/programacion-imperativa-en-workflow.html' title='Programación Imperativa en Workflow Foundation 4.0'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-7144436381984652729</id><published>2011-03-31T12:46:00.001-06:00</published><updated>2011-03-31T12:46:10.965-06:00</updated><title type='text'>POST Número 100</title><summary type='text'>   Después de 4 años de haber iniciado con este blog hoy me he dado cuenta que estoy en 99 posts; es decir, este será mi post número 100. Ha sido una gran experiencia en la cual he aprendido mucho de este tema de los blogs y sobre todo he tenido la oportunidad de compartir con mucha gente que por otros medios hubiera sido imposible de conocer. El blog igualmente ha crecido mucho y en la </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/7144436381984652729/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=7144436381984652729' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7144436381984652729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7144436381984652729'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/03/post-numero-100.html' title='POST Número 100'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/TZTL8RdBnzI/AAAAAAAABFw/gG78hCt8miQ/s72-c/100%20colones_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1888792742305227805</id><published>2011-03-30T23:00:00.001-06:00</published><updated>2011-03-30T23:00:19.623-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MSMQ'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Utilizando WCF y MSMQ</title><summary type='text'>Una de las características más relevantes y más sub utilizadas de WCF es su capacidad de interactuar con el servidor de colas de Windows – MSMQ. Existen muchas aplicaciones que están desarrolladas bajo un esquema sincrónico cuando en realidad no es necesario estrictamente hablando el utilizarlo. Esto se da en casos en donde por ejemplo se puede procesar algún mensaje y el cliente no necesita una </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1888792742305227805/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1888792742305227805' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1888792742305227805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1888792742305227805'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/03/utilizando-wcf-y-msmq.html' title='Utilizando WCF y MSMQ'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/TZQKHUBEU9I/AAAAAAAABEg/m1kUn8egjmE/s72-c/image_thumb3.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2978118988615969293</id><published>2011-03-22T13:50:00.001-06:00</published><updated>2011-03-22T13:50:31.787-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><title type='text'>ASP.NET MVC: El MVC no es una forma de Arquitectura</title><summary type='text'>En estos días se ha puesto muy de moda el uso del MVC con ASP.NET y muchos lectores del blog me han solicitado que empiece una serie de posts similares a los del Entity Framework { los cuales no he terminado}.  Es por esta razón que decidí iniciar una secuencia de artículos relacionados con el MVC en ASP.NET y además me decidí a iniciar relacionando la arquitectura de software y el MVC. Cuando </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2978118988615969293/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2978118988615969293' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2978118988615969293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2978118988615969293'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/03/aspnet-mvc-el-mvc-no-es-una-forma-de.html' title='ASP.NET MVC: El MVC no es una forma de Arquitectura'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/diego.rojas/SP6HSUe0cUI/AAAAAAAAAFs/F3JonrZHGy0/s72-c/image_thumb%5B6%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6439909067426544720</id><published>2011-03-14T11:41:00.001-06:00</published><updated>2011-03-14T14:07:58.343-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Azure: Hola Mundo</title><summary type='text'>Últimamente he tenido la oportunidad de estar presente como expositor en charlas o cursos de introducción a la computación en la nube utilizando Azure. Quizás la pregunta más común es como hacer para iniciar el desarrollo en Azure. Por esta razón  voy a escribir un post explicando que se requiere para desarrollar aplicaciones en la Nube utilizando Windows Azure. Configurando el Ambiente de </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6439909067426544720/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6439909067426544720' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6439909067426544720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6439909067426544720'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/03/azure-hola-mundo.html' title='Azure: Hola Mundo'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/TX5S1DoTdnI/AAAAAAAABCo/rKmQbEP587g/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-995242653686701670</id><published>2011-03-05T11:57:00.001-06:00</published><updated>2011-03-05T12:07:37.825-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>El Entity Framework en una Arquitectura n-Layer – Parte 7 –{ Polimorfismo por Herencia }</title><summary type='text'>Siguiendo con el post anterior, vamos a proceder a guardar una entidad heredada utilizando el polimorfismo por herencia en el Entity Framework. Dado que en el post anterior modificamos el esquema de entidades generado por el Entity Framework para agregar herencia, podemos aprovecharnos de esta característica para hacer métodos polimórficos en la lógica de Negocios.  Polimorfismo en .NET En </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/995242653686701670/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=995242653686701670' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/995242653686701670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/995242653686701670'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/03/el-entity-framework-en-una-arquitectura.html' title='El Entity Framework en una Arquitectura n-Layer – Parte 7 –{ Polimorfismo por Herencia }'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/TXJ5RwfB0BI/AAAAAAAABBw/kPLBeQfi9mY/s72-c/image_thumb%5B5%5D.png?imgmax=800' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-3109877247124017406</id><published>2011-02-27T18:39:00.001-06:00</published><updated>2011-02-27T18:39:19.938-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>El Entity Framework en una Arquitectura n-Layer – Parte 6–{ Herencia en las Entidades}</title><summary type='text'>Cuando se utiliza el EntityFramework normalmente generamos el modelo en la capa de acceso a datos y procedemos a trabajar directamente con las entidades generadas desde la base de datos. Sin embargo, al estar trabajando con Entidades, estamos trabajando directamente con el estado del objeto de negocios generado a partir de la tabla asociada, con lo cual podemos aprovecharnos de todas las bondades</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/3109877247124017406/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=3109877247124017406' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3109877247124017406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3109877247124017406'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/02/el-entity-framework-en-una-arquitectura_27.html' title='El Entity Framework en una Arquitectura n-Layer – Parte 6–{ Herencia en las Entidades}'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_cmQi4juBOzU/TWruTGg6jGI/AAAAAAAAA_U/zg4YeNGrgJM/s72-c/image_thumb%5B24%5D.png?imgmax=800' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-4004819231277541406</id><published>2011-02-24T09:32:00.001-06:00</published><updated>2011-02-24T09:32:22.117-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='ForEach'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Recorriendo una Lista con el ForEach pero sin un for each en C#</title><summary type='text'>Cada vez que utilizamos listas en nuestras aplicaciones existe una altísima probabilidad de tengamos que recorrer la lista para llevar a cabo una acción específica sobre cada uno de los elementos contenidos en la misma. Esta acción se realiza normalmente utilizando la estructura for each o un for tradicional estilo “C++”. Sin embargo; en .NET las listas tienen otra forma de recorrer todos sus </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/4004819231277541406/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=4004819231277541406' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4004819231277541406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4004819231277541406'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/02/recorriendo-una-lista-con-el-foreach.html' title='Recorriendo una Lista con el ForEach pero sin un for each en C#'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/TWZ6ArwBHHI/AAAAAAAAA_I/OUw2DrHvTkY/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-7253167759787352142</id><published>2011-02-15T23:09:00.001-06:00</published><updated>2011-02-15T23:09:52.365-06:00</updated><title type='text'>El Entity Framework en una Arquitectura n-Layer – Parte 5 {Creando la capa de Entidades}</title><summary type='text'>  Siguiendo con la serie de post respecto al EntityFramework y las arquitecturas n-layer, en este post vamos a trabajar en la creación de una capa de entidades de negocio de forma personalizada y que trabaje ligada con el EF para aprovechar sus capacidades. En un post anterior, se mostró como trabajar una arquitectura n-layer con el entity framework; sin embargo, muchos de los lectores hicieron </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/7253167759787352142/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=7253167759787352142' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7253167759787352142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7253167759787352142'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/02/el-entity-framework-en-una-arquitectura.html' title='El Entity Framework en una Arquitectura n-Layer – Parte 5 {Creando la capa de Entidades}'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/TVtb9KMS9SI/AAAAAAAAA-Q/SraRxszMMm0/s72-c/image_thumb2.png?imgmax=800' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-5905106512961037146</id><published>2011-01-31T22:29:00.001-06:00</published><updated>2011-01-31T22:29:12.663-06:00</updated><title type='text'>Transformaciones en los Puertos: Biztalk</title><summary type='text'>Normalmente cuando creamos orquestaciones recibimos un mensaje de un cliente y dentro de la orquestación lo transformamos hacia un tipo de mensaje el cual vamos a enviar a otro puerto o vamos a procesar en la orquestación. Este tipo de mapeos es normal para los que desarrollamos en Biztalk, sin embargo; estamos desaprovechando una de las características más importantes del Biztalk: Transformar </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/5905106512961037146/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=5905106512961037146' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5905106512961037146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5905106512961037146'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/01/transformaciones-en-los-puertos-biztalk.html' title='Transformaciones en los Puertos: Biztalk'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_cmQi4juBOzU/TUeL3KppLnI/AAAAAAAAA88/XHTIMtrHUV0/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1158331905905732174</id><published>2011-01-27T21:53:00.001-06:00</published><updated>2011-01-27T21:53:54.224-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Biztalk'/><title type='text'>SQL Adapter Wizard Desaparece Generando Orquestación: Biztalk Server 2010</title><summary type='text'>Me encontré con un errro atípico en Visual Studio 2010 a la hora de generar una orquestación a partir de un procedimiento almacenado. Resulta que cuando estaba generando la orquestación el Wizard se cerraba y no se generaba nada ni aparecía ningún mensaje de error error. Luego de “Googlear” en “Bing” el error logre dar con el problema.  Resulta que el wizard se estaba cerrando porque tenía una </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1158331905905732174/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1158331905905732174' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1158331905905732174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1158331905905732174'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/01/sql-adapter-wizard-desaparece-generando.html' title='SQL Adapter Wizard Desaparece Generando Orquestación: Biztalk Server 2010'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_cmQi4juBOzU/TUI9zDSyIcI/AAAAAAAAA8g/Zjvtbqahmpg/s72-c/image_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2521940841666418344</id><published>2011-01-24T20:36:00.001-06:00</published><updated>2011-01-24T20:36:50.836-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>Maestro Detalle con el Entity Framework 4.0</title><summary type='text'>Quizás la tarea más común a la hora de desarrollar un software de negocios es el uso de maestros detalles en nuestra aplicación, es decir una entidad padre con varios hijos que la complementan. Esto conlleva a que se de una pregunta entre los desarrolladores con mucha frecuencia: ¿cómo funciona un maestro detalle con el Entity Framework? En este post vamos a solucionar este problema. Foreign Keys</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2521940841666418344/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2521940841666418344' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2521940841666418344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2521940841666418344'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/01/maestro-detalle-con-el-entity-framework.html' title='Maestro Detalle con el Entity Framework 4.0'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/TT43Ki1-ZkI/AAAAAAAAA74/ZpmisEujiHs/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1346804571924591982</id><published>2011-01-13T22:41:00.001-06:00</published><updated>2011-01-13T22:41:45.429-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><title type='text'>SOA Myth 1: Estandarizar el Formato del Mensaje</title><summary type='text'>Muchos de los proyectos en lo que tengo la suerte de trabajar estan relacionado con Arquitectura Orientada a Servicios. En estos proyectos es normal escuchar opiniones de las personas involucradas en estos proyectos respecto a lo que es SOA, lo que no es SOA, el mejor SOA, el peor SOA, etc. Además, acompañando estas opiniones vienen muchos mitos que por alguna razón surgen y luego persisten en la</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1346804571924591982/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1346804571924591982' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1346804571924591982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1346804571924591982'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/01/soa-myth-1-estandarizar-el-formato-del.html' title='SOA Myth 1: Estandarizar el Formato del Mensaje'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_cmQi4juBOzU/TS_UBaLPw1I/AAAAAAAAA7U/FwR9lsP-5Uw/s72-c/image_thumb3.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-3077244905156365230</id><published>2011-01-03T21:02:00.001-06:00</published><updated>2011-01-03T21:02:59.044-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Calculando el Costo de una Aplicación en Windows Azure</title><summary type='text'>Uno de los temas más complicados de explicar a las empresas a la hora de ingresar al mundo de la computación en la nube es el costo de este nuevo esquema. Normalmente las empresas están acostumbradas al esquema de licenciamiento y por lo tanto cuesta un poco entender como es que funciona el cobro en la nube. En este post voy a tratar de explicar a través de ejemplos lo que podría costar tener una</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/3077244905156365230/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=3077244905156365230' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3077244905156365230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3077244905156365230'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2011/01/calculando-el-costo-de-una-aplicacion.html' title='Calculando el Costo de una Aplicación en Windows Azure'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-3113767807190624218</id><published>2010-12-30T12:15:00.001-06:00</published><updated>2010-12-30T12:15:36.261-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IComparer'/><category scheme='http://www.blogger.com/atom/ns#' term='IComparable'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>IComparer&lt;T&gt;, IComparable&lt;T&gt; y el SortedList&lt;TKey, TValue&gt;</title><summary type='text'>Revisando la implementación del SortedList y como alterar los criterios de comparación me di a la tarea de buscar alternativas para resolver un problema que tenía en un software en el que estaba trabajando.  Resulta que cuando uno utiliza un SortedList tiene dos opciones para manejar el ordenamiento de la misma: IComparable e IComparer. ¿Y cuál es la diferencia? Bueno desde el punto de vista </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/3113767807190624218/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=3113767807190624218' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3113767807190624218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3113767807190624218'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/12/icomparer-icomparable-y-el-sortedlist.html' title='IComparer&amp;lt;T&amp;gt;, IComparable&amp;lt;T&amp;gt; y el SortedList&amp;lt;TKey, TValue&amp;gt;'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_cmQi4juBOzU/TRzMPTx3K5I/AAAAAAAAA6o/FyNsYC2c4HA/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6346247907737198067</id><published>2010-12-03T09:09:00.001-06:00</published><updated>2010-12-03T09:09:45.615-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Taller'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Taller de Cloud Computing y Windows Azure</title><summary type='text'>   Este post no es técnico, más bien es una invitación a un taller que se va a llevar a cabo en el mes de enero acerca de Cloud Computing y Windows Azure y que tendré la dicha de dictar. Espero nos puedan acompañar. Mas información a los teléfonos o direcciones en el brochure o a mi correo diego.rojas [at] formsevolution.net. Hay promos disponibles.    Technorati Tags: Azure,Cloud Computing,</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6346247907737198067/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6346247907737198067' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6346247907737198067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6346247907737198067'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/12/taller-de-cloud-computing-y-windows.html' title='Taller de Cloud Computing y Windows Azure'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_cmQi4juBOzU/TPkIOInWqzI/AAAAAAAAA6c/NsFQ16mIvSw/s72-c/Seminario%20Cloud%20Comp_thumb%5B4%5D.gif?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6497359954106222265</id><published>2010-12-02T15:16:00.001-06:00</published><updated>2010-12-02T15:16:30.952-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unity'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IoC'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Utilizando Unity para Resolver un Problema de Negocio - 4</title><summary type='text'>Continuando con la serie de posts acerca de como utilizar Unity y aplicarlo a un problema de negocio, vamos a agregar en este post la funcionalidad necesaria para permitir agregar nuevos tipos de usuario sin tener que compilar nuestra capa de negocios. La idea con este post es permitirle al desarrollador crear componentes que puedan ser asociados a la lógica de negocios sin tener que modificar la</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6497359954106222265/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6497359954106222265' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6497359954106222265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6497359954106222265'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/12/utilizando-unity-para-resolver-un.html' title='Utilizando Unity para Resolver un Problema de Negocio - 4'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/TPgMnNBCbiI/AAAAAAAAA5c/HOdQMRDqaBA/s72-c/image_thumb3.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-237056592543396092</id><published>2010-11-29T23:04:00.001-06:00</published><updated>2010-11-29T23:04:04.807-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unity'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IoC'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Utilizando Unity para Resolver un Problema de Negocio - 3</title><summary type='text'>Siguiendo con el uso de Unity para trabajar problemas de negocios de una forma menos dependiente entre los componentes que desarrollamos, vamos ahora a tratar el caso en donde la clase recién instanciada tiene una referencia a otra clase que a su vez debe ser resuelta por el contenedor de IoC.   Supongamos que cada usuario tiene una relación de agregación con la interface IEmpresa y que </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/237056592543396092/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=237056592543396092' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/237056592543396092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/237056592543396092'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/11/utilizando-unity-para-resolver-un_29.html' title='Utilizando Unity para Resolver un Problema de Negocio - 3'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_cmQi4juBOzU/TPSFoJJvM1I/AAAAAAAAA40/OacF3de2GFE/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-9057532420576892747</id><published>2010-11-23T11:03:00.001-06:00</published><updated>2010-11-23T11:03:04.258-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unity'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IoC'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Utilizando Unity para Resolver un Problema de Negocio - 2</title><summary type='text'>En el post anterior presentamos un problema el cual resolvimos usando Unity, sin embargo, este problema se presentó de una manera muy simple y un poco corto en realidad. En este post vamos a agregarle un par de situaciones que se presentan normalmente en este tipo de sistemas.  En primer lugar, cuando creamos la instancia del usuario que necesitamos, le tuvimos que indicar de forma explícita al </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/9057532420576892747/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=9057532420576892747' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/9057532420576892747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/9057532420576892747'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/11/utilizando-unity-para-resolver-un_23.html' title='Utilizando Unity para Resolver un Problema de Negocio - 2'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/TOvzwSoOWrI/AAAAAAAAA4k/zPL6hRs28Tk/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-3457201971863388795</id><published>2010-11-22T22:26:00.001-06:00</published><updated>2010-11-22T22:26:22.544-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unity'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IoC'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Utilizando Unity para Resolver un Problema de Negocio - 1</title><summary type='text'>En días pasados me encontré con un problema en el cual se podría utilizar IoC para resolverlo de forma sencilla y elegante. En este post voy a reproducir este fix con un problema un tanto diferente pero en el cual se puede ver como de forma sencilla podemos aprovecharnos de las bondades de Unity y a la vez hacer nuestra aplicación más versátil y fácil de hacer crecer.  El Problema  Supongamos que</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/3457201971863388795/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=3457201971863388795' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3457201971863388795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3457201971863388795'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/11/utilizando-unity-para-resolver-un.html' title='Utilizando Unity para Resolver un Problema de Negocio - 1'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/TOtCZ_43CpI/AAAAAAAAA4U/x8hHfSdNllk/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-4202361403364427236</id><published>2010-11-20T20:45:00.001-06:00</published><updated>2010-11-20T20:45:43.577-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='ObjectDataSource'/><title type='text'>Actualizar una Entidad Utilizando el ObjectDataSource y el EntityFramework</title><summary type='text'>Continuando con el post respecto a utilizar el EntityFramework en conjunto con el ObjectDataSource en una aplicación ASP.NET, vamos a ver como actualizar una entidad utilizando esta combinación de componentes. En primera instancia vamos a tener una tabla de usuarios la cual una vez creado el modelo en el EntityFramework vamos a tener una estructura como la que se ve en la siguiente figura.    </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/4202361403364427236/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=4202361403364427236' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4202361403364427236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4202361403364427236'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/11/actualizar-una-entidad-utilizando-el.html' title='Actualizar una Entidad Utilizando el ObjectDataSource y el EntityFramework'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_cmQi4juBOzU/TOiHt6FYm-I/AAAAAAAAA3E/iiAdKFeXpOc/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-8322634728626842222</id><published>2010-11-16T10:59:00.001-06:00</published><updated>2010-11-16T10:59:57.068-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>¿Qué paso aquí?–&gt; Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0</title><summary type='text'>Después de instalar VS 2010 y por consiguiente el framework 4.0 procedí a crear un servicio en WCF utilizando VS 2008, ya que el proyecto con el que vengo trabajando utiliza esta herramienta y el framework 3.5 para llevar a cabo sus tareas. Luego de crear el servicio, procedo a probarlo desde la consola del IIS 7 y plop!… me aparece el siguiente error en el browser.    Después de una búsqueda </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/8322634728626842222/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=8322634728626842222' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8322634728626842222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8322634728626842222'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/11/que-paso-aqui-could-not-load-type-from.html' title='¿Qué paso aquí?–&amp;gt; Could not load type &amp;#39;System.ServiceModel.Activation.HttpModule&amp;#39; from assembly &amp;#39;System.ServiceModel, Version=3.0.0.0'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/TOK4bhCyHAI/AAAAAAAAA1g/3zPLuTUm7LQ/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1304756262124062071</id><published>2010-11-12T11:36:00.001-06:00</published><updated>2010-11-12T11:36:26.639-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><title type='text'>El patrón MVC y sus Repercusiones en las Arquitecturas Orientadas a Servicios</title><summary type='text'>El patrón Model-View-Controller ha existido desde hace muchisismo años. Incluso, las aplicaciones Web que se desarrollan en Java lo implementan por defecto desde hace más de 10 años. Sin embargo, en el stack de tecnologías de Microsoft su uso se viene masificando desde la introducción del mismo con ASP.NET. Esto es una gran noticia porque nos permite aplicarle un patrón a la capa de presentación.</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1304756262124062071/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1304756262124062071' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1304756262124062071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1304756262124062071'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/11/el-patron-mvc-y-sus-repercusiones-en.html' title='El patrón MVC y sus Repercusiones en las Arquitecturas Orientadas a Servicios'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_cmQi4juBOzU/TN17EjwQgzI/AAAAAAAAA1Q/Vs6sRcipdjs/s72-c/image_thumb%5B10%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6272659325254286357</id><published>2010-10-21T16:17:00.001-06:00</published><updated>2010-10-21T16:17:02.143-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Imágenes y WCF – Como Retornar una Imagen desde un Servicio en WCF y Presentarlo en WPF</title><summary type='text'>Una de las tareas más normales en la vida de un desarrollador de aplicaciones es interactuar con imagenes. Esta tarea está normalmente relacionada con presentar imagenes que representan alguna información adicional respecto al dato o registro con el que estamos interactuando. Esto representa un desafío si nos apegamos a la arquitectura n-layer con una capa de servicios descrita en post anteriores</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6272659325254286357/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6272659325254286357' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6272659325254286357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6272659325254286357'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/10/imagenes-y-wcf-como-retornar-una-imagen.html' title='Imágenes y WCF – Como Retornar una Imagen desde un Servicio en WCF y Presentarlo en WPF'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_cmQi4juBOzU/TMC7pGckKNI/AAAAAAAAAzw/Mo8JrY_NTTY/s72-c/image_thumb2.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1261718730795354010</id><published>2010-10-08T20:35:00.001-06:00</published><updated>2010-10-08T20:35:29.590-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Generics'/><title type='text'>Haciendo Sumatorias con Listas de Entidades con VB.NET</title><summary type='text'>Una de las tantas excelentes funcionalidades que tienen las listas genéricas en .NET es la capacidad de hacer sumatorias basado en un predicado que se le pasa al método Sum como parámetro. Este predicado es una expresión lambda. En este post vamos a crear un par de entidades {proyecto y tarea} y vamos a proceder a crear una sumatoria en base a la relación entre estas entidades. Este post voy a </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1261718730795354010/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1261718730795354010' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1261718730795354010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1261718730795354010'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/10/haciendo-sumatorias-con-listas-de.html' title='Haciendo Sumatorias con Listas de Entidades con VB.NET'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/TK_U6AVq_eI/AAAAAAAAAy4/v-jpQjMivYg/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-7453991178726088072</id><published>2010-10-04T15:18:00.001-06:00</published><updated>2010-10-04T15:18:58.219-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>WCF y Excepciones – Parte 2 - FaultContracts</title><summary type='text'>Siguiendo con el post anterior relacionado con el manejo de excepciones en WCF en este post vamos a trabajar con excepciones personalizadas en WCF. Como vimos anteriormente, las excepciones en WCF no se propagan porque WCF no entiende de excepciones. Igualmente, debemos recordar que utilizamos Fault Messages para poder retornar un error más legible al cliente. En este post vamos a atacar el caso </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/7453991178726088072/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=7453991178726088072' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7453991178726088072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7453991178726088072'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/10/wcf-y-excepciones-parte-2.html' title='WCF y Excepciones – Parte 2 - FaultContracts'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_cmQi4juBOzU/TKpEwagNCdI/AAAAAAAAAyw/T6cNL5j-Kz8/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-8466106425261990008</id><published>2010-10-03T15:07:00.001-06:00</published><updated>2010-10-03T15:07:33.406-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Reportando Excepciones al Cliente en WCF</title><summary type='text'>Uno de los problemas más comúnes a la hora de trabajar con WCF es el manejo de excepciones del lado del servicio. Es normal ver como en la implementación del servicio, el desarrollador pone un manejo de excepciones normal, basado en su conocimiento del uso de las mismas en el desarrollo de sus aplicaciones en el framework; sin embargo, a la hora de reportar la excepción el resultado no es el </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/8466106425261990008/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=8466106425261990008' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8466106425261990008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8466106425261990008'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/10/reportando-excepciones-al-cliente-en.html' title='Reportando Excepciones al Cliente en WCF'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/TKjwi24GOyI/AAAAAAAAAyg/aw6194zacyA/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6561303760770970159</id><published>2010-09-03T09:07:00.001-06:00</published><updated>2010-09-03T09:07:49.392-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='POCO'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='DataSet'/><title type='text'>DataSets o POCOs – Plain Old CLR Object</title><summary type='text'>Al día de hoy no había querido ahondar en este tema porque es un tema un poco dificil de aclarar sin estar presente y sin la posibilidad de “hacer garabatos” en una pizarra para aclarar más las cosas; sin embargo, dado que el tema se repite una y otra vez, voy a tratar de explicar cuales son las razones por las cuales yo siempre prefiero utilizar POCOs a DataSets en este post.  Definiciones  En </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6561303760770970159/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6561303760770970159' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6561303760770970159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6561303760770970159'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/09/datasets-o-pocos-plain-old-clr-object.html' title='DataSets o POCOs – Plain Old CLR Object'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2002270550470849157</id><published>2010-09-01T20:17:00.001-06:00</published><updated>2010-09-01T20:17:07.651-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AutoMapper'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>ValueResolver&lt;T&gt; y AutoMapper</title><summary type='text'>En el post pasado acerca de AutoMapper, se expuso como hacer resúmenes de datos – sumatorias en este caso – utilizando Automapper. Entre los correos y comentarios que me llegaron acerca del post,  hubieron varios que me indicaban que la conversión en la configuración del mapeo, era un código un poco complicado de entender y dificil de dar mantenimiento, por lo cual me decidí a escribir este post </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2002270550470849157/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2002270550470849157' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2002270550470849157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2002270550470849157'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/09/valueresolver-y-automapper.html' title='ValueResolver&amp;lt;T&amp;gt; y AutoMapper'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1223602514147253692</id><published>2010-08-25T14:27:00.001-06:00</published><updated>2010-08-25T14:27:04.502-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='NServiceBus'/><title type='text'>Seminario de SOA</title><summary type='text'>Aprovecho este espacio para invitarlos a un seminario de Arquitectura Orientada a Servicio, el cual tengo el privilegio de dar el día 1ero de octubre en la Ulacit. Ese día estaremos utilizando el NServiceBus para demostrar como trabajar con un ESB en nuestra organización y además para aclarle a todos aquellos que todavía no lo tienen claro, que para tener una arquiectura orientada a servicios se </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1223602514147253692/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1223602514147253692' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1223602514147253692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1223602514147253692'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/08/seminario-de-soa.html' title='Seminario de SOA'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_cmQi4juBOzU/THV8kyUr78I/AAAAAAAAAxc/1uwiP8_9bWI/s72-c/SOA%20Anuncio_thumb%5B4%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-3297944511057680082</id><published>2010-08-22T09:57:00.001-06:00</published><updated>2010-08-22T09:57:27.747-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AutoMapper'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>AutoMapper 2 – Trabajando con Conversiones de Varios Niveles</title><summary type='text'>Siguiendo con el post anterior, Automapper no solamente nos permite mapear clases con una relación de 1 a 1. En este post vamos a ver como podemos totalizar de diversas formas una relación entre dos clases utilizando AutoMapper. En primera instancia vamos a suponer una relación entre dos clases, una llamada Tarea la cual contiene información referente a las tareas que componen un proyecto y cuya </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/3297944511057680082/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=3297944511057680082' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3297944511057680082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3297944511057680082'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/08/automapper-2-trabajando-con.html' title='AutoMapper 2 – Trabajando con Conversiones de Varios Niveles'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/THFI4XdsHuI/AAAAAAAAAxM/Q1-a_GOlXSI/s72-c/image_thumb2.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-519794720138955119</id><published>2010-08-08T13:57:00.001-06:00</published><updated>2010-08-08T13:57:28.057-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AutoMapper'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>¿Qué es AutoMapper?</title><summary type='text'>Según la documentación, AutoMapper es Mapeador de Objeto a Objeto, es decir recibo una instancia de un objeto y genera otra instancia de otro objeto con diferente estructura. Interesante no? pues resulta que esta herramienta gratuita, disponible en codeplex - http://automapper.codeplex.com/ – es una librería que nos puede ahorra muchísimo código cuando estamos desarrollando aplicaciones .NET.  </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/519794720138955119/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=519794720138955119' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/519794720138955119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/519794720138955119'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/08/que-es-automapper.html' title='¿Qué es AutoMapper?'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/TF8MGaEd7qI/AAAAAAAAAw8/TIRpn1_MY7Q/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6138359725488116150</id><published>2010-08-02T19:36:00.001-06:00</published><updated>2010-08-02T19:36:23.764-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Presentando Imágenes y Texto en un ComboBox en WPF</title><summary type='text'>Cuando realizamos proyectos en WFP, es común tener que hacer que la aplicación sea lo más visual posible para el usuario final, esto por que cuando una empresa decide moverse de windows Forms a WPF normalmente lo hace por que quiere aprovecharse de todas las bondades visuales de XAML y WPF para hacer lucir sus aplicaciones espectaculares. En este post vamos a ver como desplegar una imagen dentro </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6138359725488116150/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6138359725488116150' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6138359725488116150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6138359725488116150'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/08/presentando-imagenes-y-texto-en-un.html' title='Presentando Imágenes y Texto en un ComboBox en WPF'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_cmQi4juBOzU/TFdyW4bZuQI/AAAAAAAAAvk/D19zlLc7gxU/s72-c/image_thumb1.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-4421391108908205353</id><published>2010-07-06T16:21:00.001-06:00</published><updated>2010-07-06T16:21:32.781-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WF'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Exponiendo un Workflow como un Servicio – WF + WCF</title><summary type='text'>En aspectos relacionados con SOA – Arquitectura orientada a servicios – hay dos componentes en lo que concierne al desarrollo en .NET que están muy relacionados: WCF – Windows Comunication Foundation – y WF – Workflow Foundation. La razón es que normalmente los servicios en SOA son utilizados para exponer lógica de negocios; es decir, yo expongo funcionalidad de mi negocio a través de servicios </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/4421391108908205353/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=4421391108908205353' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4421391108908205353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4421391108908205353'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/07/exponiendo-un-workflow-como-un-servicio.html' title='Exponiendo un Workflow como un Servicio – WF + WCF'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/TDOriBwbBDI/AAAAAAAAAgg/Cs_34fduURk/s72-c/image_thumb2.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-3385466856940895482</id><published>2010-06-11T22:19:00.001-06:00</published><updated>2010-06-11T22:19:54.256-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WF'/><title type='text'>Invocar un Workflow desde Otro Workflow y Detectar el Evento de Terminación de cada Workflow</title><summary type='text'>Una tarea muy común cuando se usa el Workflow Foundation es invocar un workflow desde otro Workflow. Esta tarea no tiene mucha dificultad; sin embargo, en muchas ocasiones me he encontrado con la necesidad de atrapar el evento de finalización de uno de los dos workflow para llevar a cabo una acción determinada. Este post detalla lo que se debe hacer para saber cuando finalizó el workflow que </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/3385466856940895482/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=3385466856940895482' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3385466856940895482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3385466856940895482'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/06/invocar-un-workflow-desde-otro-workflow.html' title='Invocar un Workflow desde Otro Workflow y Detectar el Evento de Terminación de cada Workflow'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/TBMK0GAGL1I/AAAAAAAAAfw/HP4yI4tDH34/s72-c/image_thumb%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2231820258917262588</id><published>2010-06-10T01:56:00.001-06:00</published><updated>2010-06-10T01:56:35.762-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSO'/><category scheme='http://www.blogger.com/atom/ns#' term='Biztalk'/><title type='text'>Error Configurando el Enterprise SSO con Biztalk Server 2009</title><summary type='text'>Resulta que tenía una instalación de Biztalk Server 2009 en mi máquina con Vista Enterprise y Visual Studio 2008 la cual funcionaba perfectamente – en especial para demos o pruebas antes de llevar la orquestación a producción. Por una razón de negocio, tuve que desinstalar el Biztalk SErver 2009 de mi máquina por un tiempo, y por lo tanto desinstalar el SSO. Hoy trato de instalar Biztalk en mi </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2231820258917262588/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2231820258917262588' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2231820258917262588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2231820258917262588'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/06/error-configurando-el-enterprise-sso.html' title='Error Configurando el Enterprise SSO con Biztalk Server 2009'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/TBCarPNdg3I/AAAAAAAAAfg/NkZmOTOo8rs/s72-c/image_thumb%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-5825258797466536313</id><published>2010-04-03T12:15:00.001-06:00</published><updated>2010-04-03T12:15:51.979-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Invocando un Servicio Web desde JavaScript en ASP.NET</title><summary type='text'>En una de las tareas que normalmente uno tiene que llevar a cabo, me encontré con la necesidad de invocar un servicio Web –asmx – desde javascript en mi página cliente. Los detalles del porque tenía que llevar a cabo esta tarea de esta forma son irrelevantes para el propósito del post, sin embargo me parece que la solución del problema puede serle útil a muchos de ustedes.  En primera instancia, </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/5825258797466536313/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=5825258797466536313' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5825258797466536313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5825258797466536313'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/04/invocando-un-servicio-web-desde.html' title='Invocando un Servicio Web desde JavaScript en ASP.NET'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/S7eF131v0HI/AAAAAAAAAe8/DZhcHobhXLM/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-7442035050344075081</id><published>2010-03-21T20:55:00.001-06:00</published><updated>2010-03-21T21:00:43.113-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='Workflow Foundation'/><title type='text'>Donde va el Workflow Foundation en una Arquitectura n-Layer</title><summary type='text'>Desde que salio la primera versión del Workflow Foundation con el Framework 3.0, se ha ido incrementando su uso en las organizaciones para llevar a cabo diversas tareas que por lo general, son procesos que no se ejecutan de inmediato, si no más bien son procesos que perduran en el tiempo. Igualmente, el WF se esta conviertiendo en el framework de preferencia cuando se trata de procesos que </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/7442035050344075081/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=7442035050344075081' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7442035050344075081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7442035050344075081'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/03/donde-va-el-workflow-foundation-en-una.html' title='Donde va el Workflow Foundation en una Arquitectura n-Layer'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/S6bcO9a5IEI/AAAAAAAAAe0/tBxAyOsh8nE/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-4321783429391100336</id><published>2010-03-07T20:17:00.001-06:00</published><updated>2010-03-07T20:17:48.832-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='LinqToEntities'/><title type='text'>Hacer una consulta con LinqToEntites que se comporte como un like en SQLServer</title><summary type='text'>En estos días recibí una pregunta de parte de un alumno muy interesante: ¿Cómo hacer una consulta en LinqToEntites que se comporte como un like %parametro% en SQLServer. En este post voy a responder esta pregunta. En primera instancia vamos a usar una tabla que llamaremos participantes la cual vemos a continuación.     Seguidamente en la lógica de negocios vamos a hacer una consulta donde se nos </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/4321783429391100336/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=4321783429391100336' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4321783429391100336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4321783429391100336'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/03/hacer-una-consulta-con-linqtoentites.html' title='Hacer una consulta con LinqToEntites que se comporte como un like en SQLServer'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_cmQi4juBOzU/S5ReTIyYUkI/AAAAAAAAAeQ/F94ejSbmDUg/s72-c/image_thumb1.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2956190757078408004</id><published>2010-02-27T16:38:00.001-06:00</published><updated>2010-02-27T16:38:17.117-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='ObjectDataSource'/><category scheme='http://www.blogger.com/atom/ns#' term='LinqToEntities'/><title type='text'>Usando el ObjectDataSource en una Aplicación n-Layer</title><summary type='text'>Uno de los controles menos utilizando cuando se desarrollan aplicaciones en .NET es el objeto ObjectDataSource. He visto en muchas ocasiones el uso del objeto SqlDataSource para conectarse directamente a una base de datos SQL y realizar operaciones contra la misma, pero en raras ocasiones he visto a los desarrolladores aprovecharse del objecto ObjectDataSource y sacarle verdaderamente provecho. </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2956190757078408004/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2956190757078408004' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2956190757078408004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2956190757078408004'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/02/usando-el-objectdatasource-en-una.html' title='Usando el ObjectDataSource en una Aplicación n-Layer'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/S4mej4BGAxI/AAAAAAAAAdA/I_emXIWZdiU/s72-c/image_thumb%5B20%5D.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1742937588424640993</id><published>2010-01-23T10:33:00.001-06:00</published><updated>2010-01-23T10:33:21.661-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Creando Gráficos tipo Pastel con el WPF toolkit</title><summary type='text'>En un post anterior, hicimos una simple gráfica utilizando el WPF toolkit en donde mostrabamos como crear una grafica lineal en donde se mostraban las pulgas reportadas versos las pulgas corregidas. En este post vamos a crear la misma gráfica pero utilizando un gráfico tipo pie.  A diferencia del post anterior, esta vez vamos a agregar las series de forma dinámica de forma que podamos agregar </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1742937588424640993/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1742937588424640993' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1742937588424640993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1742937588424640993'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/01/creando-graficos-tipo-pastel-con-el-wpf.html' title='Creando Gráficos tipo Pastel con el WPF toolkit'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/S1sktluNTwI/AAAAAAAAAcU/VhdeG15pgvA/s72-c/image_thumb%5B31%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-5614235054709498115</id><published>2010-01-08T09:08:00.001-06:00</published><updated>2010-01-08T09:08:12.311-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Expresiones Lambda'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Linq y los Árboles de Expresiones ( Expression Trees) – Parte 1</title><summary type='text'>Los árboles de expresiones nos permiten parsear expresiones enviadas a un método. Un árbol de expresiones en Linq es como lo indica su nombre, una estructura de árbol que contiene expresiones. Las expresiones por otra parte, en este caso particular son expresiones Lambda, las cuales como vimos en un post pasado, son una nueva manera de definir un delegate en C#. El árbol de expresiones es una </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/5614235054709498115/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=5614235054709498115' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5614235054709498115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5614235054709498115'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/01/linq-y-los-arboles-de-expresiones.html' title='Linq y los Árboles de Expresiones ( Expression Trees) – Parte 1'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1560265410055177283</id><published>2010-01-06T22:54:00.001-06:00</published><updated>2010-01-06T22:54:01.683-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Entendiendo las Expresiones Lambda</title><summary type='text'>Una de las características menos comprendidas de .NET son las expresiones Lambda. En este post voy a explicar lo más sencillo posible que son, y como funcionan.  Las expresiones lambda son un paso más para soportar programación funcional – aunque no son exclusivas de este paradigma – y a partir de C# 3.0 son consideradas el siguiente paso desde los delegates anónimos. Para comprender mejor como </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1560265410055177283/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1560265410055177283' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1560265410055177283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1560265410055177283'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2010/01/entendiendo-las-expresiones-lambda.html' title='Entendiendo las Expresiones Lambda'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/S0Vo6OqdKDI/AAAAAAAAAcM/4fzDu5ZZs3Y/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-4234082721039168068</id><published>2009-12-30T16:43:00.001-06:00</published><updated>2009-12-30T16:43:57.898-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Felices Fiesta !!!</title><summary type='text'>Ahora que termina el año, quiero agredecer a todos los que se han tomado la molestia de leer mi blog, de hacer comentarios, sugerencias y críticas. Espero que lo escrito aquí les haya servido en sus actividades. Espero seguir el otro año escribiendo acerca de los temas más variados que se me ocurran, o como ocurrió este año, que ustedes sugieran. Si tienes interés en algún tema en específico, no </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/4234082721039168068/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=4234082721039168068' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4234082721039168068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4234082721039168068'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/12/felices-fiesta.html' title='Felices Fiesta !!!'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-4782912178280763292</id><published>2009-12-30T16:29:00.001-06:00</published><updated>2009-12-30T16:29:29.690-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Graficando en WPF Utilizando el WPF Toolkit</title><summary type='text'>En muchos casos cuando se están desarrollando proyectos sobre todo a jefaturas o gerencias, se pide visualización de datos a través de gráficos ya sea en reportes o en pantalla. Normalmente para estos casos ya uno como desarrollador/consultor tiene una suite de controles para graficar que conoce y recomienda, sin embargo; no siempre la empresa que contrata o para la cual uno trabaja tiene </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/4782912178280763292/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=4782912178280763292' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4782912178280763292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4782912178280763292'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/12/graficando-en-wpf-utilizando-el-wpf.html' title='Graficando en WPF Utilizando el WPF Toolkit'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_cmQi4juBOzU/SzvUNZ1fCbI/AAAAAAAAAbs/j3Gt4slfPAY/s72-c/image_thumb%5B20%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1532686542931965887</id><published>2009-12-13T20:40:00.001-06:00</published><updated>2009-12-13T20:40:09.661-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><title type='text'>¿Que Código pongo en mi Capa de UI ?</title><summary type='text'>Esta es una pregunta constante que recibo vía blog, o cuando estoy trabajando en el diseño de alguna arquitectura en algún cliente. Normalmente, los desarrolladores comprenden bien de que se trata este asunto de las arquitecturas n-layer, comprenden que poner en la capa de acceso a datos, y tienen una idea general de lo que debe llevar la lógica de negocios. Pero cuando se habla de la capa de </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1532686542931965887/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1532686542931965887' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1532686542931965887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1532686542931965887'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/12/que-codigo-pongo-en-mi-capa-de-ui.html' title='¿Que Código pongo en mi Capa de UI ?'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/SyWliPgAbZI/AAAAAAAAAbk/zQLmuavaE7s/s72-c/image_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-7586441520954453561</id><published>2009-11-21T14:44:00.001-06:00</published><updated>2009-11-21T14:44:34.816-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>WCF en una Arquitectura n-layer</title><summary type='text'>Cuando desarrollamos aplicaciones n-layer y utilizamos diferentes tecnologías del framework, nos empezamos a cuestionar: ¿ y donde va esto? ¿qué rol juega esto en toda nuestra arquitectura? Esto es lo que normalmente sucede cuando empezamos a crear servicios – nótese que digo servicios no solamente servicios web – para exponer funcionalidad del negocio. La pregunta entonces es ¿Donde ponemos </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/7586441520954453561/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=7586441520954453561' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7586441520954453561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7586441520954453561'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/11/wcf-en-una-arquitectura-n-layer.html' title='WCF en una Arquitectura n-layer'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_cmQi4juBOzU/SwhRMeH6RNI/AAAAAAAAAbY/mJLFgGPZA3g/s72-c/image_thumb%5B10%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-3265424477085546892</id><published>2009-11-18T14:27:00.001-06:00</published><updated>2009-11-18T14:27:36.898-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA y CC User Group'/><title type='text'>Costa Rica SOA &amp; Cloud Computing User Group: 1era Presentación</title><summary type='text'>   El día de ayer lanzamos el grupo de usuarios en Costa Rica de SOA y Cloud Computing. Esta es la presentación que realizamos ayer. Más información en el blog de Yuri Porras.    CR SOA &amp; Cloud Computing User Group       See more presentations by drojasm | Upload your own PowerPoint presentations   Technorati Tags: SOA,Cloud Computing,CR User Group  </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/3265424477085546892/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=3265424477085546892' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3265424477085546892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/3265424477085546892'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/11/costa-rica-soa-cloud-computing-user.html' title='Costa Rica SOA &amp;amp; Cloud Computing User Group: 1era Presentación'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1968462297278891522</id><published>2009-10-29T20:05:00.001-06:00</published><updated>2009-10-29T20:05:59.693-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Expresiones Lambda'/><title type='text'>Expresiones Lambda en VB.NET 9.0</title><summary type='text'>Explorando un poco las nuevas facilidades del lenguaje VB.NET en el framework 4.0, me encontré con algo que realmente me llamó la atención positivamente: expresiones lambda. Una de las formas de aprovechar las expresiones lambda es utilizandolas en las extensiones de métodos que tienen diversas clases, las cuales nos permiten de forma sencilla realizar operaciones que normalmente tomarían muchas </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1968462297278891522/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1968462297278891522' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1968462297278891522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1968462297278891522'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/10/expresiones-lambda-en-vbnet-90.html' title='Expresiones Lambda en VB.NET 9.0'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/SupKAG1vpuI/AAAAAAAAAbI/Sw7cD1A7yds/s72-c/image_thumb%5B9%5D.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2881898149915846639</id><published>2009-10-11T21:54:00.001-06:00</published><updated>2009-10-11T22:06:14.703-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Webcast'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>Webcasts – EntityFramework y Mashups</title><summary type='text'>En esta ocasión voy a darles solamente un link de un par de videos en el que tuve la suerte de participar en conjunto con Jose Guay de Guatemala, Carlos Lone de Guatemala y Ricardo Jiménez de Microsoft Costa Rica. El primer video es una conversación que tuvimos acerca al entity framework. El segundo video es acerca de mashups. Espero lo disfruten.  Aqui esta el link del entity framework y el otro</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2881898149915846639/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2881898149915846639' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2881898149915846639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2881898149915846639'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/10/webcast-del-entity-framework.html' title='Webcasts – EntityFramework y Mashups'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-7473417287861048076</id><published>2009-09-27T10:29:00.001-06:00</published><updated>2009-09-27T11:39:10.690-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>Entity Framework: Eliminando Entidades de una Lista y Refrescando el UI</title><summary type='text'>En el post anterior vimos como implementar la interface IEquatable&lt;T&gt; para poder utilizar los métodos de la lista sobre las entidades tales como Contains e IndexOf. En este post vamos a ver como eliminar entidades de la lista y notificar este evento al UI que tenga binding con la lista afectada. Al mismo tiempo vamos a aplicar la modificación a la base de datos.  Eliminando una Entidad de la </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/7473417287861048076/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=7473417287861048076' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7473417287861048076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7473417287861048076'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/09/entity-framework-eliminando-entidades.html' title='Entity Framework: Eliminando Entidades de una Lista y Refrescando el UI'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_cmQi4juBOzU/Sr-S82lWCCI/AAAAAAAAAao/L-Zrbw8HkkE/s72-c/image_thumb%5B7%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6342161599799899904</id><published>2009-09-12T23:03:00.001-06:00</published><updated>2009-09-12T23:10:40.170-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>Extendiendo el Entity Framework – Comparación y Búsqueda de Entidades</title><summary type='text'>Una de las tareas más comunes cuando trabajamos con el Entity Framework es la búsqueda de las entidades en una lista y la comparación de las mismas. El EF nos provee la facilidad de agregar código para comparación a través de la Interface IEquatable y las clases parciales.  Interface IEquatable&lt;T&gt;  La interface IEquatable&lt;T&gt; de acuerdo al msdn se define como una interface que define un metodo de </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6342161599799899904/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6342161599799899904' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6342161599799899904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6342161599799899904'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/09/extendiendo-el-entity-framework.html' title='Extendiendo el Entity Framework – Comparación y Búsqueda de Entidades'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/Sqx9CuOjY2I/AAAAAAAAAXw/NSJBNXxZ0pg/s72-c/image_thumb%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-998102014710509468</id><published>2009-09-02T07:28:00.001-06:00</published><updated>2009-09-02T07:28:38.888-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><title type='text'>SpellCheck en WPF</title><summary type='text'>Una característica interesante que me encontré trabajando en el desarrollo de una aplicación WPF es la posibilidad de tener SpellCheck en la edición de texto en los controles TextBox y RichTextBox. Además, la forma de lograrlo es muy simple. Inicialmente se habilita la propiedad SpellCheck.IsEnabled="True" y se indica cual lenguaje se desea para hacer el spell check con la propiedad Language. La </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/998102014710509468/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=998102014710509468' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/998102014710509468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/998102014710509468'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/09/spellcheck-en-wpf.html' title='SpellCheck en WPF'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/Sp5zAO84yxI/AAAAAAAAAXg/yDepw2WpRkE/s72-c/image_thumb5.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-6364904119514934988</id><published>2009-08-30T20:59:00.001-06:00</published><updated>2009-08-30T20:59:25.602-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Manejo de Excepciones en WPF</title><summary type='text'>En una ocasión estando desarrollando un proyecto en WPF con varios desarrolladores más, surgió la pregunta ¿Cómo manejar las excepciones en WPF? Y es que esta pregunta puede parecer sencilla, ya que como todos sabemos en .NET existe el manejo de excepciones a través de la estructura try … catch … finally. Sin embargo, cuando se esta trabajando en el UI de un proyecto en WPF y varios </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/6364904119514934988/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=6364904119514934988' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6364904119514934988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/6364904119514934988'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/08/manejo-de-excepciones-en-wpf.html' title='Manejo de Excepciones en WPF'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/Sps8ZfY1alI/AAAAAAAAAWw/wRVTJ6LzTu8/s72-c/image_thumb%5B13%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-9069934664794016721</id><published>2009-08-25T13:44:00.001-06:00</published><updated>2009-08-25T13:47:12.415-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unity'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IoC'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Manejo del Scope con Unity</title><summary type='text'>Cuando se trabaja con IoC containers existe un factor que en muchas ocasiones se ignora a la hora de crear instancias dinámicamente: el scope del objeto que estamos creando. En este post vamos a analizar las opciones para el manejo del scope cuando utilizamos el Unity Application Block.  ¿Qué es el Scope?  El scope – alcance – de un objeto es la cantidad de tiempo o las llamadas a los métodos en </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/9069934664794016721/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=9069934664794016721' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/9069934664794016721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/9069934664794016721'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/08/manejo-del-scope-con-unity.html' title='Manejo del Scope con Unity'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/SpQ_AAmWFSI/AAAAAAAAAV8/rTQK--iE_mk/s72-c/image_thumb2.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2221473883719964706</id><published>2009-08-15T22:08:00.001-06:00</published><updated>2009-08-15T22:08:27.179-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='MSE'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>¿Por qué es importante el MSE – Managed Service Engine?</title><summary type='text'>En muchas ocasiones cuando estoy en consultorias relacionadas con arquitecturas orientadas a servicios – SOA – tengo que hacer mucho enfasis en el hecho de que tener web services en la organización no significa que tengo una arquitectura orientada a servicios. Al mismo tiempo, se me consulta que papel juega el MSE en la transición hacia una arquitectura orientada a servicios. En este post voy a </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2221473883719964706/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2221473883719964706' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2221473883719964706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2221473883719964706'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/08/por-que-es-importante-el-mse-managed.html' title='¿Por qué es importante el MSE – Managed Service Engine?'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/SoeGK35E4EI/AAAAAAAAAT8/oosnYFBgyt4/s72-c/image_thumb7.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-8355576660807622708</id><published>2009-08-04T20:40:00.001-06:00</published><updated>2009-08-04T20:40:10.550-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='MSE'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Entendiendo el MSE – Managed Service Engine</title><summary type='text'>Como comenté en un post anterior, el MSE es una herramienta open source que me permite obtener funcionalidad para poder administrar y llevar a cabo una transición entre una arquitectura punto a punto – o servicios web instalados en diversos servidores y web – a una arquitectura orientada a servicios ( SOA ). En este post ahondaré un poco más en los componentes del MSE.  El MSE esta formado de </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/8355576660807622708/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=8355576660807622708' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8355576660807622708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8355576660807622708'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/08/entendiendo-el-mse-managed-service.html' title='Entendiendo el MSE – Managed Service Engine'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/SnjxCeB5UNI/AAAAAAAAAT0/EI8XjSS1PFM/s72-c/image_thumb%5B9%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-8878337685618570476</id><published>2009-07-26T22:03:00.001-06:00</published><updated>2009-07-26T22:06:01.652-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unity'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IoC'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><title type='text'>Versionando Aplicaciones – Unity – Parte 3</title><summary type='text'>Continuando con la serie de post acerca de IoC – contenedores de dependency injection – en este post vamos a examinar Unity, el cual es un application block que esta disponible gratuitamente desde el sitio de codeplex o a través del sitio de pattern and practices.  Al igual que cualquier otro IoC container, lo que busca unity es desasociar o eliminar la dependencia que existe entre las clases y “</summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/8878337685618570476/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=8878337685618570476' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8878337685618570476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/8878337685618570476'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/07/versionando-aplicaciones-unity-parte-3.html' title='Versionando Aplicaciones – Unity – Parte 3'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_cmQi4juBOzU/Sm0m-lTHw0I/AAAAAAAAARA/39KXt07bR0c/s72-c/image_thumb3.png?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-9031053709485308966</id><published>2009-07-04T16:52:00.001-06:00</published><updated>2009-07-04T16:52:08.270-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>El OracleClient NO va más</title><summary type='text'>Para muchos de nosotros que hemos desarrollado – o que estamos o vamos a desarrollar - aplicaciones en .NET que usan como repositorio de datos la base de datos Oracle, esta noticia nos tiene que importar.  Resulta ser que el grupo que desarrolla ADO.NET ha decidido dejar por fuera de ADO.NET el componente de OracleClient - System.Data.OracleClient – nativo de ADO.NET. Esto por considerar que la </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/9031053709485308966/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=9031053709485308966' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/9031053709485308966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/9031053709485308966'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/07/el-oracleclient-no-va-mas.html' title='El OracleClient NO va más'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-1757290277592227204</id><published>2009-06-19T18:49:00.001-06:00</published><updated>2009-06-23T07:09:39.283-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='LinqToSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='Linq'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='LinqToEntities'/><title type='text'>Podcast Driven Design (PDD)</title><summary type='text'>En conjunto con Carlos Lone de Guatemala, hemos estado trabajando en la creación de una serie de podcast a los que hemos llamado “Podcast Driven Design (PDD)”. En estos programas, tratamos de discutir hacer de las tecnologías para desarrollar aplicaciones .NET y sobre todo tratamos de explicar un poco más a fondo cual es el rol de cada tecnología en nuestras aplicaciones.   Aqui les dejo el </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/1757290277592227204/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=1757290277592227204' title='9 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1757290277592227204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/1757290277592227204'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/06/podcast-driven-design-pdd.html' title='Podcast Driven Design (PDD)'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-7614773617576384190</id><published>2009-06-14T15:29:00.001-06:00</published><updated>2009-06-14T15:29:20.291-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IoC'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='CastleWindsor'/><title type='text'>Versionando Aplicaciones – CastleWindsor – Parte 2</title><summary type='text'>Tal y como lo mencioné en el post pasado, la forma más adecuada para manejar versionamiento de aplicaciones ( diversas funcionalidades por cliente dentro de una aplicación) es utilizando IoC. En este post voy a examinar como manejar el versionamiento utilizando la librería CastleWindsor – Windsor Container - como contenedor de IoC.  Para examinar los tres frameworks de IoC, voy a utilizar el </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/7614773617576384190/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=7614773617576384190' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7614773617576384190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/7614773617576384190'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/06/versionando-aplicaciones-castlewindsor.html' title='Versionando Aplicaciones – CastleWindsor – Parte 2'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_cmQi4juBOzU/SjVrhUzd0yI/AAAAAAAAAQA/VhPEyJfPHQk/s72-c/image_thumb3.png?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-2686898587775637771</id><published>2009-06-12T13:07:00.001-06:00</published><updated>2009-06-12T13:07:55.523-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IoC'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><title type='text'>Versionando Aplicaciones en .NET - Introducción – Parte 1</title><summary type='text'>En muchas ocasiones, me encuentro en diferentes empresas con la finalidad de ayudar a desarrollar una nueva aplicación basado en una versión anterior de la misma utilizando arquitecturas, frameworks y componentes que ayuden a mejorar la velocidad de desarrollo, faciliten el mantenimiento de la misma, y permitan adoptar nuevas funcionalidades no disponibles en la versión anterior. En medio de </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/2686898587775637771/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=2686898587775637771' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2686898587775637771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/2686898587775637771'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/06/versionando-aplicaciones-en-net.html' title='Versionando Aplicaciones en .NET - Introducción – Parte 1'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-4131390028097669213</id><published>2009-06-02T07:50:00.001-06:00</published><updated>2009-06-02T07:50:52.639-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Linq'/><title type='text'>Seleccionando un Ítem en el DataGrid del WPF Toolkit</title><summary type='text'>En un post anterior, mostramos como ligar el DataGrid del WPF toolkit a una colección de entidades generadas en el entity framework vía una capa de lógica de negocios. En este post vamos a obtener la fila seleccionada en el grid por parte del usuario y lo vamos a desplegar en una ventana en modo diálogo.  En este caso, vamos a presentar el usuario seleccionado con doble clic del mouse sobre el </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/4131390028097669213/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=4131390028097669213' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4131390028097669213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/4131390028097669213'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/06/seleccionando-un-item-en-el-datagrid.html' title='Seleccionando un Ítem en el DataGrid del WPF Toolkit'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/SiUuMNKQsqI/AAAAAAAAAPw/LJtq4_kbcjg/s72-c/image_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1688095849524654689.post-5623659312282251437</id><published>2009-05-20T19:16:00.001-06:00</published><updated>2009-05-20T19:19:58.070-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='MSE'/><category scheme='http://www.blogger.com/atom/ns#' term='Biztalk'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Alternativas para Iniciar con una Arquitectura Orientada a Servicios - SOA</title><summary type='text'>Cuando en una empresa se habla de establecer una arquitectura orientada a servicios surgen muchas dudas respecto a como implementar este tipo de arquitectura. Una de las primeras preguntas que me hacen dentro de la organización cuando llego a ayudar en este tipo de tareas es:   Pero si al prinicipio vamos a tener unos cuantos servicios, por que tenemos que comprar un ESB, que por lo general </summary><link rel='replies' type='application/atom+xml' href='http://icomparable.blogspot.com/feeds/5623659312282251437/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1688095849524654689&amp;postID=5623659312282251437' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5623659312282251437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1688095849524654689/posts/default/5623659312282251437'/><link rel='alternate' type='text/html' href='http://icomparable.blogspot.com/2009/05/alternativas-para-iniciar-con-una.html' title='Alternativas para Iniciar con una Arquitectura Orientada a Servicios - SOA'/><author><name>Diego Rojas</name><uri>http://www.blogger.com/profile/00475394916577634404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_cmQi4juBOzU/SSXr4gx8RjI/AAAAAAAAAGs/FH2q2HpzaSE/S220/100_0033.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_cmQi4juBOzU/ShSrfEQxCPI/AAAAAAAAAPo/jXRaVZwhZEk/s72-c/MSE%20SOA_thumb%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry></feed>
