Archive

Archive for the ‘WCF Ria Services’ Category

WCF Ria Services V1.0 para Silverlight 4.- Agregar un nuevo registro hacia la Base de Datos (Parte 8)

May 18th, 2012 1 comment

En nuesto post pasado, pudimos ver cómo editar los datos que se presentan en nuestra aplicación silverlight (lado del cliente), pero aún más importante cómo es que se hace la actualización de estos cambio en la base de datos. Si no has leido este post, te recomiendo lo leas, ya que utilizaremos la información mostrada en este siguiente post.

Nuestro siguiente tema abordará el conceto de agregar un nuevo registro, pero además se mostraran un par de puntos a considerar cuando se está agregando un registro.

Agregando un nuevo registro al cliente

Para agregar un nuevo registro solo basta escribir un par de lineas de código, en donde básicamente lo que se hace es crear un nuevo objecto del tipo de datos que vamos a insertar y este se agrega al DomainDataSource que contiene los datos.

Para insertar el código del que hablabamos, en nuestra vista incluiremos un botón que nos permita indicar a la aplicación que queremos agregar un nuevo registro.

<Button x:Name="btnAddNew"
        Content="Agregar nuevo"
        Height="23"
        Width="115"
        HorizontalAlignment="Left"
        Click="btnAddNew_Click" />

Y será en el evento del click donde escribiremos las lineas de creación del objecto del nuevo producto, añadiendolo a los elementos del DataView de nuestro Domain Data Source.

private void btnAddNew_Click(object sender, System.Windows.RoutedEventArgs e)
{
    WcfRiaServices.Web.Models.Product newProduct = new Web.Models.Product();
    productDomainDataSource.DataView.Add(newProduct);
}

Con esto lo que estamos haciendo es agregar un nuevo elemento al Domain Data Source, quién es el encargado de contener los datos de lado del cliente. Y, al igual que cuando queremos editar un elemento, necesitamos replicar este cambio a nuestro servicio que será el que haga la actualización en la base de datos. Como a estas alturas ya tenemos nuestro botón de ‘Guardar Cambios’ esta parte ya la tenemos cubierta.

Algunas consideraciones extras

Debido a que la tabla de Productos tiene algunos campos que no pueden ser nulos, además de que a estas alturas no tenemos ningun tipo de validación ni en nuestro modelo ni al momento de guardar los cambios. Sugiero al momento de crear el nuevo objeto, inicializar las propiedades que así lo requieran

private void btnAddNew_Click(object sender, System.Windows.RoutedEventArgs e)
{
    WcfRiaServices.Web.Models.Product newProduct = new Web.Models.Product();
    newProduct.rowguid = System.Guid.NewGuid();
    newProduct.SafetyStockLevel = 1000;
    newProduct.ReorderPoint = 500;
    newProduct.DiscontinuedDate = System.DateTime.Now;
    newProduct.ModifiedDate = System.DateTime.Now;
    newProduct.SellEndDate = System.DateTime.Now;
    newProduct.SellStartDate = System.DateTime.Now;
    productDomainDataSource.DataView.Add(newProduct);
}

Siguientes post…

Ya solo nos falta revizar como eliminar un registro para poder terminar con el tema de CRUD, permitiendonos así continuar con temas como validaciones o el indicator de acción (Busy Indicator)

Gracias y saludos

WCF Ria Services V1.0 para Silverlight 4.- Guardar datos hacia la Base de Datos (Parte 7)

March 16th, 2011 13 comments

Una de las partes más importantes con el trabajo de datos es el poder hacer modificaciones en ellos. Esto incluye añadir nuevos registros, actualizarlos y eliminarlos. En esta ocasión estaremos viendo cómo es posible esto utilizando las características que WCF Ria Services nos ofrece.

Con el objetivo de mantener la simplicidad de los post, estaré escribiendo cada acción en un artículo diferente. En este veremos cómo es que funciona la actualización de datos. Esta, la acción que resulta más sencilla de las tres.

Actualización de datos, del lado del cliente

Uno de los detalles importantes a considerar en este proceso, es que los elementos que hemos usado para mostrar tanto la lista de registros como el detalle (y debido a que hemos dejado las propiedades en sus valores por default) la actualización de datos ya es posible del lado del cliente. Es decir, por ejemplo, en nuestra vista de detalle del registro podemos cambiar el valor que se muestra.

