Share via


Información general acerca de WCF Data Services

WCF Data Services permite la creación y la utilización de servicios de datos para web o para una intranet mediante Open Data Protocol (OData) . OData permite exponer datos como recursos direccionables a través de identificadores uniformes de recursos (URI). De esta forma, puede acceder y cambiar datos mediante el uso de la semántica de transferencia de estado de representación (REST), específicamente los verbos HTTP estándar de GET, PUT, POST y DELETE. En este tema se proporciona información general sobre los modelos y los procedimientos definidos por OData  y también las funciones proporcionadas por WCF Data Services  para aprovechar las ventajas de OData  en aplicaciones basadas en .NET Framework.

Direccionamiento de datos como recursos

OData expone los datos como recursos direccionables a través de identificadores uniformes de recursos (URI). Las rutas de acceso de los recursos se construyen según las convenciones del modelo entidad-relación de Entity Data Model. En este modelo, las entidades representan unidades operacionales de datos en un dominio de aplicación, como clientes, pedidos, elementos y productos. Para obtener más información, vea Entity Data Model.

En OData , los recursos de entidades se direccionan como conjunto de entidades que contiene instancias de tipos de entidad. Por ejemplo, el URI http://services.odata.org/Northwind/Northwind.svc/Customers('ALFKI')/Orders devuelve todos los pedidos del servicio de datos Northwind relacionados con el cliente con un valor CustomerID de ALFKI.

Las expresiones de consulta permiten realizar operaciones de consulta tradicionales en los recursos, como filtrarlos, ordenarlos y paginarlos. Por ejemplo, el URI http://services.odata.org/Northwind/Northwind.svc/Customers('ALFKI')/Orders?$filter=Freight gt 50 filtra los recursos para devolver solo los pedidos cuyo costo de flete sea mayor que 50 dólares. Para obtener más información, vea Acceso a recursos del servicio de datos (WCF. Data Services).

Interoperabilidad en el acceso a los datos

OData se basa en los protocolos estándar de Internet para lograr que los servicios de datos puedan interoperar con aplicaciones que no usan .NET Framework. Dado que es posible usar los URI estándar para direccionar los datos, una aplicación puede obtener acceso a los datos y modificarlos usando la semántica de la Transferencia de estado de representación (REST), específicamente los verbos HTTP estándar GET, PUT, POST y DELETE. Esto le permite tener acceso a estos servicios desde cualquier cliente que pueda analizar y tener acceso a los datos que se transmiten mediante los protocolos HTTP estándar. 

OData  define un conjunto de extensiones del protocolo de publicación Atom (AtomPub). Es compatible con solicitudes y respuestas HTTP en más de un formato de datos para albergar distintas aplicaciones y plataformas cliente. Una fuente OData puede representar los datos en formato Atom, JavaScript Object Notation (JSON) y como XML sin formato. Aunque Atom es el formato predeterminado, el formato de la fuente se especifica en el encabezado de la solicitud HTTP. Para obtener más información, vea OData: formato Atom y OData: formato JSON.

Cuando se publican los datos como fuente de OData , WCF Data Services se basa en otros servicios de Internet existentes para operaciones como el almacenamiento en memoria caché y la autenticación. Para ello, WCF Data Services se integra con los servicios y aplicaciones de hospedaje existentes, como ASP.NET, Windows Communication Foundation (WCF) e Internet Information Services (IIS). 

Independencia de almacenamiento

Aunque los recursos se direccionan basándose en un modelo entidad-relación, WCF Data Services expone fuentes de OData sin tener en cuenta el origen de datos subyacente. Después de que WCF Data Services  acepte una solicitud HTTP para un recurso identificado mediante un URI, se deserializa la solicitud y se pasa una representación de la misma a un proveedor de WCF Data Services . Este proveedor traduce la solicitud en un formato específico del origen de datos y la ejecuta en el origen de datos subyacente. WCF Data Services logra la independencia de almacenamiento separando el modelo conceptual que direcciona los recursos indicados por OData  del esquema específico del origen de datos subyacente.

