May 2008 - Artículos - Jorge Serrano - MVP Visual Developer - Visual Basic

May 2008 - Artículos

 

Microsoft ha publicado una serie de 10 HOLs o Hands On Labs, es decir, de laboratorios, para desarrollar Software para WSS 3.0 (Windows SharePoint Services) con Visual Studio 2005.

Los laboratorios están enfocados a:

  • Web Parts
  • Data Lists
  • Event Handlers
  • Workflow
  • Silverlight
  • Page Navigation
  • Page Branding
  • Web Services
  • Content Types
  • User Authentication

La descarga que ocupa apenas 13.5 Mb puede ser encontrada en este enlace.

No os olvideis de leer los requerimientos de sistema que debereis cumplir para hacer los HOLs.

 

Microsoft ha publicado una guía de usuario sobre Microsoft Dynamics CRM 4.0 preparada para imprimir.

La guía en formato pdf, está escrita íntegramente en inglés, tiene una extensión de 501 páginas y un tamaño de 3.8 Mb.

Podréis encontrar la guía en este enlace, y accedereis al enlace de descarga directo en este otro enlace (3.8 Mb) - formato pdf (última actualización 04/06/2008 - del enlace directo de descarga (3.8 Mb) - formato pdf).

Publicado por Jorge Serrano | 10 comment(s)
Archivado en:

 

Mis queridos todos... ¡MAD.NUG ha vuelto!

El grupo de usuarios de la Comunidad Autónoma de Madrid (MAD.NUG) echa a andar nuevamente después de unos meses de descanso para reponer fuerzas, reestructurar el grupo, y preparar con ganas e ilusión la próxima temporada de eventos que vamos a hacer juntos, tras la gran extensa cantidad de novedades que han aparecido en el mercado en los últimos meses.

Para empezar e ir abriendo boca, vamos a tener dos eventos en los próximos meses de Junio y Julio.
En Agosto nos tomaremos un mes sabático de merecido descanso para venir morenitos y descansados para los siguientes meses, y así, regresaremos nuevamente en Septiembre con fuerza.

Para que veais lo que tenemos preparado, os propongo venir al primer evento donde además de aprender o conocer todo lo relacionado con Visual Studio 2008, tendremos la oportunidad de recabar impresiones, comentar nuestras ideas y sugerencias sobre el grupo de usuarios, y crear las sinergias necesarias para que el grupo de usuarios sea eso, un grupo por y para los usuarios.

PRIMER EVENTO (JUNIO)

El primer evento tendrá lugar en Madrid, en las oficinas de Microsoft el 26 de Junio de 2008 de 19:00 a 21:00, y lo hemos titulado "Déjate engatusar por Visual Studio 2008".

 

Enlace al cartel en tamaño real (580x800).

En este primer evento que será llevado a cabo por personas de sobra conocidas por la mayoría como Bruno Capuano, David Carmona, David Herráiz, Luis Fraile, Octavio Hernández y un servidor, veremos de forma introductoria y general las novedades incluidas en Visual Studio 2008 y Visual Studio 2008 Team System, además de ver la famosa aplicación MSDN Video 2008 desarrollada por la gente de DPE de Microsoft España, la cual ha sido desarrollada íntegramente en Visual Studio 2008.

Nivel del evento: 200

Audiencia: Arquitectos y Developers

Podrás registrarte aquí para acudir a este primer evento.

SEGUNDO EVENTO (JULIO) 

El segundo evento tendrá lugar en Madrid, presumiblemente en las oficinas de Microsoft el 17 24 de Julio de 2008 de 19:00 a 21:00 si no hay cambio de última hora. El título que le hemos puesto a este segundo evento es "Te queremos iluminar. Integrando WCF y WF en .NET Framework 3.5".

 

Enlace al cartel en tamaño real (580x800). 

Este segundo evento será llevado por Roberto González, MVP de Biztalk. Con este evento comenzaremos una serie de eventos dedicados poco a poco y con más profundidad a aquellas novedades de Visual Studio 2008 y .NET Framework 3.5 que más interesen, eso sin olvidar a la gente de sistemas y a la gente de bases de datos, porque... ¡no todo es desarrollo!.

Para este segundo evento no tenemos aún enlace de registro, pero permanece sintonizado porque en cuanto tengamos más datos los haremos saber de forma pública.

ADEMÁS... 

No obstante, recuerda que este grupo de usuarios quiere oir tus comentarios, tus ideas y sugerencias, y sobre todo tus iniciativas si es que estás dispuesto a dar una charla en el grupo de usuarios MAD.NUG o a participar activamente en él.