image

Lo que podemos observar, gracias a que tanto la lista de registros como el detalles están ligado al mismo Domain Data Source, es que al momento de que el TextBox pierde el foco, el dato también es actualizado en la lista de registros.

image

Pero es IMPORTANTE hacer notar que estos cambios solo están del lado del cliente. Esto quiere decir que en nuestra base de datos, no se ha hecho ninguna actualización. Así pues, si recargamos la aplicación (F5), podremos observar que los datos son nuevamente traídos desde la base de datos, y que nuestros cambios se han perdido.

Hacer la actualización en la base datos

Para hacer la actualización de los cambios hechos del lado del cliente, será necesario hacerlo desde el code behind de nuestro archivo xaml, por lo que agregaremos un botón que nos permita ejecutar un evento donde pondremos el código. Así pues, tendremos un botón con el siguiente codigo xaml:

Es el evento de click donde pondremos nuestro código que indicara a WCF Ria Services que los cambios deberán ser guardados en la base de datos, en este caso al que hemos llamado btnSave_Click

La instrucción para que los datos sean guardados, al igual que el resto de nuestras acciones, es de manera muy sencilla, y solo consiste en indicarle al Domain Data Source, que haga un sometimiento de los cambios (submit changes):

Así pues, si verificamos los datos directamente en la base de datos (o si recargamos nuestra aplicación) veremos que los datos efectivamente han sido actualizados.

Siguientes post…

Quedan pendientes las otras dos acciones (agregar nuevo registro y eliminar registros) para las siguientes entregas, así como el hecho de regresar a explicar algunas características más sobre la vista de datos.

Gracias y saludos…

WCF Ria Services V1.0 para Silverlight 4.- Detalles de un registo (Parte 6)

March 15th, 2011 1 comment

Una vez que hemos practicado y entendido como es que podemos mostrar y filtrar datos desde nuestra fuente de datos, no podemos dejar de lado como es que podemos mostrar los detalles de un registro, en este caso el que tenemos seleccionado en nuestra lista de registros.

Para poder continuar con este tema, será necesario continuar con el trabajo hemos venido realizando en los post previos, en donde hemos ya generado un lista de registros.

Vista detalles desde la Ventana de Fuente de Datos.

Al igual que el datagrid de la lista de datos, la Ventana de Fuente de Datos (Data Sources window) nos permite de manera rápida y fácil crear un vista de detalles. En esta ocasión habremos de seleccionar la vista de detalle en el Data Sources window:

image

Y nuevamente para agregar el elemento, en este caso un grid a dos columnas, necesitamos arrastrar el elemento desde la ventana Data Sources:

image

Ejecutando la aplicación

Una vez más, nuestra aplicación está lista para ser ejecutada sin más trabajo que hacer.

Analizando lo que ha sucedido

Ahora, como es costumbre, analizaremos lo que ha pasado en el archivo xaml.

Lo primero que podremos apreciar es que el elemento que se ha añadido es un grid con un par de columnas y un renglón por cada uno de los datos del registro que estamos observando en el momento. También hacer notar que Visual Studio 2010 es lo suficientemente inteligente para observar que ya se ha definido un Domain Data Source con la misma fuente de datos, por lo que se lo ha asignado al nuevo grid como su contexto de datos (Data Context). Cada uno de ellos con su respectiva vinculación (binding).

Lo que respecta a los renglones, podemos observar una columna para en donde se configura una etiqueta (label) para mostrar el encabezado de la columna en la base de datos y ya sea un TextBox o un DatePicker o un CheckBox para el valor en la base de datos.

Siguientes post…

Si bien, todavía tenemos mucho que decir en lo que respecta a mostrar y filtrar datos, en un siguiente post estaremos hablando de como hacer actualizaciones hacia la base de datos, para posteriormente regresar a mostrar elementos cómo el páginador (data pager) o el indicador de ocupado (busy indicator)

Gracias y saludos…

Taller de Silverlight 4–Sesión 8

February 16th, 2011 No comments

