Archivo para marzo, 2009

Tutorial Gráfico Silverlight: Consumiendo Servicios

Posted in Aplicaciones, ASP.NET, Blend, Microsoft, Silverlight, Tutorial, WPF on marzo 23, 2009 by César Intriago

 

En este tutorial veremos algunas cómo desarrollar un servicio sencillo y consumirlo desde una aplicación Silverlight 2, además usaremos el control DataGrid y el Popup control.

En el siguiente tutorial se mostrarán los pasos generales e importantes para crear un servicio WCF, crear una aplicación Silverlight 2 y consumir el servicio. Al final se provee un enlace al proyecto con el código fuente para que se lo descarguen y lo revisen a mayor detalle.

Requisitos:

  • Visual Studio 2008 SP1
  • Expression Blend 2
  • Silverlight Tools para Visual Studio 2008
  • Soliverlight Toolkit Marzo 2009

 

Paso 1: Crear un Servicio para Silverlight

Partiendo de una solución vacía, creamos un nuevo proyecto tipo ASP.NET Web Service, borramos el servicio que VS2008 crea de forma automática y agregamos un nuevo elemento tipo “Silverlight-enabled WCF Service” que llamaremos SimpleService.svc como se ve en la siguiente  figura:

Imagen 2

Esto creará la siguiente plantilla para escribir nuestro servicio:

Imagen 1

Nuestro leerá datos de un archivo XML y tendrá dos métodos, uno que retorne la lista completa de usuarios y otro que retorne un usuario en particular.

Al proyecto agregamos un nuevo archivo XML con los siguientes datos:

Imagen 3

Y luego creamos una nueva clase para representar cada usuario:

Imagen 4

Finalmente, escribimos el código complete del servicio:

Imagen 7

Ejecutamos el proyecto y se nos deberá presentar la siguiente pantalla indicando que nuestro servicio está levantado.

Imagen 5

 

Paso 2: Crear una nueva aplicación Silverlight

Agregamos un nuevo proyecto a la solución, de tipo “Silverlight Application” a la que llamaremos MySilverlightApp.

Imagen 8 

El asistente de VS2008 nos preguntará si deseamos crear una aplicación Web para hospedar y probar nuestra aplicación y presionamos OK:

Imagen 9

Hasta este punto nuestra solución se verá algo así:

Imagen 10

Usando Blend 2 o VS008 editamos el archivo Page.xaml para crear la interfaz gráfica de nuestra aplicación que estará formada por una caja de texto, dos botones y un Grid (Disponible en el Silverlight Toolkit Mazo 2009)

Imagen 12 

Desde VS2008 procedemos a enlazar los eventos Click de ambos botones al código en C#, esto se hace de forma sencilla desde VS2008:

Imagen 13

 

Paso 3: Consumir el Servicio

Lo siguiente será agregar una referencia al servicio y escribir el código para consultar los datos. Para agregar la referencia al servicio damos clic derecho sobre la solución y seleccionamos “Add Service Reference”, del cuadro de dialogo seleccionamos nuestro servicio y presionamos aceptar:

Imagen 6

Algo interesante es que en Silverlight todos los servicios son asincrónicos, de tal forma que en nuestro código tendremos que manejar los eventos de cuando se termine de ejecutar una operación, El código fuente de page.xaml.cs quedaría así:

Imagen 100 

Ejecutamos nuestra aplicación y se verá algo así:

Imagen 15

Pero al presionar el botón “Find All” recibiremos una EXCEPCION al tratar de conectar con el servicio Web:

Imagen 14

Esta se debe a un tema de seguridad de comunicación entre dominios, la forma de resolver esto es muy simple, se agrega un archivo XML en la raíz del servicio Web con las políticas de acceso para los clientes, el archivo se llama clientaccesspolicy.xml y tendrá el siguiente contenido:

Imagen 17

Volvemos a probar nuestra aplicación y listo:

