View
381
Download
1
Tags:
Embed Size (px)
DESCRIPTION
[Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)
Citation preview
ADO.NET Data Services
Pablo Mariano CibraroConnected System MVPArquitecto Senior – Tellago Inchttp://weblogs.asp.net/cibrax
Agenda
Introduccion a ADO.NET Data ServicesExponiendo diferentes fuentes de datos
Linq to SQL, Linq to Entities u otrasConstruyendo aplicaciones clientesAlgunos temas mas avanzados
IntercepcionService Operations
Servicios de datos
HTML + Javascript
Datos (XML, etc)
DLL + XAML
Datos (XML, etc) Datos (XML, etc)
AJAX Silverlight Servicios Online
Servicios de datos
Montado sobre WCF 3.5Brinda nueva funcionalidad
ABMC de datos sobre servicios RESTfulSyntaxis de consultas sobre URIsLibrerias clientes para .NET y Silverlight
Servicios RESTful
Recursos
Rec 1
Rec 2
Rec 3
Rec 4
HTTP RequestURL
VerbosDatos
HTTP Response
Estado
GETPOSTPUT
DELETEXML JSON
Datos
XML JSON
Servicios RESTful
Representational State TransferRecursos identificados por una URIAcceso sobre Http con verbos
GET para consulta de un recursoPOST para crear un recurso nuevoPUT para actualizar un recurso existenteDELETE para borrar un recurso
Datos retornados en forma plana – XML o JSON
Es esto la “muerte de SOAP” ?
Datos, que clase de datos ?
Una clase de .NET que expone propiedades publicas que son IQueryable<T>
Algunas reglas de como T debe ser formadaEl extension method AsQueryable() puede ser aplicado a muchas clases
Si la clase tambien implementa IUpdatable puede ser modificadaFunciona bien con el codigo generado por
Entity Framework (Object Context)Linq to SQL (Data Context)
Ejemplo de Linq
Var clientes = from c in context.Clienteswhere c.Nombre = “pablo”select c
Exponiendo datos con ADO.NET Data services
demo
Entity Framework
SQL Provider Oracle Provider ...
Entity Provider
Modelo Conceptual
Model Fisico
Mapeo
ADO.NET API ORM API
Exponiendo EF entities con ADO.NET Data Services
demo
Consultando con ADO.NET Data services
Mecanismo soportado sobre URIshttp://servicio.svc/Clientes
Soporta la nocion de navegar por clave primaria
Clientes(Id=1)Soporta diferentes operandos
$orderby, $top, $skip, $expand, $value, $filter
Operandos para $filter
Logic
eqnegtgteqltlteqandornot
Arithmetic
addsubmuldivmodroundfloorceiling
String
containsendswithstartswithlengthindexofinsertremove x 2replacesubstringtolowertouppertrimconcat
Date/Time
secondhourminutedaymonthyear
Type
isofcast
Consultando datos con URIs
demo
Construyendo clientes
Los servicios ofrecen metadataServicio.svc/$metadata
Aplicaciones clientes .NET pueden utilizar un tool para generacion de codigo
Datasvcutil.exeClientes AJAX y PHP a traves de librerias disponibles
Construyendo una cliente .NET
demo
Intercepcion y Operaciones
Es posible inyectar codigo de intercepcionPara consultas, podemos utilizar
Query InterceptorsPara modificaciones podes utilizar
Change InterceptorsPara exponer funcionalidad extra
Service Operations
Intercepcion y Operaciones
demo
Pablo Mariano CibraroConnected System MVPTellago Inchttp://weblogs.asp.net/
cibrax