Después de varios siglos, el próximo día 22 de Febrero 2011 a las 19:00 horas (hora de México, Guadalajara, Monterrey) tendremos la Sesión 8 del Taller de Silverlight 4 Back to Basics.  Esta sesión será llevada a cabo por mi buen amigo y colega Jorge Levy: Administrador y Autor en La Liga Silverlight.  Les sugiero lo marquen en sus calendarios ya que Jorge estará completando los temas de acceso a datos específicamente con WCF RIA Services.  Esta Sesión 8 cerrará (por fin Smile) este Taller de Silverlight 4.

Asimismo les recuerdo que todas las sesiones anteriores, las diapositivas usadas y los ejemplos de código están disponibles para su descarga aquí.

El vínculo para entrar ese día es este.

Los invito cordialmente a que asistan, preparen sus preguntas y participen en este evento!

Los esperamos!

WCF Ria Services V1.0 para Silverlight 4.- Filtrado datos desde el DomainDataSource (Parte 5)

September 10th, 2010 9 comments

Si bien en el post anterior hemos visto como hacer filtrado de datos desde el DomainService, ahora veremos como hacer esto mismo, pero ahora desde el DomainDataSource. El cual se encuentra del lado de la applicación silverlight, además de que nos permitirá hacer modificaciones a los filtros en tiempo de ejecución.

Por primera vez en esta serie de post, haremos mas que arrastar y/o seguir asistentes. En esta ocasión la codificación estará en nuestro archivo xaml. Y para poder trabajar en este tema, será necesario tener nuestro código como lo tendriamos en la parte 3 de esta serie.

WCF Ria Services V1.0 para Silverlight 4.- Índice:
Introducción (Parte 1)
Obtener datos desde la BD (Parte 2)
Mostrar datos (Parte 3)
Filtrar datos [DomainService] (Parte 4)
Filtrar datos [DomainDataSource] (Parte 5)

Texto a filtrar (preparando el filtro)

Para saber que texto es el que aplicaremos agregaremos un campo de text (TextBox) a nuestra interface al cual necesita llevar nombre (x:name)

image

El código quedaría como:

Modificando el Servicio de Dominio (DomainService)

Para poder realizar los filtros será necesario agregar un Descriptor de Filtros (FilterDescriptor) a nuestro Servicio de Dominio (DomainService). Será en el FilterDescriptor donde configuraremos el tipo de operaror que el filtro utilizará (Operator="StartsWith"), así como la columna en la que se aplicará el filtro con la propiedad de PropertyPath (PropertyPath="Name"), y el valor que será utilizado como filtro, el cual en esta ocasión será un mapeo al texto del campo de texto que agregamos anteriormente (Value="{Binding ElementName=txtFilter, Path=Text}").

Ejecutando la aplicación

Al ejecutar este applicación podremos observar que el filtro es aplicado segun vamos escribiendo en el cuadro de texto, a diferencia de cuando creamos el filtro en el DomainService, que el filtro es aplicado al presionar el boton de "Load".

Nota: es posible tener un retraso en la carga de datos, por lo que es probable que mientras los datos son cargado, el filtro no se aplique como lo esperamos, pero una vez cargados los datos, el filtro trabajará adecuadamente. En nuestro siguiente post veremos como agregar un control (Busy) que nos permita saber si hay actividad en la carga de datos.
Saludos…

WCF Ria Services V1.0 para Silverlight 4.- Filtrar datos desde el DomainService (Parte 4)

August 12th, 2010 1 comment
Ahora bien, una vez que hemos enlistado la información desde la base datos, en esta entrada veremos cómo filtrar este resultado, es decir, mostrar solo los datos que cumplen cierto criterio. Índice:
Introducción (Parte 1)
Obtener datos desde la BD (Parte 2)
Mostrar datos (Parte 3)
Filtrar datos [DomainService] (Parte 4)

Modificando el Servicio de Dominio (DomainService)

En la parte 2, de esta serie de post, agregamos nuestra Clase de Servicio de Dominio, la cual llamamos RiaDomainService.cs. Esta clase, como ya lo explicábamos, es la encargada de exponer las diferentes acciones que podemos ejecutar desde y hacia nuestros datos.

