SlideShare una empresa de Scribd logo
1 de 26
34ª Reunião Lisboa - 08/12/2012       http://netponto.org




                  OData – A Super Cola W3!
                         Jorge Gonçalves & Manuel Costa
Jorge Gonçalves
Formador responsável .NET na Rumos SA
Fundador da Consultora SimpleFactor
Administrador de Sistemas na DGITA
Analista Programador (Altitude Software, BES, BCP, ...)

Manuel Costa
Consultor .NET na PT Sistemas de Informação S.A.
na área do Portal Web de Vendas da PT.
Co-fundador da Factor Digital Informática em
2000, onde desenvolveu sobre plataformas web
para a Microsoft, a TMN, a Priberam, os Hotéis
Dom Pedro, a Nestlé… Sempre em .NET
Agenda: OData – The Web “Glue”!
• The What’s and Why’s

• CRUD: “REST in peace”

• Writing OData Services With .NET

• OData Clients
What is OData
• “The Open Data Protocol (OData) is a Web protocol for
  querying and updating data that provides a way to unlock
  your data and free it from silos that exist in applications
  today.”                                      www.odata.org

• “OData does this by applying and building upon Web
  technologies such as HTTP, Atom Publishing
  Protocol (AtomPub) and JSON to provide access to
  information from a variety of applications, services, and
  stores.”                                   www.odata.org
Why use the Open Data Protocol?
• “Provides a uniform way to expose,
  structure, query and manipulate data using
  REST practices and JSON or ATOM syntax to
  describe the payload. OData also provides a
  uniform way to represent metadata about
  the data, allowing computers to know more
  about the type system, relationships and
  structure of the data.”
                             www.odata.org
www.odata.org
OData - REST “in Peace”
• URI Conventions
  http://services.odata.org/OData/OData.svc/$metadata




• System Query Options
  http://services.odata.org/OData/OData.svc/Products
  ?$skip=2&$top=2&$orderby=Rating&$filter=Price le 200 and Price gt 3.5
  &$select=Price,Name
  &$inlinecount=allpages
  &$format=json
  http://services.odata.org/OData/OData.svc/GetProductsByRating?rating=5
URI Conventions using
     IE 10 + Chrome
     LinkPad
     Fiddler
Writing OData Services using .NET
• Web Application / Web Site
  – Add New Item -> WCF Data Service...
• Create Class derived from DataService
  – Reflection Provider
  – Entity Framework Provider
• Configure Entitity/Operation access
• Add custom operations
• Interceptors
Writing OData Service using .net
     - IQueryable
     - EF (Northwind DB)
OData Clients: .Net

• Project -> Add Service Reference...

• Security / Authentication [1]
Consuming OData Service using .net
OData Clients: Javascript
• Javascript
   – JSON
      • V3: Accept: application/json;odata=verbose
• DataJS
• JayData
• KendoUI

• XSS Issues (JSONP Support!)
Consumint OData Service using
Javascript
OData Clients: Excel
OData Clients: LightSwitch
Useful Tools
• Fiddler
  http://www.fiddler2.com/fiddler2/
• Tcptrace
  http://www.pocketsoap.com/tcptrace/
• LinqPad
  www.linqpad.net
www.odata.org
Questões?
Referências
• Open Data Protocol (What’s and Why’s)
   – http://www.odata.org
• OData - REST “in Peace”
   – http://www.odata.org/documentation/uri-conventions
   – http://www.linqpad.net
   – http://www.fiddler2.com
• Writing/Consuming OData Services
   – MSDN “Open Data Protocol by Example”
       • http://msdn.microsoft.com/en-us/library/ff478141.aspx
   – CodeProject “OData Services”
       • http://www.codeproject.com/Articles/393623/OData-Services
   – Authenticating with ADO.NET Data Services
       • http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/05/27/10447.aspx
Patrocinador “GOLD”




Twitter: @PTMicrosoft http://www.microsoft.com/portugal
Patrocinadores “Silver”
Patrocinadores “Bronze”
Questões?
Próximas reuniões presenciais
• 08/12/2012 – Dezembro (Lisboa)
• 26/01/2013 – Janeiro (Lisboa)
  23/02/2013 – Fevereiro (Lisboa)
  16/03/2013 – Março (Lisboa)

 Reserva estes dias na agenda! :)
