ADO .Net 2.0 – Guia de inicio rápido. Parte II

Hola.


Tal como les prometí, aqui estoy de nuevo..


Lamentablemente, para los lectores sin tiempo, debo hacer una pequeña reseña de ADO .NET2.0.


Para conocer el presente, es imperativo que sepamos de donde venimos… es por ello que inicio con una breve introducción a ADO .Net 1.0


ADO .Net 1.0


Con el lanzamiento del Framework 1.0, Microsoft presenta un nutevo modelo de acceso a datos: ADO .NET. ADO .Net es la evolución del modelo anterior mejor conocido como ADO (ActiveX Data Object), aunque ADO .Net no es Activex, se mantuvo el nombre ADO para «mostrar que es la nueva versión de ADO».


ADO .Net 1.0 soportaba comunicación con origenes de datos vía ODBC u OLEDB, pero también proporcionaba la opción de trabajar con proveedores de datos especificos para ciertos origenes de datos, llamados Proveedores Administrados. Estos proveedores administrados ofrecian (y ofrecen) un mejor performance  ya que «hablaban directamente con el origen de datos».


ADO.Net nos presentó un modelo de objetos completamente nuevo:



  • Connection: objeto responsable por establecer (y mantener) la comunicación con el origen de datos

  • Command: este objeto almacena las consultas (query) que van a ser ejecutadas contra el origen de datos

  • DataReader: proporciona un acceso rápido, hacia adelante y de solo lectura (parecido al recorset no?)

  • DataSet:proporciona un mecanismo de almacenamiento para datos desconectados. Es capaz de mantener en «su interior» datos que provienen de múltiples origenes de datos. Para entenderlo rápidamente, les recomiendo que piensen en el como un repositorio en memoria para almacenar los datos que provienen de cualquier base de datos…

  • DataAdapter: establece un puente entre el dataset y el origen de datos, en otras palabras  es el responsable de obtener los datos del objeto Command y llenar el dataset con los mismos. Tambien se encarga de manejar el tema de la persistencia de los cambios realizados en el dataset (envío de cambios a la base de datos)

Otro tema importante que introdujo ADO .Net 1.0, fue el manejo de pool de conexiones (connection pooling), con esta caracteristicas se acabo con el costo excesivo que traía consigo el mantenimiento de una conexión abierta o la creación y destrucción de la misma.  Con ADO .Net cuando una conexión es destruida en el código el Framework  la mantiene viva (o abierta¿?) en un «pool», de manera que la próxima vez que se necesite establecer nuevamente una conexión (con las mismas credenciales) , la conexión es tomada del pool, sin que se necesite crear una nueva.


Si deseas conocer más acerca de las muchas nuevas características de ADO .Net, te recomiendo que revises la documentación en MSDN


ADO .NET 2.0


El lanzamiento del Framework 2.0, trajo consigo una nueva versión de ADO .Net. Pero tranquilos. La transición es sencilla, casi que sin impacto :-p.


En primer lugar ADO .Net 2.0, es 100% compatible con el código escrito para ADO .Net 1.0 :-D. En ADO .Net 2.0 el diseño básico del modelo de objetos es el mismo. Sólo se agregaron varias características nuevas para hacer las tareas comunes, más fáciles de realizar.


Una de las cosas nuevas que trajo ADO .Net 2.0 fue un mejor diseño y funcionamiento del pool de conexiones y el manejo de la serialización XML.


Otro ejemplo es la capacidad de obtener notificaciones cuando los datos cambian, esto elimina la necesidad de de periodicamente recargar los datos para asegurarnos de que los datos del usuario estan actualizados. También se incorporó la capacidad de ejecutar múltiples queries  al mismo tiempo y recibir una serie de resultados (MARS=MULTIPLE ACTIVE RESULTS). Eliminando «la ida y vuelta», a nivel   de la comunicación , que es necesaria para ejecutar un query  y esperar por su resultado aumenta el performance de una aplicación que necesita ejecutar múltiples queries una trás otra; así p. ej. si el usuario quiere hacer otra tarea mientras se espera por los datos, es posible disparar un comando en modo asincrono. Esto también ha sido simplificado con ADO .Net 2.0.