El primer paso que haremos es agregar un nuevo método que nos permita filtrar los datos. Al hacerlo de esta manera, el filtrado de datos lo estaremos haciendo en la capa media, que bien podríamos ver como la capa de negocio (business).

Básicamente nuestro método será muy parecido al método que ya tenemos para obtener la lista de productos, pero este nuevo método recibirá un parámetro el cual usaremos para el filtrado de datos. En esta ocasión lo que haremos es filtrar los datos por los registros que comiencen con el texto que el usuario decida sobre la columna de nombre de producto.

El método lo llamaremos GetProductsStartingWith, y recibirá un texto como parámetro el cual llamaremos startingName. Y los datos serán filtrados utilizando el método Where() que nuestro modelo de datos no entrega, en el cual utilizaremos expresiones lambda.

Vista y Ventana de Fuente de Datos (Data Sources Window)

Al igual que cuando agregamos la lista de productos, el Data Source Window nos permite agregar los controles que en esta ocasión serán necesarios para mostrar la lista filtrada; el DataGrid, un cuadro de texto, y un botón, es una sola acción.

Para lograr esto, en el Data Source Window necesitamos indicar que para la lista de productos, el query a utilizar será GetProductsByNameQuery.

image

* Si el query no está disponible, es probable que necesitemos recompilar nuestra solución una vez que agregamos el nuevo método a nuestro DomainService, o presionar el icono de recargar disponible en la ventana de Data Source.

Una vez que hemos seleccionado el query solo bastará arrastrar el elemento a nuestro xaml.

image

Ejecutando la aplicación

Nuevamente, nuestra aplicación ya está terminada con apenas estos pequeños pasos que hemos hecho.

Aquí la explicación de lo que ha sucedido en nuestro archivo xaml.

Los elementos agregados: un DomainDataSource, un DataGrid, un Label, un TextBox, y un Button.

El primer elemento que necesitamos analizar es el DomainDataSource. Éste tiene los valores de acuerdo a:

  • Es generado con un nombre (Name=”productDomainDataSource”),
  • utiliza la función de GetProducts (QueryName="GetProductsByNameQuery"),
  • que no serán cargado automáticamente (AutoLoad="False")
  • y al ser cargados los datos, ejecutará el método productDomainDataSource_LoadedData (LoadedData="productDomainDataSource_LoadedData")

Adicionalmente, al DomainDataSource se le ha agregado un elemento llamado QueryParameters, el cual nos permite enviarle los parámetros pertinentes al query que estamos ejecutando, que en esta ocasión será:

  • el parámetro startingName (ParameterName="startingName")
  • cual será leído desde el textbox startingNameTextBox, que también ha sido agregado y analizaremos más adelante (Value="{Binding ElementName=startingNameTextBox, Path=Text}").

Además, como lo podemos observar, se han agregado un Label, un Textbox, un Button y un DataGrid, los cuales son muy intuitivos en su función. Básicamente el texto que el usuario escriba en el TextBox servirá como filtro de los datos a mostrar en el DataGrid, una vez presionado el Button. Y esto es ejecutado ya que se ha agregado un enlace (Binding) al Domain Data Source (Command="{Binding Path=LoadCommand, ElementName=productDomainDataSource}")

Otra forma de hacer filtros…

En el siguiente post, veremos cómo hacer filtrados de datos desde nuestro DomainDataSource, esto sin necesidad de modificar nuestros Servicios de Dominio…

Saludos…

WCF Ria Services V1.0 para Silverlight 4.- Mostar datos (Parte 3)

July 16th, 2010 6 comments
Una vez que nuestra aplicación web está configurada y exponiendo los datos desde la base de datos, ahora si veremos como consumir el servicio que nos ofrece y como mostrar datos en nuestra aplicación Silverlight. Indice:
Introducción (Parte 1)
Obtener datos desde la BD (Parte 2)

Aplicación Silverlight

Como ya lo hemos comentado, la aplicación silverlight que el template ‘Silverlight Business Application’ no entrega ya cuenta con el ‘Framework de Navegación’. En esta ocasión estaremos trabajando únicamente en nuestra página ‘Home.xaml’.

VS2010 y la Ventana de Fuente de Datos (Data Sources window)