El grupo de usuarios estará enfocado en dar charlas sobre tres áreas principales:

  • Desarrollo
  • Sistemas
  • SQL Server

Las charlas tendrán uno de los 4 siguientes niveles principalmente:

  • 100 (novato)
  • 200 (enterado)
  • 300 (profesional)
  • 400 (experto) => (odio esta palabra)

Y... tenemos algunas novedades pensadas de cara al futuro... con un poco de suerte, dedicación e ilusión, podremos hacer juntos cosas interesantes... solo te falta una cosa... APUNTARTE Y PASARTE POR MAD.NUG... ¿A QUÉ ESPERAS?.

Enlace directo a MAD.NUG.

Otro enlace alternativo a MAD.NUG.

 

Microsoft ha liberado la versión ASP.NET MVC Preview 3 (versión preliminar).

Recordemos que MVC son las siglas de Model-View-Controller que permite crear aplicaciones Web ASP.NET con este modelo o marco de trabajo, y que no es para nada un sustituto de desarrollo de aplicaciones Web con ASP.NET como lo conocíamos hasta ahora, sino que permite desarrollar aplicaciones Web ASP.NET de otra forma complementando a los modelos que había hasta el momento y que conocemos todos.

La descarga del fichero ejecutable de instalación ocupa apenas 900 Kb.

No olvides leer el fichero de documentación que encontrarás en la página de descarga.

Esta versión está disponible únicamente en inglés y podrás encontrarla en este enlace.

Encontrarás más información sobre ASP.NET MVC en este otro enlace.

 

Una de las particularidades de LINQ to SQL y LINQ to Entities es todo lo relativo a los metadatos. Es ahí donde recomiendo empezar a mirar cada vez que nos encontremos con un obstáculo o problema.

Muchos ya saben donde hay que ir a mirar la mayoría de las veces y que son realmente los metadatos cuando hablamos de LINQ to SQL o de LINQ to Entities, pero hay también mucha gente que desconoce todo esto y empieza a ponerse nerviosa cuando se encuentran un impedimento, y más aún cuando no está totalmente aclarado en ningún sitio y no encuentras nada en Internet al respecto.
 
Lo normal es encontrarnos con pequeños obstáculos como por ejemplo el que tiene que ver con los campos autogenerados de una base de datos, motivo de esta entrada, y que en este caso teórico tiene relación directa con SQL Server. Esto ocurre tanto en LINQ to SQL como en LINQ to Entities.
 
Supongamos por lo tanto, que partimos de un escenario en el que tenemos un modelo de base de datos que contiene una tabla con varios campos, y uno de ellos es un campo autogenerado. Hasta aquí lo normal. Si construimos una sentencia SQL de tipo Insert con ADO.NET tradicional, insertaremos una fila de datos en la tabla sin necesidad de indicar el campo autogenerado. Esto es así, porque SQL Server ya se encarga por nosotros de autogenerarlo con la información que hayamos indicado en la definición de la tabla de SQL Server.
 
Si en lugar de usar el tradicional ADO.NET utilizamos LINQ to SQL o LINQ to Entities, podremos agregar un nuevo registro a la base de datos de forma mucho más ágil y sencilla, sin embargo, a la hora de trabajar con la tabla indicada anteriormente y con una sentencia de tipo Insert, observamos que el campo autogererado es obviado y que en alguna parte de la aplicación, nos escribe en ese campo el valor que considera oportuno el modelo de datos de nuestro contexto (en un campo entero un 0 por ejemplo, etc).
 
La primera solución para resolver el problema es sencilla. Basta con indicar el campo de la entidad y su valor. Ahora bien, si es un campo autogenerado de la base de datos, es porque lo que nos permite precisamente es evitar indicar el valor del campo, algo que de esta manera quedamos obligados a hacer con el consiguiente problema añadido de mantenimiento de la base de datos y de filosofía de la aplicación y de la base de datos.
 
Mirando un poco más, encontramos una segunda solución mucho más limpia en cuanto a mantenimiento y en funcionalidad (recordemos que estamos hablando de un campo autogenerado que idealmente no deberíamos indicar jamás en el escenario indicado anteriormente).
 
Dentro de los metadatos, podemos hallar en el diseñador de entidades diferentes partes entre las que destacamos las entidades del modelo de datos, los metadatos de sus entidades (las tablas), y los metadatos de los miembros de cada entidad, o lo que es lo mismo, de cada una de las propiedades que conforman la entidad (los campos de las tablas).
 
También encontraremos más metadatos, pero fijémonos en estos en primer lugar para esta entrada.
 