Imagen 16

Hemos creado una aplicación en Silverlight que consume un servicio WCF y hemos configurado las políticas de acceso del cliente al servicio.

 

El proyecto completo lo pueden descargar desde aquí.

Anuncios

Nuevos navegadores: Safari 4 y Explorer 8

Posted in Apple, Microsoft, Noticias, Opinion on marzo 22, 2009 by César Intriago

 

Hace poco Apple y Microsoft anunciaron las nuevas versiones de sus navegadores: Safari 4 de la compañía de la manzana (todavía en beta)  e Internet Explorer 8 de Microsoft (versión final liberada hace unos pocos días). Ambos cargados de nuevas características útiles tanto para desarrolladores como para los usuarios finales.

 

ie8

Con Internet Explorer 8 se anuncia básicamente los mismo que en las versiones anteriores: más seguro y más rápido, con modificaciones visuales mínimas, Live Search como motor de búsqueda predeterminado (el cuál ya cambié a Google), algo nuevo en IE que MS llama aceleradores, y la herramienta para desarrolladores que posibilita ver, analizar y editar el código fuente de una página. Para una lista completa de las características pueden visitar la página oficial de IE8.

safari

Entre las principales mejoras a Safari 4 tenemos la incorporación de Cover Flow, la barra de pestañas se ha movido a la parte superior de la ventana, algo nuevo llamado Top Sites (un poco similar al Speed Dial de opera), y también incluye herramientas para el desarrollador. Más información en la página oficial de Safari.

 

Estadísticas sobre cuál es más rápido y otro tipo de comparaciones hay por todos lados, este post se centra más en mostrarles algo de lo nuevo que trae cada uno, así que tendremos muchas capturas de pantalla !!

 

Safari 4 – Top Sites. Nos muestra los sitios más visitados, aparece cada vez que abrimos un nuevo tab, por otro lado IE8 muestra una ventana simple con accesos directos a algunas funciones, pero con IE podemos ver vistas previas de las ventanas abiertas.

new-tab-safari
history-search-safari
new-tab-ie
multitabs

 

Se puede ver como en IE se agrupan por colores ventanas abiertas en secuencia desde una página.

 

IE8  – Aceleradores. Aparecen en un menú contextual cada vez que seleccionamos texto de una página, por ejemplo buscar en Google el texto marcado. Algo similar existe en Safari, pero IE8 tiene la posibilidad de agregar más aceleradores.

aceleradores-ie search-text-safari

Herramientas para el desarrollador. Ambos navegadores incorporan herramientas similares a Firebug para Firefox que han probado ser muy útiles. En la siguiente captura podemos ver los navegadores lado a lado con la herramienta para desarrolladores. Además podemos notar como Apple siempre busca ofrecer una mayor área visual para el contenido mientras que en IE todas las barras de herramientas usan una buena parte de la ventana, en la imagen tuve que ocultar la barra de menú en IE8.

 side-by-side

 

Cover Flow y más Cover Flow. Apple lo ha incorporado también en Safari 4. Lo podemos aprovechar cuando navegamos por los Favoritos o el Historial:

history-safari

 

Apple  por primera vez aplicará el mismo “Look & Feel” a Safari 4 para la versión Windows, de esa forma se verá más integrado al estilo visual de Windows.

Esperemos que IE al ser el navegador más usado (no por elección – opinión personal), el IE8 8 no se convierta en un nuevo dolor de cabeza para los desarrolladores, ya que con cada nueva versión de IE le dan vuelta a la tortilla y eso que siempre dicen que hace uso de “estándares”, lo digo porque como han incorporado un “Modo Compatibilidad” para emular IE7 entonces probablemente los sitios que se veían “bien” con IE7 no se garantiza que sigan de esa misma forma con IE8. Eso es decisión de cada uno de nosotros el elegir cuál nos parezca mejor y cuál sigue un mejor camino.