Obrigado!
jorge.goncalves@rumos.pt



manuelc@factordigital.com

Más contenido relacionado

La actualidad más candente

01 nosql and multi model database
01   nosql and multi model database01   nosql and multi model database
01 nosql and multi model databaseMahdi Atawneh
 
«NoSQL Databases and Polyglot Persistence»
«NoSQL Databases and Polyglot Persistence»«NoSQL Databases and Polyglot Persistence»
«NoSQL Databases and Polyglot Persistence»Olga Lavrentieva
 
MongoDB and Web Scrapping with the Gyes Platform
MongoDB and Web Scrapping with the Gyes PlatformMongoDB and Web Scrapping with the Gyes Platform
MongoDB and Web Scrapping with the Gyes PlatformMongoDB
 
FITC presents: Mobile & offline data synchronization in Angular JS
FITC presents: Mobile & offline data synchronization in Angular JSFITC presents: Mobile & offline data synchronization in Angular JS
FITC presents: Mobile & offline data synchronization in Angular JSFITC
 

La actualidad más candente (9)

18.xml
18.xml18.xml
18.xml
 
01 nosql and multi model database
01   nosql and multi model database01   nosql and multi model database
01 nosql and multi model database
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
«NoSQL Databases and Polyglot Persistence»
«NoSQL Databases and Polyglot Persistence»«NoSQL Databases and Polyglot Persistence»
«NoSQL Databases and Polyglot Persistence»
 
MongoDB and Web Scrapping with the Gyes Platform
MongoDB and Web Scrapping with the Gyes PlatformMongoDB and Web Scrapping with the Gyes Platform
MongoDB and Web Scrapping with the Gyes Platform
 
Multi model-databases
Multi model-databasesMulti model-databases
Multi model-databases
 
Mongo bbmw
Mongo bbmwMongo bbmw
Mongo bbmw
 
FITC presents: Mobile & offline data synchronization in Angular JS
FITC presents: Mobile & offline data synchronization in Angular JSFITC presents: Mobile & offline data synchronization in Angular JS
FITC presents: Mobile & offline data synchronization in Angular JS
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 

Destacado

Desenvolvimento de Jogos em XNA para Windows Phone 7
Desenvolvimento de Jogos em XNA para Windows Phone 7Desenvolvimento de Jogos em XNA para Windows Phone 7
Desenvolvimento de Jogos em XNA para Windows Phone 7Comunidade NetPonto
 