Una de las ventajas que trae consigo el Visual Studio 2010, es que ahora podemos ligar los servicios de datos expuestos por WCF RIA Services en nuestra applicación Silverlight de manera visual; así pues, desde la ventana de ‘Data Sources’ podemos arrastrar un ‘DataGrid’ (que a continuación analizaremos).

image

La ventana de Data Sources, es lo suficientemente inteligente como para leer los servicios WCF que nuestra aplicación Web expone, y nos entrega los diferentes objetos expuestos.

Ejecutando la aplicación

y listo, ahora sí ya tenemos nuestra primera aplicación RIA Services lista para ser ejecutada. Sin embargo considero importante entendamos que es lo que está pasando tras bambalinas…

Origen de Datos de Dominio (Domain Data Source)

La primera parte del código entregado consiste del control llamado DomainDataSource el cual viene incluido en los assemblies que RIA Services nos entrega.

Este control será el encargado de contener los datos que la aplicación Web expone a través de la Clase de Servicio de Dominio.

  • Es generado con un nombre (Name=”productDomainDataSource”),
  • utiliza la función de GetProducts (QueryName=”GetProductsQuery”),
  • que serán cargado automáticamente (AutoLoad=”True”)
  • y al ser cargados los datos, ejecutará el método productDomainDataSource_LoadedData (LoadedData=”productDomainDataSource_LoadedData”)

También es configurado para que el Origen de Datos sea el Contexto de Dominio desde la aplicación Web.

DLL: System.Windows.Controls.DomainServices
Namespace: xmlns:riaControls=”clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.DomainServices”
Namespace: xmlns:my=”clr-namespace:WCFRiaServices01.Web.Services”
Namespace: xmlns:my1=”clr-namespace:WCFRiaServices01.Web.Models”

Mostrando los datos en un DataGrid

Una vez que tenemos los datos en nuestro DomainDataSource, estos son mostrados en un control DataGrid.

Nuestro DataGrid tendrá

  • un nombre (Name=”productDataGrid”);
  • las columnas no serán autogeneradas (AutoGenerateColumns=”False”);
  • y lo más importante, el origen de datos estará enlazado con nuestro Domian Data Source (ItemsSource=”{Binding ElementName=productDomainDataSource, Path=Data}”)

DLL: System.Windows.Controls

Namespace: xmlns:sdk=http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk

Y las columnas haran referencia al dato con la propiedad de Binding apuntanto a la columna correspondiente (Binding=”{Binding Path=Class}”)

Las columnas generadas, detectarán el tipo de dato desde la BD, y harán la conversion respectiva, así pues para la fechas se utilizará el formato adecuado. (Esto lo veremos en un post posterior).

Siguientes post…

Aunque ya tenemos una aplicación que corre sobre RIA Services, apenas estamos calentando motores, en los siguientes post estaremos hablando de cómo hacer paginación de los datos mostrados, cómo crear filtros, cómo mostrar los detalles de un registro, etc, etc, etc…

*Puedes ver el post original aqui

WCF Ria Services V1.0 para Silverlight 4.- Obtener datos desde la BD (Parte 2)

July 16th, 2010 6 comments
Y bien, después de nuestro post de introducción, en éste abordaremos como comenzar a trabajar con Ria Services para obtener los información desde la base de datos, y como mostrarlos en nuestra aplicación Silverlight. Indice:
Introducción (Parte 1)

Plantilla de VS2010 para WCF Ria Sercvices

Lo primero que necesitamos mencionar es que el framework de Ria Services nos ofrece una plantilla (template) para VS2010 llamada ‘Silverlight Business Appication’ que nos entregará una solución totalmente configurada para comenzar a trabajar. Esta solución viene ya incluso con las siguientes características:

  • La solución está compuesta por dos proyectos, una aplicación web y una aplicación Silverlight. La aplicación web será la encargada de la conexión y acceso a la base datos, así como la que proyectará los datos hacia la aplicación silverlight, que será la que le de vista a estos.
  • La aplicación Silverlight que nos entrega está creada sobre el framework de navegación (para leer sobre el Framework de Navegación puedes ir a estos post)
  • Servicios de manejo de usuarios (membership) ya están incluido. (estos los veremos cómo usar y modificar en un post posterior)