Se ha incluido también una nueva API de «descubrimiento de bases de datos» para examinar el esquema de una base de datos. También tenemos la opción de escribir código de acceso a datos independiente del proveedor de datos, así tenemos la posibilidad de ofrecer aplicaciones que se pueden conectar a cualquier origen de datos…


Claro, esto es solo una muestra de las cosas que podemos hacer. Muchas de ellas son temas avanzados que no vamos a tocar en esta serie; así que manos al MSDN si desean mayor información sobre ADO .Net 2.0.


Bueno, hasta aqui esta bueno de teoría. En el próximo post les prometo que veremos algo de código 🙂


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

Soporte para Silverlight en Linux

Sip. En el blog de Scott Guthrie informa sonbre la liberación 1.0 de Silverlight y se anuncia Silverlight para Linux!!!

Allí el amigo Scott anuncia formalmente la alianza con Novell para proporcionar una implementación de Silverlight para Linux. Microsoft se encargará de elaborar el codec Silverlight Media para Linux y Novell va a construir un runtime 100% compatible con Silverlight  llamado "Moonlight".

Moonlight va a correr en todas las distribuciones y va a soportar los navegadores FireFox, Opera y Konqueror. Moonlight va a soportar tanto el modelo de desarrollo basado en JavaScript asi como el modelo de programación .Net (disponible en Silverlight 1.1)

Si deseas leer el artículo completo clic aqui.

Miguel de Icaza (Novell-Proyecto Mono) también se hace eco de la noticia en su blog, para leer su artículo clic aqui.

Para los poco creyentes les dejo este screenshot que tome del blog de Miguel de icaza:

Acá también hay un link a CNNMoney donde hacen referencia a esta noticia: http://money.cnn.com/news/newsfeeds/articles/prnewswire/AQW07105092007-1.htm

Quien lo prueba?

 

Cambio y fuera

Oscar

Post cruzado desde msmvps.com/blogs/oberroteran

Sitio Open Source de Microsoft

Pues eso (disculpame por fusilarte Guille!!!), via MSDN Flash me acabo de enterar que Microsoft ha lanzado el sitio  Open Source at Microsoft.


Desde allí podremos estar al tanto de las iniciativas de MS para el tema de Open Source incluyendo eventos, programas y ofertas (¿?).


Allí hay un link intersante de Getting Started para los investigadores,  desarrolladores y emprendedores que quieran iniciarse en la plataforma MS..


Interesante no?


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

Guia sobre Equipos de desarrollo con Team Foundation Server

TeamDevTFSGuidePues siguiendo con mi proceso de documentación sobre VSTFS encontré la versión final de esta guía (ya la tenia en version beta).


Principalmente esta guia nos presenta una cantidad considerable de principio y mejores prácticas que nos ayudarán a crear un ambiente de desarrollo utilisando TFS. Es un material largo pero que sin duda vale la pena leer.


El materia esta libre para descarga (incluyendo los diagramas utilizados en la guía) en el sitio de P&P en Codeplex. Para ir al sitio de descarga de este valioso material  clic aqui.


Cambio y fuera.


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

RoadMap de Team Foundation Server

Hola….


Desde la semana pasada he estado trabajando en un proyecto de implementación de Team Foundation Server por lo que mi semana en la web ha sido de busqueda constante de información sobre este tema.


Pues, buscando por alli encontre una info sobre el roadmap de Team Foundation Server en el blog de Brian Harry. El post no tiene desperdicio por lo que les recomiendo que no duden en leerlo…


Espero les sea de utilidad


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

ADO .Net 2.0. Guía de inicio rápido en el manejo de datos con VB .Net

Desde mis días de programador con RPG II, pasando por Cobol, TurboPascal, FoxBase, Clipper Summer 87 y 5.0 y un largo etc. en el 90% de los trabajos que he realizado siempre han estado ligados al proceso de consumir información proveniente de un almacén de datos.. de hecho, creo que ese es mi fuerte.


