RIA Services: Paso a paso (I)

Es un post anterior hablaba de RIA Services y de cómo esta nueva tecnología nos puede ayudar a simplificar el desarrollo de aplicaciones RIA

En este post toca empezar con la práctica y enseñar paso a paso un ejemplo básico de lo que es. 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 RIA Services.

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

1

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

2.1

Para que la aplicación sea una aplicación que haga uso de la funcionalidad de RIA 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

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

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 RIA 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

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. Un libro fantástico y además en castellano!

6

7

Una vez 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 RIA Services.

8

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

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

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

Fijaros que en ningún momento he 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 

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

En el próximo post entraré a explicar con más detalle algunos de los aspectos que hoy he mencionado pero que no he 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.

Published 17/6/2009 12:36 por Ibon Landa
Comparte este post:
http://geeks.ms/blogs/ilanda/archive/2009/06/17/ria-services-paso-a-paso-i.aspx

Comentarios

# re: RIA Services: Paso a paso (I)

Excelente Ibon, saludos.

Wednesday, June 17, 2009 3:12 PM por Juan Irigoyen

# re: RIA Services: Paso a paso (I)

:-)

Buen post Ibon. Ahora a seguir la serie...

Un saludo!

Thursday, June 18, 2009 12:55 PM por Lluis Franco

# re: RIA Services: Paso a paso (I)

Hola!

Ya tienes un segundo post sobre el tema publicado y a ver si este fin de semana tengo tiempo y publico algún otro.

Un saludo,

Thursday, June 18, 2009 1:00 PM por Ibon Landa

# RIA Services: Sobre la generación de código..

En dos anteriores veíamos un ejemplo de cómo funciona RIA Services y de cómo nos puede facilitar la creación

Tuesday, June 23, 2009 11:35 PM por Yo sólo pasaba por aquí pero ya que estoy...

# re: RIA Services: Paso a paso (I)

Buenas,

Muchas gracias por la información Ibon, me esta siendo de gran ayuda. Pero a la hora de ponerme a enredar con todo esto, tengo el problema del entorno de desarrollo, no se que componentes tengo que tener instalados en mi equipo. Podrias decirme que necesito.

- VS 2008 o VS 2010

- Que Framework

- Que Tamplates para VS

- Que Componentes

Muchas Gracias.

Thursday, September 10, 2009 11:02 AM por Txus Ballesteros

# re: RIA Services: Paso a paso (I)

Para los ejemplos que estoy haciendo tengo instalado:

Visual Studio 2008 SP1

Microsoft .NET RIA Services July 2009 Preview

Silverlight 3 Runtime

Silverlight 3 SDK

Silverlight 3 Tools

Un saludo,

Thursday, September 10, 2009 11:47 AM por Ibon Landa

# Pues sí que va a ser WCF…

En un post anterior comentaba cómo una de las novedades de la última versión de RIA Services es que se

Tuesday, November 24, 2009 11:39 PM por Yo sólo pasaba por aquí pero ya que estoy....

# Pues sí que va a ser WCF…

En un post anterior comentaba cómo una de las novedades de la última versión de RIA Services es que se

Tuesday, November 24, 2009 11:39 PM por Yo sólo pasaba por aquí pero ya que estoy...

# Trabajando con el DomainDataSource….Canela fina, fina!

[Luis, va por tí…un poquito de cremita, canela fina, fina..] En un post anterior os comentaba que una

Thursday, November 26, 2009 11:12 PM por Yo sólo pasaba por aquí pero ya que estoy....

# Trabajando con el DomainDataSource….Canela fina, fina!

[Luis, va por tí…un poquito de cremita, canela fina, fina..] En un post anterior os comentaba que una

Thursday, November 26, 2009 11:12 PM por Yo sólo pasaba por aquí pero ya que estoy...

# WCF RIA Services. Resumen

Después de echar la bronca a un “mal” compañero por no leerme y preguntarme sobre RIA Services, he decidido

Thursday, December 31, 2009 11:52 AM por Yo sólo pasaba por aquí pero ya que estoy....

# WCF RIA Services. Resumen

Después de echar la bronca a un “mal” compañero por no leerme y preguntarme sobre RIA Services, he decidido

Thursday, December 31, 2009 11:53 AM por Yo sólo pasaba por aquí pero ya que estoy...

# re: RIA Services: Paso a paso (I)

Buenas tardes, encuentro interesante tu articulo, me gustaría ver un ejemplo realizando actualizaciones con los metodos insert, update, delete, dado que no encuentro en nigún lado como proceder con estos metodos, todos los post que encontre solo muestran datos.

gracias

Wednesday, July 21, 2010 5:35 PM por Claudio Lozano

# re: RIA Services: Paso a paso (I)

Hola,

Si al crear el DomainService le activas la opción "Enable Editing" le crea en el servicio los métodos para añadir, modificar y eliminar entidades del dominio.

Te paso algun enlace que he visto que habla sobre el tema,

www.dotnetcurry.com/ShowArticle.aspx

weblogs.asp.net/.../how-submitchanges-works-in-net-ria-servies.aspx

Un saludo,

Wednesday, July 21, 2010 5:56 PM por Ibon Landa