Dentro de una entidad de tipo tabla, encontramos los campos a base de propiedades de la entidad.
Acudiendo al campo autogenerado en el modelo de base de datos, podemos encontrar diferentes propiedades.
Nos pararemos en la propiedad Auto Generated Value de LINQ to SQL.
Esta propiedad por defecto, vale False.
Si cambiamos este valor a True, podremos indicarle a la propiedad de la entidad que ese campo es autogenerado, por lo que será la base de datos la encargada de autogenerar el valor del campo por nosotros.
 
Ahora bien, ¿y en Entity Framework?.
Pues la verdad es que con LINQ to Entities está más rebuscado el tema que con LINQ to SQL (bastante más bajo mi punto de vista).
 
Mientras que con LINQ to SQL es relativamente fácil saber cómo abordar y resolver esta problemática, con LINQ to Entities lo he resuelto a través del archivo ssdl (Storage Metadata Schema) de los metadatos del modelo de datos.
 
Dentro del fichero ssdl (en formato XML) y en el apartado o etiqueta EntityType que indica la tabla, localizamos el campo autogenerado de la base de datos y le ponemos la siguiente instrucción: StoreGeneratedPattern="Identity". También nos hubiera servido en nuestro ejemplo StoreGeneratedPattern="Computed", pero como veremos en la explicación siguiente, esto lo deberemos indicar de acuerdo a nuestras necesidades.
 
La lista enumerada StoreGeneratedPattern pertenece al nombre de espacio System.Data.Metadata.Edm y al ensamblado System.Data.Entity.dll, y tiene tres posible valores: Computed, Identity y None.
 
Por defecto, los campos tienen el valor None, que equivale a que el valor no lo crea el servidor. Por esta razón, al insertar datos en una tabla con un campo autogenerado cuya propiedad StoreGeneratedPattern está indicada como None, el campo autogenerado es generado en el modelo de datos y enviado con su valor a la base de datos.
Identity es un valor generado en las inserciones que permanece igual en las actualizaciones.
Computed es un valor generado en las inserciones y en las actualizaciones.
 
De esta forma, vemos que los campos autogenerados son ignorados por defecto en LINQ to SQL y LINQ to Entities, y que si queremos salvaguardar la característica de ser un campo autogenerado, debemos indicárselo explícitamente.
 
El hecho de trabajar con campos autogenerados en una base de datos, es una de las características con la que nos presentaremos ante un proyecto LINQ to SQL o LINQ to Entities con más frecuencia.
 
Espero que estas explicaciones hayan servido para que alguien pierda menos tiempo con este tema o resuelva el entuerto en el que se encuentre de forma más ágil.

Las buenas noticias son para compartirlas, y si le pasa a un amigo, más aún.

Leyendo el blog de Fernando García Loera, MVP Lead de Latinoamérica, me entero de que mi amigo Roberto Hernández, MVP de VB por México, ha recibido el galardón como uno de los 100 mejores líderes en TI del 2008 en México.

Roberto recibió el galardón dentro del apartado Mejor Alineación de Negocio (recibido por 20 personas más).

Mi más sincera enhorabuena a Roberto y su familia desde aquí, colega con el que tengo la oportunidad de juntarme y discutir sobre informática cada vez que nos vemos, como en el último MVP Summit 2008.

Más información en este enlace.

Publicado por Jorge Serrano | con no comments
Archivado en:

Danny Simmons, el cual trabaja en el equipo de Entity Framework y al cual tuve la oportunidad de conocer en el último MVP Summit celebrado en Seattle (USA), publica y actualiza una interesante FAQ de Entity Framework que sigo desde que empezara a publicarla el año pasado.

Ayer mismo actualizó la FAQ a su versión 0.5 con algunas e interesantes entradas.

La FAQ v0.5 de Entity Framework puede ser encontrada en este enlace.

 

Interesantes videos de tipo How Do I que han elaborado Diego Vega y Alex James sobre Microsoft ADO.NET Entity Framework.

  • El primero de los dos videos se titula How Do I Use the new Entity Data Source?, y en él Diego Vega nos muestra de forma introductoria como usar el Entity Data Source en una aplicación ASP.NET.

Podreis acceder a la página de descarga de este video en este enlace.

  • El segundo de los videos se titula How Do I Get Started with the Entity Framework?, y en esta segunda ocasión, Alex nos enseñará a construir rápidamente un Entity Data Model.

Podreis acceder a la página de descarga para este segundo en este enlace.

El único "pero" es como siempre el idioma, pero la información creo que es muy interesante y merece la pena el esfuerzo.

Última actualización (21/05/2008 - 6:50 AM):