PowerShell: (Don't Fear) The Console - Bruno Lopes
PowerShell: (Don't Fear) The Console - Bruno LopesPowerShell: (Don't Fear) The Console - Bruno Lopes
PowerShell: (Don't Fear) The Console - Bruno LopesComunidade NetPonto
 
Novidades Azure (Após o //BUILD)
Novidades Azure (Após o //BUILD)Novidades Azure (Após o //BUILD)
Novidades Azure (Após o //BUILD)Comunidade NetPonto
 
Arquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows AzureArquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows AzureComunidade NetPonto
 

Destacado (7)

Desenvolvimento de Jogos em XNA para Windows Phone 7
Desenvolvimento de Jogos em XNA para Windows Phone 7Desenvolvimento de Jogos em XNA para Windows Phone 7
Desenvolvimento de Jogos em XNA para Windows Phone 7
 
PowerShell: (Don't Fear) The Console - Bruno Lopes
PowerShell: (Don't Fear) The Console - Bruno LopesPowerShell: (Don't Fear) The Console - Bruno Lopes
PowerShell: (Don't Fear) The Console - Bruno Lopes
 
Novidades Azure (Após o //BUILD)
Novidades Azure (Após o //BUILD)Novidades Azure (Após o //BUILD)
Novidades Azure (Após o //BUILD)
 
Windows Azure para Developers
Windows Azure para DevelopersWindows Azure para Developers
Windows Azure para Developers
 
Arquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows AzureArquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows Azure
 
Know your SQL Server - DMVs
Know your SQL Server - DMVsKnow your SQL Server - DMVs
Know your SQL Server - DMVs
 
Introdução ao Lucene.net
Introdução ao Lucene.netIntrodução ao Lucene.net
Introdução ao Lucene.net
 

Similar a OData – Super Cola W3

Building RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPIBuilding RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPIGert Drapers
 
OData for iOS developers
OData for iOS developersOData for iOS developers
OData for iOS developersGlen Gordon
 
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...Eric D. Boyd
 
Data Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshData Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshJeffrey T. Pollock
 
OData Across Boundaries
OData Across BoundariesOData Across Boundaries
OData Across BoundariesSam Basu
 
Building RESTful Applications with OData
Building RESTful Applications with ODataBuilding RESTful Applications with OData
Building RESTful Applications with ODataTodd Anglin
 
Alex Wade, Digital Library Interoperability
Alex Wade, Digital Library InteroperabilityAlex Wade, Digital Library Interoperability
Alex Wade, Digital Library Interoperabilityparker01
 
Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)David McCarter
 
OData and SharePoint
OData and SharePointOData and SharePoint
OData and SharePointSanjay Patel
 
Mobility & Data Strategies
Mobility & Data StrategiesMobility & Data Strategies
Mobility & Data StrategiesSam Basu
 
Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)David McCarter
 
Iasi code camp 20 april 2013 gabriel enea - designing o-data services with ...
Iasi code camp 20 april 2013   gabriel enea - designing o-data services with ...Iasi code camp 20 april 2013   gabriel enea - designing o-data services with ...
Iasi code camp 20 april 2013 gabriel enea - designing o-data services with ...Codecamp Romania
 
Warsaw muleSoft meetup #11 MuleSoft OData
Warsaw muleSoft meetup #11 MuleSoft ODataWarsaw muleSoft meetup #11 MuleSoft OData
Warsaw muleSoft meetup #11 MuleSoft ODataPatryk Bandurski
 

Similar a OData – Super Cola W3 (20)

Building RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPIBuilding RESTfull Data Services with WebAPI
Building RESTfull Data Services with WebAPI
 
OData for iOS developers
OData for iOS developersOData for iOS developers
OData for iOS developers
 
Data asservice
Data asserviceData asservice
Data asservice
 
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
Consuming Data From Many Platforms: The Benefits of OData - St. Louis Day of ...
 
Odata
OdataOdata
Odata
 
Odata
OdataOdata
Odata
 
Data Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshData Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to Mesh
 
OData Across Boundaries
OData Across BoundariesOData Across Boundaries
OData Across Boundaries
 
Building RESTful Applications with OData
Building RESTful Applications with ODataBuilding RESTful Applications with OData
Building RESTful Applications with OData
 
Alex Wade, Digital Library Interoperability
Alex Wade, Digital Library InteroperabilityAlex Wade, Digital Library Interoperability
Alex Wade, Digital Library Interoperability
 
Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)
 
OData Services
OData ServicesOData Services
OData Services
 
Mulesoft Meetup Milano #11.pdf
Mulesoft Meetup Milano #11.pdfMulesoft Meetup Milano #11.pdf
Mulesoft Meetup Milano #11.pdf
 
OData and SharePoint
OData and SharePointOData and SharePoint
OData and SharePoint
 
Breaking down data silos with OData
Breaking down data silos with ODataBreaking down data silos with OData
Breaking down data silos with OData
 
Real-Time Web Applications with ASP.NET WebAPI and SignalR
Real-Time Web Applications with ASP.NET WebAPI and SignalRReal-Time Web Applications with ASP.NET WebAPI and SignalR
Real-Time Web Applications with ASP.NET WebAPI and SignalR
 
Mobility & Data Strategies
Mobility & Data StrategiesMobility & Data Strategies
Mobility & Data Strategies
 
Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)
 
Iasi code camp 20 april 2013 gabriel enea - designing o-data services with ...
Iasi code camp 20 april 2013   gabriel enea - designing o-data services with ...Iasi code camp 20 april 2013   gabriel enea - designing o-data services with ...
Iasi code camp 20 april 2013 gabriel enea - designing o-data services with ...
 
Warsaw muleSoft meetup #11 MuleSoft OData
Warsaw muleSoft meetup #11 MuleSoft ODataWarsaw muleSoft meetup #11 MuleSoft OData
Warsaw muleSoft meetup #11 MuleSoft OData
 

Más de Comunidade NetPonto

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Comunidade NetPonto
 
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Comunidade NetPonto
 
MVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaMVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaComunidade NetPonto
 
Deep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaDeep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaComunidade NetPonto
 
The power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloThe power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloComunidade NetPonto
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazComunidade NetPonto
 
De Zero a Produção - João Jesus
De Zero a Produção - João JesusDe Zero a Produção - João Jesus
De Zero a Produção - João JesusComunidade NetPonto
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComunidade NetPonto
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsComunidade NetPonto
 
Aspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpAspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpComunidade NetPonto
 
Utilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosUtilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosComunidade NetPonto
 
Dinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoDinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoComunidade NetPonto
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realComunidade NetPonto
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComunidade NetPonto
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteComunidade NetPonto
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIComunidade NetPonto
 
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Comunidade NetPonto
 

Más de Comunidade NetPonto (20)

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
 
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
 
MVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaMVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara Silva
 
Deep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaDeep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo Costa
 
The power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloThe power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno Cancelo
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
ASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco GodoiASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco Godoi
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor Tomaz
 
HTML5 - Pedro Rosa
HTML5 - Pedro RosaHTML5 - Pedro Rosa
HTML5 - Pedro Rosa
 
De Zero a Produção - João Jesus
De Zero a Produção - João JesusDe Zero a Produção - João Jesus
De Zero a Produção - João Jesus
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store Apps
 
Aspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpAspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharp
 
Utilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosUtilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes Unitários
 
Dinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoDinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de Projecto
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida real
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noite
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
 

Último

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Último (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

OData – Super Cola W3

  • 1. 34ª Reunião Lisboa - 08/12/2012 http://netponto.org OData – A Super Cola W3! Jorge Gonçalves & Manuel Costa
  • 2. Jorge Gonçalves Formador responsável .NET na Rumos SA Fundador da Consultora SimpleFactor Administrador de Sistemas na DGITA Analista Programador (Altitude Software, BES, BCP, ...) Manuel Costa Consultor .NET na PT Sistemas de Informação S.A. na área do Portal Web de Vendas da PT. Co-fundador da Factor Digital Informática em 2000, onde desenvolveu sobre plataformas web para a Microsoft, a TMN, a Priberam, os Hotéis Dom Pedro, a Nestlé… Sempre em .NET
  • 3. Agenda: OData – The Web “Glue”! • The What’s and Why’s • CRUD: “REST in peace” • Writing OData Services With .NET • OData Clients
  • 4. What is OData • “The Open Data Protocol (OData) is a Web protocol for querying and updating data that provides a way to unlock your data and free it from silos that exist in applications today.” www.odata.org • “OData does this by applying and building upon Web technologies such as HTTP, Atom Publishing Protocol (AtomPub) and JSON to provide access to information from a variety of applications, services, and stores.” www.odata.org
  • 5. Why use the Open Data Protocol? • “Provides a uniform way to expose, structure, query and manipulate data using REST practices and JSON or ATOM syntax to describe the payload. OData also provides a uniform way to represent metadata about the data, allowing computers to know more about the type system, relationships and structure of the data.” www.odata.org
  • 7. OData - REST “in Peace” • URI Conventions http://services.odata.org/OData/OData.svc/$metadata • System Query Options http://services.odata.org/OData/OData.svc/Products ?$skip=2&$top=2&$orderby=Rating&$filter=Price le 200 and Price gt 3.5 &$select=Price,Name &$inlinecount=allpages &$format=json http://services.odata.org/OData/OData.svc/GetProductsByRating?rating=5
  • 8. URI Conventions using IE 10 + Chrome LinkPad Fiddler
  • 9. Writing OData Services using .NET • Web Application / Web Site – Add New Item -> WCF Data Service... • Create Class derived from DataService – Reflection Provider – Entity Framework Provider • Configure Entitity/Operation access • Add custom operations • Interceptors
  • 10. Writing OData Service using .net - IQueryable - EF (Northwind DB)
  • 11. OData Clients: .Net • Project -> Add Service Reference... • Security / Authentication [1]
  • 13. OData Clients: Javascript • Javascript – JSON • V3: Accept: application/json;odata=verbose • DataJS • JayData • KendoUI • XSS Issues (JSONP Support!)
  • 14. Consumint OData Service using Javascript
  • 17. Useful Tools • Fiddler http://www.fiddler2.com/fiddler2/ • Tcptrace http://www.pocketsoap.com/tcptrace/ • LinqPad www.linqpad.net
  • 20. Referências • Open Data Protocol (What’s and Why’s) – http://www.odata.org • OData - REST “in Peace” – http://www.odata.org/documentation/uri-conventions – http://www.linqpad.net – http://www.fiddler2.com • Writing/Consuming OData Services – MSDN “Open Data Protocol by Example” • http://msdn.microsoft.com/en-us/library/ff478141.aspx – CodeProject “OData Services” • http://www.codeproject.com/Articles/393623/OData-Services – Authenticating with ADO.NET Data Services • http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/05/27/10447.aspx
  • 21. Patrocinador “GOLD” Twitter: @PTMicrosoft http://www.microsoft.com/portugal
  • 25. Próximas reuniões presenciais • 08/12/2012 – Dezembro (Lisboa) • 26/01/2013 – Janeiro (Lisboa) 23/02/2013 – Fevereiro (Lisboa) 16/03/2013 – Março (Lisboa) Reserva estes dias na agenda! :)

Notas del editor

  1. http://www.odata.org/introduction
  2. http://www.odata.org/introduction
  3. http://www.odata.org/documentation/uri-conventionsArticle: Open Data Protocol by Examplehttp://msdn.microsoft.com/en-us/library/ff478141.aspx
  4. http://services.odata.org/Northwind/Northwind.svc/@ http://www.odata.org/ecosystem#sampleservices
  5. http://www.odata.org/developers/articleshttp://www.linqpad.net/
  6. Examples:http://msdn.microsoft.com/en-us/library/ff478141.aspxhttp://www.codeproject.com/Articles/393623/OData-Services#ImplementInstalling the Northwind Sample Databasehttp://msdn.microsoft.com/en-us/library/vstudio/ff851969.aspxNorthwind database that can be downloaded as an executable sql script ( 285 Kb only ) or as a backup that can be restored with sample data currently works with Sql Server 2005 and Sql Server 2008http://northwinddatabase.codeplex.com/
  7. http://www.odata.org/developers/articleshttp://www.codeproject.com/Articles/393623/OData-Serviceshttp://blogs.msdn.com/b/alexj/archive/2012/08/15/odata-support-in-asp-net-web-api.aspx[1]Authenticating with ADO.NET Data Serviceshttp://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/05/27/10447.aspx
  8. Examples:http://msdn.microsoft.com/en-us/library/ff478141.aspxhttp://www.codeproject.com/Articles/393623/OData-Services#ImplementInstalling the Northwind Sample Databasehttp://msdn.microsoft.com/en-us/library/vstudio/ff851969.aspxNorthwind database that can be downloaded as an executable sql script ( 285 Kb only ) or as a backup that can be restored with sample data currently works with Sql Server 2005 and Sql Server 2008http://northwinddatabase.codeplex.com/
  9. [JSONPSupportBehavior]JSONP and URL-controlled format support for ADO.NET Data Services http://archive.msdn.microsoft.com/DataServicesJSONPCreate and Consume JSON-Formatted Odatahttp://msdn.microsoft.com/en-us/magazine/jj190799.aspxBREAKING CHANGE: V3: Accept: application/json;odata=verbose
  10. http://www.odata.org/developers/articleshttp://www.codeproject.com/Articles/393623/OData-Serviceshttp://blogs.msdn.com/b/alexj/archive/2012/08/15/odata-support-in-asp-net-web-api.aspx
  11. http://www.odata.org/developers/articleshttp://www.codeproject.com/Articles/393623/OData-Serviceshttp://blogs.msdn.com/b/alexj/archive/2012/08/15/odata-support-in-asp-net-web-api.aspx