Spargo.Net: Universidad de Caldas

RIA Services: Paso a paso (I)

Aqui vamos a hacer un ejemplo muy sencillo usando la base de datos Northwind. Crearemos una aplicación Silverlight que muestre en un grid la lista de proveedores.

Si queréis repetir los ejemplos que aquí os enseño necesitareis tener instalado Silverlight 3 y la preview de mayo de Services.

Lo primero será crear una nueva aplicación Silverlight; Silverlight Application.

1 5F00 thumb 5F00 4DA2F487 RIA Services: Paso a paso (I)

Una seleccionado este tipo de proyecto os aparecerá un cuadro de diálogo, que sólo os aparecerá si tenéis instalado Services.

2.1 5F00 thumb 5F00 229AE0B5 RIA Services: Paso a paso (I)

Para que la aplicación sea una aplicación que haga uso de la funcionalidad de Services, es necesario seleccionar la opción  “Link to ASP.NET server project”. Si no se selecciona esta opción la aplicación será una aplicación Silverlight normal y corriente.

Una vez seleccionada esta opción, se generarán dos proyectos dentro de la solución que se acaba de crear; un proyecto que contiene la aplicación Silverlight, la aplicación que hará de cliente, y una aplicación web, que contendrá el código de servidor.

Este segundo proyecto es el que se ejecutará en el servidor y el que contendrá toda la lógica de negocio y acceso a datos que necesite la aplicación. El primer proyecto es la parte cliente, la que se ejecuta en el navegador de cliente y la que tiene que consumir los servicios que el servidor le ofrezca.

3 5F00 thumb 5F00 73F4B205 RIA Services: Paso a paso (I)

Si ya tenemos nuestra aplicación Silverlight creada o la hemos creado sin la opción de unirla a un proyecto web no te preocupes, a posteriori también se puede hacer a través de las opciones del proyecto.

4 5F00 thumb 5F00 3B1A5838 RIA Services: Paso a paso (I)

Una vez que tenemos creada la estructura de nuestra aplicación, en el proyecto servidor, vamos a crear todo lo necesario para exponer al cliente la lista de proveedores.

Para el ejemplo vamos a usar un diagrama de ADO.NET Entity Framework, pero tenemos que tener en cuenta que para usar Services no tenemos por qué hacer uso de una base de datos ni de Entity Framework.

Eso sí, si necesitamos hacer uso de una base de datos, Entity Framework puede ser el complemento perfecto.

Agregamos un nuevo elemento al proyecto; ADO.NET Entity Data Model. Al nuevo diagrama le llamamos Northwind.

5 5F00 thumb 5F00 1D78576C RIA Services: Paso a paso (I)

Una vez creado nos aparecerá un asistente que nos permitirá crear el diagrama de Entity Framework. Para este ejemplos seleccionaremos únicamente la tabla Suppliers.

En los ejemplos que veremos haremos uso de Entity Framework pero no entraremos lo pasaremos sólo por encima sin entrar a explicar todas las posibilidades que nos ofrece. Para ello, os recomiendo el libro “ADO.NET Entity Framework”, un libro en castellano de Unai Zorrilla, Octavio Hernández y Eduardo Quintás y que la editorial Krasis ha publicado. Una libro fantástico y además en castellano!

6 5F00 thumb 5F00 06F59318 RIA Services: Paso a paso (I)

7 5F00 thumb 5F00 7CE0F1EC RIA Services: Paso a paso (I)

Una creado nuestro modelo de datos, tenemos que crear el servicio encargado de exponer nuestro dominio, para que el cliente pueda consumirlo. Este es el componente DomainServices del que hablábamos en el post anterior.

Añadiremos un nuevo elemento de tipo “Domain Service Class” y le llamaremos SuppliersService. Esta plantilla es una de las que incorpora Services.

8 5F00 thumb 5F00 120EF795 RIA Services: Paso a paso (I)

Una vez seleccionado este elemento, nos aparecerá este cuadro de diálogo desde el cual podemos configurar la parte del modelo de datos que queremos exponer. En este caso la cosa es sencilla, ya que sólo tenemos la entidad Suppliers.

9 5F00 thumb 5F00 552A4FF5 RIA Services: Paso a paso (I)

Seleccionamos también la opción de permitir edición y la opción de generar las clases de metadatos asociadas. En los siguientes post entraremos a explicar para que sirve cada opción y efectos tiene seleccionar o no la opción.

Una vez realizada esta opción ya tenemos creado nuestro DomainService que expone la entidad Suppliers del model Northwind. Ahora vamos a ver cómo lo consumimos desde el cliente.

En el proyecto, en el el fichero Main.xaml vamos a añadir un componente DataGrid, que será el que muestre el listado de proveedores.

12 5F00 thumb 5F00 7FB60B05 RIA Services: Paso a paso (I)

Una vez que tenemos el grid, en el codebehind añadiremos el código necesario para cargar en el grid el listado de proveedores.

13 5F00 thumb 5F00 272CD770 RIA Services: Paso a paso (I)

Fijaros que en ningún momento creado un proxy al servicio que expone el modelo Northwind, pero aún así, lo tenemos accesible!

Y si ejecutamos este código tendremos la lista de proveedores..

14 5F00 thumb 5F00 696FC9E6 RIA Services: Paso a paso (I)

y se acabó, ya tenemos nuestra aplicación funcionando!

En el próximo post se explicará con más detalle algunos de los aspectos que hoy se han mencionado pero que no se ha entrado a explicar, como el código generado al crear el DomainService o cómo el cliente puede hacer uso del servicio sin haber creado un proxy previamente.

Escrito por Ibon Landa

Fuente: Yo sólo pasaba por aquí pero ya que estoy…

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.

Related posts:

  1. Silverlight 3 y .NET RIA Services Brad Abrams ha publicado en su blog una magnífica serie...
  2. Serie de WebCasts: Silverlight 3 y WPF 4.0 para desarrolladores y diseñadores Hola a tod@s. Les recomendamos descargar los siguientes Web Casts...

Related posts brought to you by Yet Another Related Posts Plugin.

  • Hola: soy de corrientes argentina. estoy utilizando vs 2008 español. no puedo instalar ria service,tengo instalado silverlight 3 tool y sdk y me sigue pidiendo silverlight 3 tool. logre descomprimir el instalador y tengo la carpeta ria service con 2 libreria y documentacion. aun asi no pedo acceder a la clase domain service. Ruego alguien me pueda ayudar a resolver este problema.intete todo…… Gracias

You must be logged in to post a comment.

SEO Powered by Platinum SEO from Techblissonline