image

Modelo de Datos

Para poder acceder a los datos desde nuestra aplicación Silverlight, es necesario crear "en nuestra aplicación web" un modelo de datos y proyectarlos desde nuestra aplicación web con una clase de servicio de dominio.

Lo primero que haremos es crear un modelo de nuestra base datos. Esto será, como ya lo hemos mencionado, del lado de nuestra aplicación web. En esta ocasión agregaremos un nuevo elemento del tipo ‘ADO.NET Entity Data Model’. Le pondremos por nombre ‘RIAModel.edmx’. (Como sugerencia, la pondremos en la carpeta ‘Models’)

image

image

Esto nos lanzará un asistente. En el primer paso nos permitirá seleccionar el contenido de nuestro modelo, en esta ocasión seleccionaremos que sea generado desde una base de datos.

image

En el siguiente paso del asistente configuraremos los datos de conexión de la base de datos.

*Yo usaré la base de datos de AdventureWorks sample databases que pueden encontrar en el web para su descarga.

image

En el tercer paso del asistente, seleccionaremos los objetos que queremos estén incluidos en modelo de datos. Además configuraremos el Namespace del Modelo.

*Para nuestros propósitos por ahora solo seleccionaremos la tabla de Product (Production), y nombraremos el Namespace del Modelo como: RiaModel

Al seleccionar la opción de pluralizar o singularizar lo nombre de los objectos generados (Pluraliza or singularize generated object names), le estamos diciendo al modelo que los objetos deberan tener el nombre de entidad en plural y el nombre en singular, lo cual nos ayudará a entender posteriormente de una mejor manera con que tipo de objeto estamos trabajando al hacer consultas a los datos.

image

Al terminar el asistente tendremos un esquema del modelo de datos como este. Observemos que el ‘Entity Set Name’ esta pluralizado.

image
Una vez completado nuestro modelo, tendremos que compilar el proyecto, ya que para la siguiente sección, es necesario tener nuestro modelo de datos ya disponible.

Clase de Servicio de Dominio

El siguiente paso en el que trabajaremos será el encargado de proyectar los datos desde nuestra aplicación web hacia nuestra aplicación silverlight. Y esto lo lograremos agregando un elemento del tipo ‘Domain Services Class’, el cual añadiremos a nuestro proyecto web en la carpeta llamada ‘Services’, lo cual haremos en la carpeta de Services y lo llamaremos RiaDomainService.cs

image

Al agregar este tipo de clases, nos lanzará un asistente que nos permitirá seleccionar los elementos configurados en nuestro Modelo de Datos que queremos sean proyectados por medio de un servicio, así como una opción para permitir sean editados. Además de que también nos ofrece la opción de crear las clases asociadas para los metadatos de los objetos (dedicaremos un post a este tema).

*Si no se muestra ninguno de los elementos configurados anteriormente es probable que el proyecto no fuera compilado previamente.

image

Los elementos que nos entregará serán un par de clases, en mi caso: RiaDomainService.cs y RiaDomainService.metadata.cs. Como lo comenté, la segunda de ellas la abordaremos con mayor detalle en un post posterior. Pero de la que si necesitamos hablar es de la de RiaDomainService.cs.

Lo que podemos platicar hasta este momento de esta clase es que:

  1. Como podemos ver, está etiquetada con [EnableClientAccess()], ya que pedimos fuera editable.
  2. Nos crea 4 funciones básicas: GetProducts(), InsertProducts(), UpdateProducts() y DeleteProducts(). El típico ABC de una base de datos.
  3. Esta clase es 100% modificable para nuestros propósitos. Así pues por ejemplo, si quisiéramos que nuestro método GetProducts() nos regrese los registros de manera ordenada, solo bastaría modificarla de tal modo que quedaría:

Continuará…

Ya hemos configurado nuestra aplicación web para proyectar los datos, en nuestro siguiente post ahora sí comenzaremos a consumir estos datos y a mostrarlos desde nuestra aplicación silverlight…

Saludos

*Puedes ver el post original aqui

WCF Ria Services V1.0 para Silverlight 4.- Introducción (Parte 1)

July 16th, 2010 1 comment