Además de los dos videos anteriores, Microsoft ha publicado también otros videos más en las últimas horas.

  • En el video titulado How Do I Serialize a Graph with the Entity Framework, Brian Dawson nos enseña a serializar un gráfico al crear una aplicación ASP.NET con Entity Framework.

Podreis acceder a la descarga de este video en este enlace.

  • En otro video titulado How Do I Use Entity Client?, Zlatko Michailov nos enseña a utilizar el nuevo ADO.NET Entity Client en nuestras aplicaciones.

Podreis acceder a la descarga de este otro video en este enlace.

Todos sabemos que Steve Ballmer tiene la habilidad de emocionar a la gente que asiste a sus charlas, ponencias y conferencias, o de ser odiado hasta límites insospechados.

Lo mismo le pasa a Bill Gates... el anticristo, el 666, el anti-todo... y todas las sandeces que se han llegado a proferir contra alguien solo por representar a Microsoft... esa infame compañía. Hace unos diez años y en Bélgica, Bill Gates recibió un "tartazo" por parte de un "simpático" humorista:

El caso es que Steve Ballmer estaba en Budapest (capital de Hungría), concretamente en la Universidad de Corvinus dando una conferencia cuando un energúmeno (porque lo siento, no se puede decir de otra forma), ha proferido gritos al mismo tiempo que le lanzaba unos huevos con cierta saña a Steve Ballmer. Al salir se podía leer unas curiosas palabras en la camiseta que llevaba el estudiante que lanzó los huevos contra Steve... Microsoft=Corruption

Se puede opinar lo que se quiera, pero nunca creo yo, faltar el respeto de nadie, se llame como se llame, o represente a la empresa que represente.

Y aquí el video de la prueba.

Ideas sí, pero con educación y respeto siempre por favor.

Publicado por Jorge Serrano | 10 comment(s)
Archivado en:

 

Microsoft ha elaborado un documento en inglés y en tres formatos diferentes, en el que se nos cuenta algunos de los aspectos a tener en cuenta a la hora de abordar el paso de desarrollo de aplicaciones deVB 6.0 a .NET y en concreto hacia Visual Basic para la plataforma .NET.

Se trata de un pequeño documento de apenas 30 hojas en el que se nos da pequeñas pinceladas sobre todos los aspectos relacionados con la migración y el paso a .NET, así como si ese paso nos interesa o no.

No espereis un documento de esos que imprimiriais y tendriais encima de la mesa, pero dependiendo del rol de la persona que lo lea o para quien o que lo utilicemos, puede que resulte muy interesante.

Accederás al documento en este enlace:

 

Todos sabreis a estas alturas que el Service Pack 1 de Microsoft Visual Studio 2008 ha aparecido en versión Beta ayer mismo.

Me enteré ayer por la tarde de la noticia pero cuando quise agregar una entrada en Geeks ví que ya había varias entradas de este tema, por lo que veía ridículo poner algo sobre el mismo, aún y así, me veo con ánimo de escribir sobre ello por varias razones:

1) Que nadie olvide la última palabra del anuncio... "Beta". Lo digo porque siempre hay aventurados que instalan la Beta en entornos de producción o de trabajo y luego pasa lo que pasa... reinstalar,... quebraderos y dolores de cabeza, etc. Mi recomendación: esperar a la versión final o instalarlo en un entorno de test o bien en una máquina virtual con el mismo propósito de un entorno de test.

2) El Service Pack 1 en BETA, afecta a Visual Studio 2008 y a Microsoft .NET Framework 3.5. Hay mejoras para ambos paquetes.

3) Que antes de instalar nada sería bueno conocer que nos ofrece lo que vamos a utilizar, y en este caso, tenemos dos interesantes recursos que nos hablan de lo nuevo. El primero de Scott Guthrie que en mi opinión es el más completo de todos los que he visto, y el otro un poco más general de Microsoft en el que nos indican los enlaces de descarga.

4) En el último enlace anterior, podremos encontrar dentro de la página de Microsoft, un enlace al foro de discusión de Microsoft Visual Studio 2008 SP1 - BETA. Es recomendable e interesante darse una vuelta por ahí para ver los problemas que tienen otros usuarios.

5) Información adicional:

Aún así, echo de menos algunas características en este SP1 BETA como las plantillas de SharePoint para Visual Studio 2008 (VSeWSS) que presumiblemente aparecerán en el próximo mes de Junio, por lo que la versión final del SP1 podría incluirlas. 

Saludos y como se dice cuando alguien desea algo bueno al resto,... buen provecho. :-)

Encuentro una interesante información de Ian Morrish que quiero compartir y mantener aquí.

Se trata de de una completa lista de los comandos de la herramienta stsadm de SharePoint.

