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

524 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. ADO.NET Data Services<br />Pablo Mariano Cibraro<br />Connected System MVP<br />Arquitecto Senior – Tellago Inc<br />http://weblogs.asp.net/cibrax<br />
  2. 2. Agenda<br />Introduccion a ADO.NET Data Services<br />Exponiendodiferentesfuentes de datos<br />Linq to SQL, Linq to Entities u otras<br />Construyendoaplicacionesclientes<br />Algunostemasmasavanzados<br />Intercepcion<br />Service Operations<br />
  3. 3. Servicios de datos<br />DLL + XAML<br />HTML + Javascript<br />Datos (XML, etc)<br />Datos (XML, etc)<br />Datos (XML, etc)<br />Silverlight<br />AJAX<br />Servicios Online<br />
  4. 4. Servicios de datos<br />Montadosobre WCF 3.5<br />Brindanuevafuncionalidad<br />ABMC de datossobreserviciosRESTful<br />Syntaxis de consultassobre URIs<br />Libreriasclientespara .NET y Silverlight<br />
  5. 5. ServiciosRESTful<br />Recursos<br />HTTP Request<br />Rec1<br />URL<br />GET<br />Rec2<br />Verbos<br />POST<br />Datos<br />PUT<br />Rec3<br />XML<br />JSON<br />XML<br />JSON<br />DELETE<br />Rec4<br />HTTP Response<br />Estado<br />Datos<br />
  6. 6. ServiciosRESTful<br />Representational State Transfer<br />Recursosidentificadosporuna URI<br />Accesosobre Http con verbos<br />GETparaconsulta de un recurso<br />POSTparacrear un recursonuevo<br />PUTparaactualizar un recursoexistente<br />DELETEparaborrar un recurso<br />Datosretornados en forma plana – XML o JSON<br />Es esto la “muerte de SOAP” ?<br />
  7. 7. Datos, queclase de datos ?<br />Unaclase de .NET queexponepropiedadespublicasque son IQueryable&lt;T&gt; <br />Algunasreglas de comoTdebe ser formada<br />El extension method AsQueryable()puede ser aplicado a muchasclases<br />Si la clasetambienimplementaIUpdatablepuede ser modificada<br />Funcionabien con el codigogeneradopor<br />Entity Framework (Object Context)<br />Linq to SQL (Data Context)<br />
  8. 8. Ejemplo de Linq<br />Varclientes = from c in context.Clientes<br />where c.Nombre = “pablo”<br /> select c<br />
  9. 9. Exponiendodatos con ADO.NET Data services<br />demo <br />
  10. 10. Entity Framework<br />ADO.NET API<br />ORM API<br />Entity Provider<br />Modelo Conceptual<br />Mapeo<br />Model Fisico<br />SQL Provider<br />Oracle Provider<br />...<br />
  11. 11. Exponiendo EF entities con ADO.NET Data Services<br />demo <br />
  12. 12. Consultando con ADO.NET Data services<br />Mecanismosoportadosobre URIs<br />http://servicio.svc/Clientes<br />Soporta la nocion de navegarpor clave primaria<br />Clientes(Id=1)<br />Soportadiferentesoperandos<br />$orderby, $top, $skip, $expand, $value, $filter <br />
  13. 13. Operandospara $filter<br />
  14. 14. Consultandodatos con URIs<br />demo <br />
  15. 15. Construyendoclientes<br />Los serviciosofrecen metadata<br />Servicio.svc/$metadata<br />Aplicacionesclientes .NET puedenutilizar un tool parageneracion de codigo<br />Datasvcutil.exe<br />Clientes AJAX y PHP a traves de libreriasdisponibles<br />
  16. 16. Construyendounacliente .NET<br />demo <br />
  17. 17. Intercepcion y Operaciones<br />Es posibleinyectarcodigo de intercepcion<br />Para consultas, podemosutilizar<br />Query Interceptors<br />Para modificacionespodesutilizar<br />Change Interceptors<br />Para exponerfuncionalidad extra<br />Service Operations<br />
  18. 18. Intercepcion y Operaciones<br />demo <br />
  19. 19. Pablo Mariano Cibraro<br />Connected System MVP<br />Tellago Inc<br />http://weblogs.asp.net/cibrax<br />

×