2313467196_85b06f2021

Con la reciente salida de la nueva versión del Visual Studio 2008, Microsoft libera un montón de nuevas características para el desarrollo de aplicaciones. Listo las que me parecen más intersantes:

  • Soporte multi-taget
    Permite el framework .NET (2.0+) con el que deseas trabajar. Esto permite que con la misma versión de Visual Studio puedas trabajar con soluciones / proyectos de difentes entornos.
  • Framework de presistencia de datos (LINQ)
    Siguiendo la tendencia de los frameworks de persistencia de datos tipo hibernate(java) u otros, Microsoft decide sacar su propio framework que permite la utilziación uniforme de código C# o VB para realizar consultas y/u operaciones aislando de la implentación de la fuente de datos (xml, sql, odbc, excel, etc.)
  • Javascript y ASP.NET AJAX
    Intellisense y debugging de código. Una carácteristica que se echaba en falta desde VS 2003.
  • Windows Presentation Foundation (WPF) 
    El subsistema de gráficos que permite el desarrollo de aplicaciones de Windows que pueden ser desplegadas como aplicaciones standalone u hospedadas en un servidor Web (ya soportado en VS2005 vía add-in).
  • Windows Communication Foundation (WCF)
    El susbsistema de comunicación que integra en un modelo de programación orientada a servicios otros modelos de comunicación como Web Services, .NET Remoting, Message Queue utilizando mensajes SOA para la comunicación entre procesos.

Habrá que analizar a detalle cada una de las características y ver de que manera pueden reducir la curva de aprendizaje, el tiempo de desarrollo y mejorar el rendimiento de los sistemas.

Insertando nodos en un XML

Febrero 20, 2008

Tratar XML con el framework .NET 2.0 tiene cierto grado de complejidad debido a que el api System.Xml es demasiado granular en funcionalidad. En días recientes nos enfretamos a la siguiente situación. ¿Cómo agregar subnodos a un nodo dentro de un XML ya existente? Por ejemplo,tenemos el siguiente XML:
 

<?xml version=”1.0″ encoding=”UTF-8″ ?>
 <numbers>
  <primes>
   <prime>
    <length>1</length>
    <value>3</value>
   </prime><prime>
   <length>2</length>
    <value>37</value>
   </prime>
   <prime>
    <length>3</length>
    <value>479</value>
   </prime>
  </primes>
</numbers>


Y queremos agregar subnodos “prime” a nodo “primes”. Asumiendo que tenemos el XML en un objeto DOM (XmlDocument) sería de la siguiente manera:

//Selección del Xpath donde queremos insertar los subnodos
XmlNode nodo = objXml.SelectSingleNode(“/numbers/primes”);
//Creación del subnodo
XmlElement elmNodo = objLlave.CreateElement(“length”);
XmlText elmTextoNodo = objLlave.CreateTextNode(“4″);
XmlElement elmValor = objLlave.CreateElement(“value”);
XmlText elmTextoValor = objLlave.CreateTextNode(“1019″);
//Creamos el subnodo
XmlElement elmPrime = objLlave.CreateElement(“prime”);
//Agregamos los valores al subnodo
elmPrime .AppendChild(elmNodo);
elmPrime .LastChild.AppendChild(elmTextoNodo);
elmPrime .AppendChild(elmValor);
elmPrime .LastChild.AppendChild(elmTextoValor);
//Agregamos el subnodo al nodo del xml
nodo.AppendChild(elmPrime);

Con lo cual el nuevo XML quedaría de la siguiente manera: 

<?xml version=”1.0″ encoding=”UTF-8″ ?>
 <numbers>
  <primes>
   <prime>
    <length>1</length>
    <value>3</value>
   </prime>
<prime>
    <length>2</length>
    <value>37</value>
   </prime>
   <prime>
    <length>3</length>
    <value>479</value>
   </prime>
   <prime>
    <length>4</length>
    <value>1019</value>
   </prime>
  </primes>
 </numbers>

Desde que empece a desarrollar en Visual Studio 2003, y desde hace un par de años con Visual Studio 2005, vengo sufriendo problemas derivados de una mala gestión del IDE con los ficheros temporales en el desarrollo de sitios Web. Por lo general sabes que es problema de estos ficheros cuando al compilar alguna clase que tienes bien referenciada pareciera que no esta ahí o que el código al que haces refencia en tiempo de compilación no coincide con el de tu proyecto. Entonces entras en un bucle de compilar, recompilar, abrir y cerrar el Visual Studio, etc., etc., etc.

La mejor alternativa es cerrar el Visual Studio y limpiar todos los ficheros asociados a la compilación:

  • las carpetas bin y obj de los proyectos
  • la carpeta asociada a tu sitio Web en la carpeta de instalación del framework (C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files)
  • la carpeta Web Cache en %USERPROFILE% (sólo para VS 2003)

Una vez finalizado este proceso deberás abrir la solución y recompilar. Esperemos que en la versión 2008 no haya necesidad de hacer esto.

Una nueva era

Febrero 13, 2008

Después de algunos años en esto de la consultoría de sistemas me surge la necesidad de compartir algunos de los problemas y soluciones con el desarrollo de sistemas. La idea es compartir un poco de los retos (principalmente técnicos y con c# sin descartar otras tecnologías) del día a día en el trabajo y la forma en que las vamos abordando (pluralizo porque lo que aquí se publica son experiencias de un grupo de personas con las que trabajo), aclarando que esto no pretende ser un repositorio de código.