Muchas veces no encontramos eso que buscamos o dudamos de como realizar una u otra acción con esta herramienta, y aquí, tenemos toda la lista completa de comandos que recomiendo tener bien guardadita a mano.

Accederás a esta lista en este enlace.

Publicado por Jorge Serrano | 1 comment(s)
Archivado en:

 

Microsoft ha anunciado XNA Game Studio 3.0 CTP.

XNA Game Studio está formado por un conjunto de herramientas que permiten crear videojuegos para Windows, Zune y la consola Xbox 360.

La novedad más destacable de esta versión viene de la mano de Zune, ya que desde ahora ya es posible desarrollar juegos para esa plataforma.

La descarga ocupa 42 Mb aproximadamente y está disponible en inglés.

No olvides leer los requerimientos mínimos, ya que entre otros, esta CTP se podrá instalar en Microsoft Visual C# 2008 Express Edition o en Visual Studio 2008 Estándar o superior.

 

Interesantísima información la que ha publicado Microsoft para los desarrolladores noveles o desarrolladores que quieren reciclarse a la tecnología Microsoft .NET.

En 4 perfiles, Microsoft ha aglutinado una serie de unidades formativas enfocadas a:

El objetivo del plan mostrado es que la persona interesada en reciclar sus conocimientos seleccione el perfil en el que se encuentra, acceda a la información, complete la guía de formación y aprendizaje y finalmente llegue a lo más alto del plan con unos conocimientos generales muy aceptables.

El curso formativo está creado por autores de renombre aunque el problema para los hispano hablantes está en el idioma, ya que toda la información está en inglés.

Espero que esta información le pueda resultar útil a más de uno.

Arquitectura de Software

Microsoft y en concreto Tom Hollander ha publicado un documento en formato pdf y xps sobre Arquitectura de Software y en concreto sobre las Software Factory que tanto interesa a algunas personas.

Ya sabeis que las Software Factories están desde hace unos años de moda, pero que tampoco son la panacea... de hecho,... hay un aspecto muy delicado y delgado fácilmente traspasable y es que cuando se habla de Software Factories, tendemos a creer en que todo puede ser traspasado a una Software Factory y a crear el desarrollo del Software como una fábrica de Software... en realidad no existe como muchos sabeis un desarrollo de Software igual a otro existente ni tampoco el generador completo y automático de soluciones Software, aunque algunos piensen lo contrario.

De todos los modos y volviendo al tema de la entrada, el pdf o xps que os indicaba inicialmente os explica en formato de presentación lo que es una Software Factory así como abordar la pregunta de cuando podemos querer crear una.

Publicado por Jorge Serrano | 2 comment(s)
Archivado en:

Microsoft ha anunciado el cliente de Zune versión 2.5.

Esta nueva versión del cliente Zune está disponible en tres idiomas, inglés, francés y español, y ocupa cerca de 190 Mb de espacio en disco duro.

Podremos acceder a la página Web de descarga en este enlace.

Para más información acerca de soporte de Zune, accede a este otro enlace.

Publicado por Jorge Serrano | con no comments
Archivado en:

 

Microsoft ha publicado una interesante herramienta para los amantes a la fotografía, su nombre Microsoft Pro Photo Tools.

Con esta herramienta, podemos editar nuestras fotografías e incluir los datos GPS de donde se tomó la fotografía, aspectos como latitud, longitud, etc.

Seguro que las cámaras fotográficas de los próximos años incluirán un pequeño receptor GPS que permitirá incluir estos datos de serie en las fotografías, pero hasta entonces, podremos contentarnos con esta herramienta que se basa en Microsoft Virtual Earth.

Podrás encontrar más información sobre Microsoft Pro Photo en este enlace y sobre Microsoft Pro Photo Tools en este otro enlace.

Podrás descargarte Microsoft Pro Photo Tools v1.0 desde este enlace (6.3 Mb).

Publicado por Jorge Serrano | con no comments

 

En apenas 15 días hemos tenido dos versiones de la utilidad ILMerge.

A finales del mes pasado os anunciaba la aparición de ILMerge versión 2.8.0422, mientras que ahora la versión que aparece en ILMerge versión 2.8.0502.

La descarga de apenas 650 Kb está en inglés.

También podrás acceder a información adicional de la herramienta en este otro enlace junto con los cambios realizados en esta última versión con respecto a la anterior versión de la utilidad.

Recuerda que ILMerge se puede utilizar para mezclar múltiples ensamblados de .NET en un único ensamblado distribuyendo tu aplicación como si estuviera formado por ún único fichero. Esta herramienta puede ser utilizada igualmente en desarrollos comerciales y es gratuita.