[code camp 2009] introducción a ado.net data services (pablo cibraro)

19
ADO.NET Data Services Pablo Mariano Cibraro Connected System MVP Arquitecto Senior – Tellago Inc http://weblogs.asp.net/cibrax

Upload: microsoft-argentina-y-uruguay-official-space

Post on 28-May-2015

381 views

Category:

Technology


1 download

DESCRIPTION

[Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

TRANSCRIPT

Page 1: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

ADO.NET Data Services

Pablo Mariano CibraroConnected System MVPArquitecto Senior – Tellago Inchttp://weblogs.asp.net/cibrax

Page 2: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

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

Page 3: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

Servicios de datos

HTML + Javascript

Datos (XML, etc)

DLL + XAML

Datos (XML, etc) Datos (XML, etc)

AJAX Silverlight Servicios Online

Page 4: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

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

Page 5: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

Servicios RESTful

Recursos

Rec 1

Rec 2

Rec 3

Rec 4

HTTP RequestURL

VerbosDatos

HTTP Response

Estado

GETPOSTPUT

DELETEXML JSON

Datos

XML JSON

Page 6: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

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” ?

Page 7: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

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)

Page 8: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

Ejemplo de Linq

Var clientes = from c in context.Clienteswhere c.Nombre = “pablo”select c

Page 9: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

Exponiendo datos con ADO.NET Data services

demo

Page 10: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

Entity Framework

SQL Provider Oracle Provider ...

Entity Provider

Modelo Conceptual

Model Fisico

Mapeo

ADO.NET API ORM API

Page 11: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

Exponiendo EF entities con ADO.NET Data Services

demo

Page 12: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

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

Page 13: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

Operandos para $filter

Logic

eqnegtgteqltlteqandornot

Arithmetic

addsubmuldivmodroundfloorceiling

String

containsendswithstartswithlengthindexofinsertremove x 2replacesubstringtolowertouppertrimconcat

Date/Time

secondhourminutedaymonthyear

Type

isofcast

Page 14: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

Consultando datos con URIs

demo

Page 15: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

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

Page 16: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

Construyendo una cliente .NET

demo

Page 17: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

Intercepcion y Operaciones

Es posible inyectar codigo de intercepcionPara consultas, podemos utilizar

Query InterceptorsPara modificaciones podes utilizar

Change InterceptorsPara exponer funcionalidad extra

Service Operations

Page 18: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

Intercepcion y Operaciones

demo

Page 19: [Code Camp 2009] Introducción a ADO.NET Data Services (Pablo Cibraro)

Pablo Mariano CibraroConnected System MVPTellago Inchttp://weblogs.asp.net/

cibrax