Para los adultos contemporaneos (mayorcitos quiero decir :-p) saben que no les miento al decir que para los que desarrollamos en ambientes diferentes a Windows (P.ej. DOS) sentimos un alivio con la aparición de los lenguajes visuales y las nuevas tecnologías de acceso a datos. Recuerdo que sentí ver a Dios (o algo parecido) cuando vi como funcionaba un control llamado «Data Control» en conjunto con cuadros de texto, comoboxes, grid’s, etc.  en Visual Basic 3… en comparación a como hacía algo parecido en ambiente caracter con Clipper 5 era realmente impresionante… Lástima que pronto aprendí a que ese controlcito no era la panacea, pero igual, siempre resultaba más facil que con Clipper….


Hoy día, he venido evolucionando (¿?) con VB, desde el 3, ya estoy montado en .Net 2005 (VB8)  y ya comenze a probar la versión 9…


Durante los últimos 4 años he estado dictando conferencias para profesionales y estudiantes universitarios en varias partes de Venezuela, y usualmente al final alguien se acerca y me dice algo que suena más o menos así: 



  • «oye Oscar, muy bueno eso que acabas de mostrar, pero  no dejo VB6 por el recorset. »

  • «si existiera el recordset en .Net, me cambiaría al instante..»

  • «crear aplicaciones que consuman datos es más facil con VB6, he tratado de hacer lo mismo con .Net pero no encuentro la forma…»

  • «como inserto datos en un BD, utilizando .Net?

Y así muchisimas más cosas, que irremediablemente me recuerdan la primera vez que probe Visual Basic .Net 2003 (vb7), despues de 1 hora de trastear con «eso»  me hice la pregunta del millón: «y donde ca%&@=#|  esta el recordset????»… Mal comienzo… les confieso que meses después cuando decidí entrarle nuevamente a .Net, descubri que para mi pesar… el «objeto recordset» no formaba parte del Fx1.0…


¿Por qué eliminar el recordset?. Si bien su funcionalidad era limitada, aprendimos a convivir (y hasta a depender) con él. Creamos montones de líneas de código donde usábamos este objeto. ¿Ahora además de aprender .NET, también tenemos que aprender a utilizar un nuevo modelo de acceso a datos?… y así muchísimas interrogantes más que surgían a medida que investigaba acerca de ADO .NET.


Lamentablemente la cosa no paro allí, para colmo el objeto que nos invitaban a usar en vez del recordset, solo tenía de parecido el “set” al final del nombre del objeto. Si no me creen aquí esta la definición de Dataset: “Los conjuntos de datos almacenan datos en una memoria caché desconectada. La estructura de un conjunto de datos es similar a la de una base de datos relacional; expone un modelo jerárquico de tablas, filas y columnas. Además, contiene restricciones y relaciones definidas para el conjunto de datos” (esto lo saque de la ayuda de VS2003)


Pero tranquilos, la cosa no pasa de un shock inicial, ya que las ventajas que nos ofrece ADO .NET para crear aplicaciones centradas en datos son lo suficientemente poderosas y flexibles como para dar el salto sin mirar atrás


Hoy he decidio, bueno desde hace unos meses pero apenas ahora es que medio tengo tiempo, escribir una serie de artículos sencillos, con los que pretendo responder brevemente (aunque me va a costar… 😐 ) a las preguntas «estandar» sobre el acceso a datos con VB .Net 2005 (vb8). No pretendo hacer una biblia, o un compendio sobre Ado .Net, más bien pretendo hacer artículos sencillos que puedan ayudar a esos desarrolladores «que no tienen tiempo de leer un libro o leerse un artículo de 20 páginas impresas en MSDN».


Si Ud. espera un artículo 100% técnico, que muestre en profundidad las características tecnicas de Ado .Net, le recomiendo que visite MSDN. Pero si ud. lo que quiere saber es como conectarse a una base de datos, para consultar un BD o insertar un registro esta en el lugar indicado :-D. Claro, después que resuelva el problemita, le recomiendo que se de un paseito por MSDN y busque información sobre ADO .NET…


En pocos días publicaré la parte II de esta serie; mañana salgo de viaje en la madrugada 🙁


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