Este es el primero de varios post que estaré escribiendo referente al tema de WCF Ria Services v1.0 para Silvelight 4 Ria Services para Silverlight 3 (también abordare Ria Service para Silverlight 4 Beta). Si bien el tema ha sido abordado en muchas páginas y blogs, la mayoría de ellos están en inglés, así que aquí una propuesta en español. Además de que trataré de hacerlo de manera ordenada y sencilla de tal modo que sea entendible (o al menos en la forma en la que yo he ido aprendiendo sobre el tema).

Si bien, ya habia comenzado una Serie de post sobre WCF Ria Services, me he decidido a comenzar nuevamente con el tema por las siguientes razones:

  • El lanzamiento oficial de la versión RTM de Visual Studio 2010
  • El lanzamiento oficial de Silverlight 4
  • El lanzamiento oficial WCF Ria Services v1.0
  • Ademas de que durante este tiempo he estado trabajando muy de lleno en un sitio (razón por la cual dejé de lado la continuación de la serie antes mencionada), en donde mi experiencia ha sido enfocada a la tecnología de WCF Ria Services, por lo que los conocimiento adquiridos me han hecho ver el tema con diferentes ojos.

Y como podrán darse cuenta, creo conveniente recomenzar con el proyecto de aportar con mi granito de arena sobre el tema. Sin embargo, como lo que fuimos es lo que nos hacer ser lo que somos, tomaré mucha de la información y forma de lo que en la antigua serie trate de hacer.

Que es WCF Ria Services?

Ria Services es un framework que provee una serie de funcionalidades (dlls, templates, etc) que permiten acceder datos en una Aplicación Silverlight desde una Base de Datos. Esto es gracias a su implementación en modelo de capas (n-tier application), donde Ria Services trabaja en las capas intermedias ofreciendo control de acceso, cambios y operaciones definidas por el usuario, así como funciones de de validaciones, autentificación de usuarios y roles en las capas superiores.

Referencia: http://silverlight.net/riaservices/

Página WCF Ria Services, instaladores y recursos de aprendizaje

La principal página de WCF Ria Services la podemos encontrar en http://www.silverlight.net/riaservices. En donde podemos encontrar los instaladores. Así como una serie de recursos de aprendizaje (videos, documentos, blogs, etc).

Recursos para trabajar en Ria Services

Hacer notar WCF Ria Services ya está incluido en el instalador de las herramientas de Silverlight 4 para Visual Studio 2010 (Silverlight 4 Tools for Visual Studio 2010). Sin embargo en la página podemos encontrar el instalador standalone para la versión v1.0 de WCF Ria Services, así como el instalador para el paquete de herramientas de WCF Ria Services (WCF RIA Services Toolkit).

También podemos encontrar las siguientes páginas sobre el tema

Continuará…

Igual, si bien en este primero post no nos hemos adentrado (codificado) en la tecnología. No podemos dejar de lado la información contenida en este.

Para nuestro siguiente post si estaremos trabajando ya con código.

Saludos

*Puedes ver el post original aqui

WCF Ria Services V1.0

May 19th, 2010 16 comments

El lunes 17 de Mayo fue liberado, después de una larga espera, la primera versión completa de WCF Ria Services. Si bien, el producto ha estado en circulación con diferentes versiones beta, ya funcionales; es hasta esta semana que el equipo de desarrollo a liberado la versión final del producto en su version v1.0.

El evento de lanzamiento, al contrario de cuando se liberó Silverlight 4, fue un sencillo video auspiciado por Silverlight TV (que presenta John Papa) el cual puede ser visto o descargado en el url: http://channel9.msdn.com/shows/SilverlightTV/WCF-RIA-Services-v10-Launch-Silverlight-TV-28/

Que es WCF Ria Services

WCF Ria Services es un framework que provee una serie de funcionalidades (dlls, templates, etc) que permiten acceder datos en una Aplicación Silverlight desde una Base de Datos. Esto es gracias a su implementación en modelo de capas (n-tier application), donde Ria Services trabaja en las capas intermedias ofreciendo control de acceso, cambios y operaciones definidas por el usuario, así como funciones de de validaciones, autentificación de usuarios y roles en las capas superiores.