WCF Data Services se integra con ADO.NET Entity Framework para que puedan crearse servicios de datos que exponen datos relacionales. Puede usar las herramientas de Entity Data Model para crear un modelo de datos que contiene recursos direccionables como entidades y al mismo tiempo definir la asignación entre este modelo y las tablas de la base de datos subyacente. Para obtener más información, vea Proveedor de Entity Framework (WCF Data Services)

WCF Data Services también le permite crear servicios de datos que exponen cualquier estructura de datos que devuelva una implementación de la interfaz IQueryable. Esto le permite crear servicios de datos que exponen los datos procedentes de tipos de .NET Framework. Si también se implementa la interfaz IUpdatable, se admiten las operaciones de creación, actualización y eliminación. Para obtener más información, vea Proveedor de reflexión (WCF Data Services).

Para obtener una ilustración de cómo se integra WCF Data Services con estos proveedores de datos, vea el diagrama arquitectónico que se muestra más adelante en este tema.

Lógica de negocios personalizada

WCF Data Services hace más fácil agregar la lógica de negocios personalizada a un servicio de datos a través de operaciones de servicio e interceptores. Las operaciones de servicio son métodos definidos en el servidor direccionables a través de URI con el mismo formato que los recursos de datos. Las operaciones de servicio también pueden usar la sintaxis de las expresiones de consulta para filtrar, ordenar y paginar los datos devueltos por una operación. Por ejemplo, el URI https://localhost:12345/Northwind.svc/GetOrdersByCity?city='London'&$orderby=OrderDate&$top=10&$skip=10 representa una llamada a una operación de servicio denominada GetOrdersByCity en el servicio de datos de Northwind que devuelve los pedidos para los clientes residentes en Londres, con los resultados paginados ordenados por OrderDate. Para obtener más información, vea Operaciones de servicio (WCF Data Services).

Los interceptores permiten integrar la lógica de la aplicación personalizada en el procesamiento de los mensajes de solicitud o respuesta de un servicio de datos. Se llama a los interceptores cuando se produce una acción de consulta, inserción, actualización o eliminación en el conjunto de entidades especificado. Después, un interceptor puede modificar los datos, aplicar la directiva de autorización o incluso terminar la operación. Los métodos de interceptor se deben registrar explícitamente para un conjunto de entidades determinado expuesto por un servicio de datos. Para obtener más información, vea Interceptores (WCF Data Services).

Bibliotecas de cliente

OData define un conjunto de modelos uniformes para interactuar con los servicios de datos. Esto proporciona una oportunidad de crear componentes reutilizables que se basen en estos servicios, como las bibliotecas del lado cliente que permiten usar servicios de datos más fácilmente.

WCF Data Services incluye bibliotecas de cliente para aplicaciones cliente basadas en .NET Framework o en Silverlight. Estas bibliotecas de cliente le permiten interactuar con los servicios de datos mediante objetos de .NET Framework. También admiten consultas basadas en objetos y consultas LINQ, carga de objetos relacionados, seguimiento de cambios y resolución de identidades. Para obtener más información, vea Biblioteca de cliente de WCF Data Services.

Además de las bibliotecas de cliente de OData incluidas con .NET Framework y con Silverlight, hay otras bibliotecas de cliente que le permiten usar una fuente de OData en aplicaciones cliente, como PHP, AJAX y las aplicaciones Java. Para obtener más información, vea el SDK de OData.

Información general de la arquitectura

En el siguiente diagrama se muestra la arquitectura de WCF Data Services para exponer fuentes de OData y utilizarlas en bibliotecas de cliente habilitadas para OData :

Diagrama de arquitectura de WCF Data Services

Vea también

Conceptos

WCF Data Services
Introducción a WCF Data Services

Otros recursos

Definir WCF Data Services
Accessing a Data Service (WCF Data Services)
Biblioteca de cliente de WCF Data Services
Transferencia de estado de representación (REST, Representational State Transfer)