Curso WPF

Revisando la web, me encontre con esta información de un curso de WPF del 03 de agosto (o sea esta actualizado), por falta de tiempo no lo he revisado, pero pronto lo haré y les dare mis comentarios.


En la pág. de eventos tiene esta descripcion:  «En este curso usted verá cómo crear sus primeras aplicaciones usando Windows Presentation Foundation (WPF). Le enseñaremos a utilizar los nuevos recursos de presentación de esta nueva plataforma de Microsoft con los que podrá elevar a niveles excitantes la calidad y funcionalidad de las interfaces de usuario de sus aplicaciones. Lo introduciremos en la nueva filosofía de programación declarativa con el lenguaje XAML que ayuda a separar la interfaz de presentación del código .NET en el que programe la lógica del negocio de su aplicación. Con WPF verá facilitados y enriquecidos conocidos conceptos como controles, eventos, enlace a datos, así como podrá incorporar nuevos elementos como transformaciones, plantillas, estilos, animaciones, media, 3D, documentos.


El curso está dividido en 5 capítulos, y cada capítulo en lecciones. Los capítulos y lecciones vienen acompañados de los proyectos con el código de los ejemplos, así como de videos ilustrativos que reforzarán el contenido de los temas tratados y lo ayudarán a experimentar por su cuenta.»


Si quieren acceder al curso, clic aqui


Post cruzado desde msmvps.com/blogs/oberroteran

De vuelta: Second Shot!!!

Second Shot is Back! Register for a Free Second Chance to Pass Your Exam (Worldwide)


Por tiempo limitado, esta de vuelta el Second Shot.


¿Que es Second Shot?, bueno, no es más que un seguro contra «no aprobación» de examenes de certificación MS, es decir si te inscribes en esta promoción presentas tu examen( Microsoft IT Professional, Developer o Microsoft Dynamics) , y si no lo apruebas tienes una segunda oportunidad, totalmente gratis. Si deseas mayor información haz clic aqui. Tambien puedes acceder a las FAQ’s si tienes alguna duda.


La oferta es válida desde el 15 de septiembre de 2007 hasta el 30 de Enero de 2008.


Salu2


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

LINQ y VB

Visual Studio 2008 Logo


Amigos, apenas ahora es que comienzo a probar VS 2008… el trabajo, siempre el trabajo. Y comenzando a documentarme he conseguido algunos links bastante interesantes que quiero compartir con Uds.


Pronto espero publicar algunos ejemplos con esta tecnología que me llama mucho la atención.


Acá tienen los links que les comente:


Proyecto LINQ: la página del equipo de desarrollo de LINQ, tienen acceso a blogs interesantes, información de última hora  y videos


101 Ejemplos de Linq: ejemplos en VB 2008 bastante interesantes


LINQ Hol’s: Laboratorios de LINQ con VS 2008 Beta 2. Necesitan tener instalado la Beta 2 de Orcas, disponible para descarga aqui 


Cambio y fuera


Oscar


Post cruzado desde msmvps.com/blogs/oberroteran

Sidebar Gadgets for Developers!!!

Hola amigos.


Navegando por allí en busca de cosas que me hagan más fácil la vida encontré estos Sidebar Gadgets que a mi juicio están muy cool.


Son exactamente 3 gadgets:


El primero, de hecho es el que me gusta más!!! es el Code Converter, este gadget realiza conversiones de VB.Net a C# y viscersa!!!, y permite copiar el  código generado a VS, aqui tienen unos screenshots de este gadget:



 


Aqui tienen la vista de las opciones de configuracion



 


Otro de los gadgets que encontre fue el MSDN Search Gadget, su funcionalidad es básica: busca dentro de MSDN el texto que se ha escrito.. cool



Y para finalizar, tambien descargue el instalé el VS Recent Projects, que permite acceder a la lista de Proyectos Recientes de VS y abrir el que deseemos…


 


 


Bueno, espero les sea de utilidad!!!


Cambio y fuer a


Oscar


 


 


Post cruzado desde msmvps.com/blogs/oberroteran