*Obtenido de http://www.jorgelevy.com/?p=47
Referencia: http://silverlight.net/riaservices/

Historia de la Tecnología

Desde sus versiones Beta, Beta2 y RC respectivamente. Los cambios entre versiones han sido mínimos en su estructura y estos han sido más bien de forma. A lo largo de este proceso de maduración de la tecnología, se ha enfrentado a cambios en su entorno, tanto en las diferentes versiones de Silverlight (3 y 4), como en Visual Studio (2008 y 2010).

Página WCF Ria Services, instaladores y recursos de aprendizaje

La principal página de Ria Services la podemos encontrar en http://www.silverlight.net/riaservices. En donde podemos encontrar el instalador para la versión 4 de Silverlight y para Visual Studio 210. Así como una serie de recursos de aprendizaje (videos, documentos, blogs, etc).

Recursos para trabajar en WCF Ria Services

Estos son los recursos que necesitamos para poder trabajar en Ria Services:

WCF Ria Services v1.0:

WCF RIA Services for Silverlight 4 and Visual Studio 2010
Visual Studio 2010 (inclusive la versión express)
Silverlight 4 Tools VS2010
Silverlight Toolkit Abril 2010 (Opcional)
WCF RIA Services Toolkit (Opcional)

Tutorial en español de la tecnológia

Aqui unos post introductorios al tema, que si bien fueron escritos para la versión Beta de WCF Ria Services, Silverlight 3 y Visual Studio 2008, la información contenida en ellos es todavía vigente. (actualizados con la información contenida en este post: página WCF Ria Services y Recursos para trabajar)

- Introducción (Parte 1)
- Obtener datos desde la BD (Parte 2)
- Silverlight3: WCF Ria Services.- Mostrar datos (Parte 3)

Continuación del tema

Durante los siguientes días (semanas), estaré agregando más post a este tutorial, así como preparando un par de webcast y screen cast, por lo que les recomiendo estén atentos a toda la información generada.

Saludos…

Usando el DataSet como fuente de datos en Servicios RIA

March 5th, 2010 No comments

En la parte 12 de su serie, Brad Abrams comenta que el uso del DataSet es todavía muy extendido en el mundo de .NET. Muchos sistemas en producción lo usan como fuente de datos. Además, siendo una tecnología probada y depurada, es probable que sea el único medio aprobado para acceso a datos en muchos centros de desarrollo.

Por eso, es evidente que hay razones por las que un desarrollador puede desear o necesitar proyectar información al cliente Silverlight desde una fuente de datos clásica de ADO.NET. Con el propósito de dar un punto de arranque a programadores en esas circunstancias, Brad demuestra una serie de cambios que pueden convertir la aplicación que ha venido desarrollando en su serie de artículos para que se base en un DataSet.

La demostración es breve y provee más que nada un andamio del cual se puede elaborar un concepto más complejo y realista. Pero al menos es un comienzo y es efectivo. Pueden leer el artículo entero para formar su propia opinión.

Sistemas empresariales con Silverlight 3 y servicios RIA en .NET – Parte 1: Apariencia Profesional

February 24th, 2010 No comments

Traducción aproximada del artículo “Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update: Part 1: Navigation Basics” en la serie “Business Apps Example for Silverlight 3RTM and .NET RIA Services” publicados en inglés por Brad Abrams en 2009.

 

Esta parte y las dos siguientes tratan material ya cubierto en otros excelentes artículos en este blog. Sin embargo, vale la pena darles una repasada en caso de que haya una que otra gema desconocida u olvidada.

Para empezar, Brad explica lo importante que es darle una apariencia profesional a aplicaciones comerciales pues, sea merecido o no, el usuario formará una opinión bastante duradera del programa basado en sus primeras impresiones y experiencias al usarlo.

La extensión de Servicios WCF RIA (conocidos anteriormente como Servicios RIA .NET) añade una plantilla para generar Aplicaciones de Negocios en Silverlight que incluye un diseño simple pero funcional como punto de partida. Con el uso de estilos se puede alterar significativamente la apariencia de la aplicación con poco o ningún impacto en el código XAML o subyacente.

Ir al artículo completo (este enlace te llevará un sitio de red externo).