Conocen de los formatos OpenXML y ODF?? Pues OpenXML es el formato que usa Office 2007 para almacenar sus documentos, este es de especificacion abierta y es muy sencillo de usar, ODF es similar pero es una iniciativa de la comunidad Open Source, no hay que negar que hay una batalla por la aceptacion de estos 2 formatos, MS claro esta facilitando la adopcion de estos con iniciativas como el Traducto de OpenXML a ODF, este lo puedes encontrar aqui:
http://sourceforge.net/projects/odf-converter
Tambien es un proyecto Open Source y ya tiene un buen avance, pruebalo!!!
El CTP de Visual Studio Team System "Rosario" ha sido liberado!!
Este release apunta a mejorar el manejo del ciclo de vida del desarrollo de las aplicaciones incluyéndole muchos features en cuanto al manejo de WorkItems, manejo de requerimientos y mejora en las pruebas y manejo de dependencias, esto agregado a Orcas mejora increíblemente la predictibilidad de un proyecto en todos los aspectos sin dejar de brindar una espectacular visibilidad a quienes manejan el proyecto...
Un whitepaper con detalles mas completos puede ser encontrado aquí:
http://www.microsoft.com/downloads/details.aspx?familyid=0ADE6C5D-BE17-4168-B57B-4C2FA36EAD3E&displaylang=en
Y el VPC bajalo aqui:
http://www.microsoft.com/downloads/details.aspx?FamilyId=8450EFF5-24AD-44C3-AB91-1ED88EF2F4F0&displaylang=en
Un whitepaper con detalles mas completos puede ser encontrado aquí:
http://www.microsoft.com/downloads/details.aspx?familyid=0ADE6C5D-BE17-4168-B57B-4C2FA36EAD3E&displaylang=en
Y el VPC bajalo aqui:
http://www.microsoft.com/downloads/details.aspx?FamilyId=8450EFF5-24AD-44C3-AB91-1ED88EF2F4F0&displaylang=en
Llamar a un Servicio Web en forma Asincronica
Es muy común en nuestros días que se cuide mucho de la apariencia de las aplicaciones, una de las técnicas muy amplia mente empleadas para esto es la llamada asincrónica a los procesos, esto claro le da al usuario la comodidad de que su interface no se bloquee y claro de una buena impresión, también un efecto importante es que el usuario siente la aplicación que funciona mas rápido, aunque esto no sea verdad!!!
Siendo esto así, se han hecho muchos artículos de como usar esta técnica, en algunos de los casos he notado que los hacen de una forma bastante compleja para los principiantes (delegados, métodos anónimos, etc...) entonces decidí mostrar como ejecuto yo esta técnica consumiendo un Servicio Web desde una forma Windows, para lo cual escribí este código:
//Instancia del Servicio Web Referenciado
//Este tambien puede ser agregado como un componente desde el diseño de la forma
MDMQ_BC.Service objService = new Service();
private void Load()
{
//Este metodo debe ser ejeutado una sola ves en la vida de la forma, puede ser en el Constructor
//Event Handler necesario para ejecutar acciones cuando llegue la respuesta
objService.ConsultaNombresCompleted += new ConsultaNombresCompletedEventHandler(objService_ConsultaNombresCompleted);
}
void objService_ConsultaNombresCompleted(object sender, ConsultaNombresCompletedEventArgs e)
{
//Preguntamos si la consulta fue bien
if (e.Error == null)
{
//Si la consulta se ejecuto sin problemas revisamos el resultado de la misma
if (e.Result.Codigo_error == "0")
{
//Si el resultado del proceso es correcto mostramos los datos
MessageBox.Show("Los datos estan correctos");
}
else
{
//Si el resultado del proceso no es correcto mostramos la razón
MessageBox.Show(e.Result.Codigo_error + ": " + e.Result.Texto_error);
}
}
else
{
//Se muestra el error, en una aplicación consistente se debe tambien guradar los detalles del error
//con una estrategia de Loggin correcta (EventLog, Archivos, Mails, etc...)
MessageBox.Show("Ha ocurrido un error realizando la consulta. " + e.Error.Message);
}
}
private void CallAsync()
{
//Lamada al metodo asincronico, este se ejecuta y el Event Handler maneja la respuesta cuando llegue
objService.ConsultaNombresAsync("LOMAS");
}
Aqui unas aclaraciones:
MDMQ_BC es un NameSpace que contiene los objetos que se crean cuando se hace referencia a mi servicio Web de Pruebas, este contiene el Objeto Service que es el proxy que hace las llamadas al Servicio, así mismo tiene métodos que ejecutan las operaciones que posee el Servicio, tanto de modo sincrónico como asincrónico, estos están claramente diferenciados pues el método asincrónico tiene un sufijo "Async"...
Si bien la respuesta va a ser manejada por un método es importante mostrarle al usuario que se esta ejecutando la operación como también que se ha completado, para esto se puede tener un PictureBox con un gif animado que mientras la operación se ejecuta esta visible y cuando esta termina se vuelve invisible al Picturebox, también sería conveniente bloquear controles que ejecuten otras operaciones...
También hay que tomar en cuenta que siempre se deben tener estrategias claras de manejo de excepciones y loging, así la operación de tu aplicación sera consistente y tendrás datos completos y detallados de que sucedió, en este caso del ejemplo hay una estrategia simple que solo muestra el error pero te hace acuerdo que hace falta mas trabajo sobre el tema...
Algo importante que debo mencionar que si se fijan bien no van a encontrar ni una sola estructura try - catch, eso es importante para el performance de la aplicación, en lo posible no se deben usar estos bloques por que aunque no se note siempre degradan el funcionamiento del código, y su finalidad es encontrar EXCEPCIONES no controlar el flujo normal de una aplicación...
Espero que les sirva este codigo y si desean comentar, adelante!!
Siendo esto así, se han hecho muchos artículos de como usar esta técnica, en algunos de los casos he notado que los hacen de una forma bastante compleja para los principiantes (delegados, métodos anónimos, etc...) entonces decidí mostrar como ejecuto yo esta técnica consumiendo un Servicio Web desde una forma Windows, para lo cual escribí este código:
//Instancia del Servicio Web Referenciado
//Este tambien puede ser agregado como un componente desde el diseño de la forma
MDMQ_BC.Service objService = new Service();
private void Load()
{
//Este metodo debe ser ejeutado una sola ves en la vida de la forma, puede ser en el Constructor
//Event Handler necesario para ejecutar acciones cuando llegue la respuesta
objService.ConsultaNombresCompleted += new ConsultaNombresCompletedEventHandler(objService_ConsultaNombresCompleted);
}
void objService_ConsultaNombresCompleted(object sender, ConsultaNombresCompletedEventArgs e)
{
//Preguntamos si la consulta fue bien
if (e.Error == null)
{
//Si la consulta se ejecuto sin problemas revisamos el resultado de la misma
if (e.Result.Codigo_error == "0")
{
//Si el resultado del proceso es correcto mostramos los datos
MessageBox.Show("Los datos estan correctos");
}
else
{
//Si el resultado del proceso no es correcto mostramos la razón
MessageBox.Show(e.Result.Codigo_error + ": " + e.Result.Texto_error);
}
}
else
{
//Se muestra el error, en una aplicación consistente se debe tambien guradar los detalles del error
//con una estrategia de Loggin correcta (EventLog, Archivos, Mails, etc...)
MessageBox.Show("Ha ocurrido un error realizando la consulta. " + e.Error.Message);
}
}
private void CallAsync()
{
//Lamada al metodo asincronico, este se ejecuta y el Event Handler maneja la respuesta cuando llegue
objService.ConsultaNombresAsync("LOMAS");
}
Aqui unas aclaraciones:
MDMQ_BC es un NameSpace que contiene los objetos que se crean cuando se hace referencia a mi servicio Web de Pruebas, este contiene el Objeto Service que es el proxy que hace las llamadas al Servicio, así mismo tiene métodos que ejecutan las operaciones que posee el Servicio, tanto de modo sincrónico como asincrónico, estos están claramente diferenciados pues el método asincrónico tiene un sufijo "Async"...
Si bien la respuesta va a ser manejada por un método es importante mostrarle al usuario que se esta ejecutando la operación como también que se ha completado, para esto se puede tener un PictureBox con un gif animado que mientras la operación se ejecuta esta visible y cuando esta termina se vuelve invisible al Picturebox, también sería conveniente bloquear controles que ejecuten otras operaciones...
También hay que tomar en cuenta que siempre se deben tener estrategias claras de manejo de excepciones y loging, así la operación de tu aplicación sera consistente y tendrás datos completos y detallados de que sucedió, en este caso del ejemplo hay una estrategia simple que solo muestra el error pero te hace acuerdo que hace falta mas trabajo sobre el tema...
Algo importante que debo mencionar que si se fijan bien no van a encontrar ni una sola estructura try - catch, eso es importante para el performance de la aplicación, en lo posible no se deben usar estos bloques por que aunque no se note siempre degradan el funcionamiento del código, y su finalidad es encontrar EXCEPCIONES no controlar el flujo normal de una aplicación...
Espero que les sirva este codigo y si desean comentar, adelante!!
El nuevo Coldfusion 8 soporta .NET!!!
Este servidor de aplicaciones web dinamicas de 12 años de edad en su nuevo release ha incorporado la capacidad de llamar objetos .NET nativamente, antes solo se podía hacer esto con objetos Java, muchos productos de otras compañías han tomado este rumbo hace bastante tiempo, por que tardo tanto Adobe???
El articulo completo aquí:
http://www.ftponline.com/channels/net/2007_07/jwaters/
El articulo completo aquí:
http://www.ftponline.com/channels/net/2007_07/jwaters/
Visual Studio Beta 2 ha sido liberado!!!
La semana pasada se esperaba que sea liberado Visual Studio 2008 Beta 2, Orcas, a diferencia del Beta 1, que contiene updates como LinQ, VSTO para Office 2007, Ajax, etc... Este tiene incluido ya Silverlight y unos updates al Framework 3.5, la entrega final se propone que sea en Febrero del 2008, junto con SQL Server 2008 y Windows Server 2008, pero hay rumores de que estará listo antes!!! Si es así WOW!!!
Quieren bajarlo??? Aquí esta el link!!!
http://msdn2.microsoft.com/en-ca/vstudio/aa700831.aspx
Quieren bajarlo??? Aquí esta el link!!!
http://msdn2.microsoft.com/en-ca/vstudio/aa700831.aspx
Quieres usar JSON con tus servicios Web??
Con la aparicion de Ajax se cambiaron algunos paradigmas y claro se crearon otros, por ejemplo el intercambio de mensajes entre los servidores y clientes es bastante pesado especialmente cuando tienes un viewstate muy grande, y asi por esas cosas de la vida nace JSON (Java Script Object Notation), por default tus servicios web .net no los aceptan, pero aqui esta un articulo que te permite hacer que funcione!!!
http://www.ftponline.com/channels/net/2007_07/dwahlin3/
http://www.ftponline.com/channels/net/2007_07/dwahlin3/
Data Access Layer con LinQ a SQL
Desde hace algun tiempo se viene dando el fenomeno del paso de los objetos planos a capas de acceso a datos mucho mas estructuradas las cuales ahorran tiempo y esconden la logica por detras de acceso a la base de datos, esto ya era posible con NHibernate, ahora con el anuncion de VS 2008 y el Framework 3.5 se ha incluido LinQ, aqui hay un articulo que muestra como se construye una DAL con LinQ a SQL de un modo rapido y sencillo...
http://www.ftponline.com/vsm/2007_07/magazine/features/rjennings/
http://www.ftponline.com/vsm/2007_07/magazine/features/rjennings/
Visual Studio 2008: Metricas en tu codigo!!!
Asi como leen!!! Con Visual Studio 2008, a parte de todas las maravillosas cosas como LinQ, C# 3.0, VB 10 y demas van a incluir un analizador que da las metricas del codigo que has escrito!!!
No me creen??? Visiten este link:
http://www.ftponline.com/channels/net/2007_07/jlevinson/
No me creen??? Visiten este link:
http://www.ftponline.com/channels/net/2007_07/jlevinson/
Todo sobre WCF!!!
Te has preguntado como usar el Famoso WCF?? Pues en este articulo te muestra todas las posibilidades de como y cuando usar WCF, es realmente ilustrativo!!!
http://msdn2.microsoft.com/en-us/library/bb332338.aspx
http://msdn2.microsoft.com/en-us/library/bb332338.aspx
Acropolis: Construir aplicaciones mas rapido y realmente orientadas al cliente!!!
Acropolis es un set de herramientas que pretenden que se contruyan mas rapido aplicaciones modulares orientadas al negocio y al cliente!!
Esta herramienta se basa en componentes del .NET Framework 3.0 como WPF y WCF para usar servicios de un modo desacoplado, quieres probalo??
Bajalo de aqui!!
http://www.microsoft.com/downloads/details.aspx?familyid=72386ce5-f206-4d5c-ab09-413b5f31f935&displaylang=en&tm
Esta herramienta se basa en componentes del .NET Framework 3.0 como WPF y WCF para usar servicios de un modo desacoplado, quieres probalo??
Bajalo de aqui!!
http://www.microsoft.com/downloads/details.aspx?familyid=72386ce5-f206-4d5c-ab09-413b5f31f935&displaylang=en&tm
Subscribe to:
Posts (Atom)