SlideShare a Scribd company logo
1 of 23
Connecting to Data from
Windows Phone 8
Chris Woodruff
Director, Perficient
Level: Intermediate to Advanced
Who I am?
Chris Woodruff
MVP, Visual C#
Director at Perficient
Co-host of Deep Fried Bytes Podcast
@cwoodruff / cwoodruff@live.com / Skype: cwoodruff
You will learn:
•

Understand the benefits of using REST
web services for your mobile apps

•

Have an understanding to develop
solutions against OData that will give
better experiences for your users

•

How to shape your data queries to give
the best performance for your mobile apps

•

A glimpse into using Windows Azure
Mobile Services to also get to your data in
the cloud.
LETS TAKE A REST
What is REST?
•

REST is an architectural style for
distributed hypermedia systems

•

REpresentational State Transfer

•

The term originated in 2000 by Roy
Fielding for his PhD thesis

•

REST states that the existing protocols
and principles of the web are enough to
create robust Web Services – no SOAP
is needed
What does REST consist of?
REST is a very simple architecture:
• Application state and functionality is
divided into resources.
• Every resource is uniquely addressable
using a universal syntax for hypermedia
links
• All resources share a uniform interface for
the transfer of state between a client and a
resource
What does REST consist of?
Characteristics of REST
•
Client–server
•
Stateless
•
Cacheable
•
•
•

•

Uniform Interface
Named Resources
Interconnected
Resource
Representations
Layered System

Operations of REST
•
GET
•
POST
•
PUT
•

DELETE
Example of REST
Query a Resource
http://www.parts-depot.com/parts/getPart?id=00345

http://www.parts-depot.com/parts/00345

http://restbucks.com/PlaceOrder?coffee={type}&size=
{size}&milk={milk}&location={location}
DIGGING INTO ODATA
Open Data Protocol (OData)
•
•
•
•
•

•

•

“RESTful” Web protocol
Designed to work with data across HTTP
Built on existing Web standards
Uses popular formats to return data
payloads to consumer
Uses self-describing metadata
Has multiple options to build
implementation based on standard
protocol
Soon to be a full web standard
The Basics of OData
Feeds, which are Collections of typed
Entities

OData services can expose Actions and
Services
OData services expose all these constructs
via URIs
OData service may also expose a Service
Metadata Document
Full SQL like Query “Language”

HTTP Command
(Verb)
GET

SQL
Command
SELECT

PUT

UPDATE

POST

INSERT

DELETE

DELETE
What is an OData URI loo like?
http://services.odata.org/OData/OData.svc
_______________________________________/
|
service root URI
http://services.odata.org/OData/OData.svc/Category(1)/Products?$top=2&$orderby=name
_______________________________________/ __________________/ _________________/
|
service root URI

|
resource path

|
query options
OData Best Practices (Producer)
•

•

Always design your OData feed will
server-side paging if your entity
collections hold large amounts of data.
Looks at server-side validation of queries
and data updates based on the user
credentials sent through HTTP
Why are we excited!!
ODATA AND HOW TO
CONSUME IT IN WINDOWS
PHONE
DEMO
Windows Phone and OData
OData Best Practices (Consumer)
•

•
•

Use Query Projection to only bring back
the entity properties you or your app
needs.
Think about client-side paging even if their
exists server-side paging.
Design and implement a client-side data
caching function in your app (unless
sensitive data).
AZURE MOBILE SERVICES
AND HOW TO CONSUME IT
IN WINDOWS PHONE
DEMO
Windows Phone and Azure Windows Services
The demo projects can be found at:

github.com/cwoodruff/
Resources

REST
http://www.ics.uci.edu/~taylor/documents/
2002-REST-TOIT.pdf

OData
http://odata.org

http://odataprimer.com
Azure Mobile Services
http://www.windowsazure.com/enus/develop/mobile/
Contact Me

Chris “Woody” Woodruff
cwoodruff@live.com
Twitter @cwoodruff
Skype cwoodruff
http://chriswoodruff.com

http://deepfriedbytes.com

More Related Content

What's hot

What's hot (12)

Flex vs HTML5
Flex vs HTML5Flex vs HTML5
Flex vs HTML5
 
Dependency Injection with Apex
Dependency Injection with ApexDependency Injection with Apex
Dependency Injection with Apex
 
Intro to Bot Framework v3 with DB
Intro to Bot Framework v3 with DBIntro to Bot Framework v3 with DB
Intro to Bot Framework v3 with DB
 
TypeScript
TypeScriptTypeScript
TypeScript
 
ASP.NET OVERVIEW
ASP.NET OVERVIEWASP.NET OVERVIEW
ASP.NET OVERVIEW
 
It's Time for Silverlight @iRajLal
It's Time for Silverlight @iRajLalIt's Time for Silverlight @iRajLal
It's Time for Silverlight @iRajLal
 
Microsoft� .NET and Microsoft� Office 2003
Microsoft� .NET and Microsoft� Office 2003Microsoft� .NET and Microsoft� Office 2003
Microsoft� .NET and Microsoft� Office 2003
 
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
 
WSO2 Gadget Server
WSO2 Gadget ServerWSO2 Gadget Server
WSO2 Gadget Server
 
Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)Design Patterns Every ISV Needs to Know (October 15, 2014)
Design Patterns Every ISV Needs to Know (October 15, 2014)
 
Opening the mobile web mozilla and firefox os-chit thiri maung
Opening the mobile web   mozilla and firefox os-chit thiri maungOpening the mobile web   mozilla and firefox os-chit thiri maung
Opening the mobile web mozilla and firefox os-chit thiri maung
 
[API the Docs Paris 2018] Architecting DX
[API the Docs Paris 2018] Architecting DX[API the Docs Paris 2018] Architecting DX
[API the Docs Paris 2018] Architecting DX
 

Viewers also liked

Parade Plan V1.0
Parade Plan V1.0Parade Plan V1.0
Parade Plan V1.0
zollida
 

Viewers also liked (7)

Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)
 
Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8
 
Cosmetology, trichology courses
Cosmetology, trichology coursesCosmetology, trichology courses
Cosmetology, trichology courses
 
Learning How to Shape and Configure an OData Feed for High Performing Web Sit...
Learning How to Shape and Configure an OData Feed for High Performing Web Sit...Learning How to Shape and Configure an OData Feed for High Performing Web Sit...
Learning How to Shape and Configure an OData Feed for High Performing Web Sit...
 
Build Conference Highlights: How Windows 8 Metro is Revolutionary
Build Conference Highlights: How Windows 8 Metro is RevolutionaryBuild Conference Highlights: How Windows 8 Metro is Revolutionary
Build Conference Highlights: How Windows 8 Metro is Revolutionary
 
Parade Plan V1.0
Parade Plan V1.0Parade Plan V1.0
Parade Plan V1.0
 
Beneficial courses for medical profession.
Beneficial courses for medical profession.Beneficial courses for medical profession.
Beneficial courses for medical profession.
 

Similar to Connecting to Data from Windows Phone 8

Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Woodruff Solutions LLC
 
Creating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew TurlandCreating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew Turland
Matthew Turland
 
Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)
Woodruff Solutions LLC
 
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Shahzad S
 

Similar to Connecting to Data from Windows Phone 8 (20)

Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
 
Overview of Rest Service and ASP.NET WEB API
Overview of Rest Service and ASP.NET WEB APIOverview of Rest Service and ASP.NET WEB API
Overview of Rest Service and ASP.NET WEB API
 
Mini-Training: Let's have a rest
Mini-Training: Let's have a restMini-Training: Let's have a rest
Mini-Training: Let's have a rest
 
Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0
 
Wt unit 6 ppts web services
Wt unit 6 ppts web servicesWt unit 6 ppts web services
Wt unit 6 ppts web services
 
Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-Developers
 
REST Introduction.ppt
REST Introduction.pptREST Introduction.ppt
REST Introduction.ppt
 
IRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce SiteIRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce Site
 
What is the difference between an api and web services
What is the difference between an api and web servicesWhat is the difference between an api and web services
What is the difference between an api and web services
 
Creating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew TurlandCreating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew Turland
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
 
REST full API Design
REST full API DesignREST full API Design
REST full API Design
 
The Role of Data Virtualization in an API Economy
The Role of Data Virtualization in an API EconomyThe Role of Data Virtualization in an API Economy
The Role of Data Virtualization in an API Economy
 
Teched India Vijay Interop Track
Teched India Vijay Interop TrackTeched India Vijay Interop Track
Teched India Vijay Interop Track
 
INF3703 - Chapter 17 Database Connectivity Web Technologies
INF3703 - Chapter 17 Database Connectivity Web TechnologiesINF3703 - Chapter 17 Database Connectivity Web Technologies
INF3703 - Chapter 17 Database Connectivity Web Technologies
 
Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)Gaining the Knowledge of the Open Data Protocol (OData)
Gaining the Knowledge of the Open Data Protocol (OData)
 
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
 
unit -4 spring web services like SOA Arch
unit -4 spring web services like SOA Archunit -4 spring web services like SOA Arch
unit -4 spring web services like SOA Arch
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
 
Advanced Web Development in PHP - Understanding REST API
Advanced Web Development in PHP - Understanding REST APIAdvanced Web Development in PHP - Understanding REST API
Advanced Web Development in PHP - Understanding REST API
 

More from Woodruff Solutions LLC

Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013
Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013
Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013
Woodruff Solutions LLC
 
Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013
Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013
Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013
Woodruff Solutions LLC
 
AzureConf 2013 Developing Cross Platform Mobile Solutions with Azure Mobile...
AzureConf 2013   Developing Cross Platform Mobile Solutions with Azure Mobile...AzureConf 2013   Developing Cross Platform Mobile Solutions with Azure Mobile...
AzureConf 2013 Developing Cross Platform Mobile Solutions with Azure Mobile...
Woodruff Solutions LLC
 
Breaking down data silos with the open data protocol
Breaking down data silos with the open data protocolBreaking down data silos with the open data protocol
Breaking down data silos with the open data protocol
Woodruff Solutions LLC
 

More from Woodruff Solutions LLC (13)

A Look at OData
A Look at ODataA Look at OData
A Look at OData
 
The Top Tips You need to Learn about Data in your Mobile App
The Top Tips You need to Learn about Data in your Mobile AppThe Top Tips You need to Learn about Data in your Mobile App
The Top Tips You need to Learn about Data in your Mobile App
 
Learning How to Shape and Configure an OData Service for High Performing Web ...
Learning How to Shape and Configure an OData Service for High Performing Web ...Learning How to Shape and Configure an OData Service for High Performing Web ...
Learning How to Shape and Configure an OData Service for High Performing Web ...
 
Gaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev Con
Gaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev ConGaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev Con
Gaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev Con
 
Developing Mobile Solutions with Azure Mobile Services in Windows 8.1 and Win...
Developing Mobile Solutions with Azure Mobile Services in Windows 8.1 and Win...Developing Mobile Solutions with Azure Mobile Services in Windows 8.1 and Win...
Developing Mobile Solutions with Azure Mobile Services in Windows 8.1 and Win...
 
Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013
Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013
Pushing Data to and from the Cloud with SQL Azure Data Sync -- TechEd NA 2013
 
Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013
Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013
Developing Mobile Solutions with Azure and Windows Phone VSLive! Redmond 2013
 
AzureConf 2013 Developing Cross Platform Mobile Solutions with Azure Mobile...
AzureConf 2013   Developing Cross Platform Mobile Solutions with Azure Mobile...AzureConf 2013   Developing Cross Platform Mobile Solutions with Azure Mobile...
AzureConf 2013 Developing Cross Platform Mobile Solutions with Azure Mobile...
 
Sql Azure Data Sync
Sql Azure Data SyncSql Azure Data Sync
Sql Azure Data Sync
 
Producing an OData feed in 10 minutes
Producing an OData feed in 10 minutesProducing an OData feed in 10 minutes
Producing an OData feed in 10 minutes
 
Sailing on the ocean of 1s and 0s
Sailing on the ocean of 1s and 0sSailing on the ocean of 1s and 0s
Sailing on the ocean of 1s and 0s
 
Breaking down data silos with OData
Breaking down data silos with ODataBreaking down data silos with OData
Breaking down data silos with OData
 
Breaking down data silos with the open data protocol
Breaking down data silos with the open data protocolBreaking down data silos with the open data protocol
Breaking down data silos with the open data protocol
 

Recently uploaded

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Connecting to Data from Windows Phone 8

  • 1. Connecting to Data from Windows Phone 8 Chris Woodruff Director, Perficient Level: Intermediate to Advanced
  • 2. Who I am? Chris Woodruff MVP, Visual C# Director at Perficient Co-host of Deep Fried Bytes Podcast @cwoodruff / cwoodruff@live.com / Skype: cwoodruff
  • 3. You will learn: • Understand the benefits of using REST web services for your mobile apps • Have an understanding to develop solutions against OData that will give better experiences for your users • How to shape your data queries to give the best performance for your mobile apps • A glimpse into using Windows Azure Mobile Services to also get to your data in the cloud.
  • 4. LETS TAKE A REST
  • 5. What is REST? • REST is an architectural style for distributed hypermedia systems • REpresentational State Transfer • The term originated in 2000 by Roy Fielding for his PhD thesis • REST states that the existing protocols and principles of the web are enough to create robust Web Services – no SOAP is needed
  • 6. What does REST consist of? REST is a very simple architecture: • Application state and functionality is divided into resources. • Every resource is uniquely addressable using a universal syntax for hypermedia links • All resources share a uniform interface for the transfer of state between a client and a resource
  • 7. What does REST consist of? Characteristics of REST • Client–server • Stateless • Cacheable • • • • Uniform Interface Named Resources Interconnected Resource Representations Layered System Operations of REST • GET • POST • PUT • DELETE
  • 8. Example of REST Query a Resource http://www.parts-depot.com/parts/getPart?id=00345 http://www.parts-depot.com/parts/00345 http://restbucks.com/PlaceOrder?coffee={type}&size= {size}&milk={milk}&location={location}
  • 10. Open Data Protocol (OData) • • • • • • • “RESTful” Web protocol Designed to work with data across HTTP Built on existing Web standards Uses popular formats to return data payloads to consumer Uses self-describing metadata Has multiple options to build implementation based on standard protocol Soon to be a full web standard
  • 11. The Basics of OData Feeds, which are Collections of typed Entities OData services can expose Actions and Services OData services expose all these constructs via URIs OData service may also expose a Service Metadata Document
  • 12. Full SQL like Query “Language” HTTP Command (Verb) GET SQL Command SELECT PUT UPDATE POST INSERT DELETE DELETE
  • 13. What is an OData URI loo like? http://services.odata.org/OData/OData.svc _______________________________________/ | service root URI http://services.odata.org/OData/OData.svc/Category(1)/Products?$top=2&$orderby=name _______________________________________/ __________________/ _________________/ | service root URI | resource path | query options
  • 14. OData Best Practices (Producer) • • Always design your OData feed will server-side paging if your entity collections hold large amounts of data. Looks at server-side validation of queries and data updates based on the user credentials sent through HTTP
  • 15. Why are we excited!!
  • 16. ODATA AND HOW TO CONSUME IT IN WINDOWS PHONE
  • 18. OData Best Practices (Consumer) • • • Use Query Projection to only bring back the entity properties you or your app needs. Think about client-side paging even if their exists server-side paging. Design and implement a client-side data caching function in your app (unless sensitive data).
  • 19. AZURE MOBILE SERVICES AND HOW TO CONSUME IT IN WINDOWS PHONE
  • 20. DEMO Windows Phone and Azure Windows Services
  • 21. The demo projects can be found at: github.com/cwoodruff/
  • 23. Contact Me Chris “Woody” Woodruff cwoodruff@live.com Twitter @cwoodruff Skype cwoodruff http://chriswoodruff.com http://deepfriedbytes.com

Editor's Notes

  1. Representational State Transfer (REST) is defined as an architectural style, which means that it is not a concrete systems architecture, but instead a set of constraints that are applied when designing a systems architecture. We briefly discuss these constraints, but then focus on explaining how the Web is one such systems architecture that implements REST. In particular, the mechanisms of the Uniform Resource Identifiers (URIs), the Hypertext Transfer Protocol (HTTP), media types, and markup languages such as the Hypertext Markup Language (HTML) and the Extensible Markup Language (XML). We also introduce Atom and the Atom Publishing Protocol (AtomPub) as two established ways on how RESTful services are already provided and used on today's Web.
  2. Client-Server: a pull-based interaction style: consuming components pull representations.Stateless: each request from client to server must contain all the information necessary to understand the request, and cannot take advantage of any stored context on the server.Cache: to improve network efficiency responses must be capable of being labeled as cacheable or non-cacheable.Uniform interface: all resources are accessed with a generic interface (e.g., HTTP GET, POST, PUT, DELETE).Named resources - the system is comprised of resources which are named using a URL.Interconnected resource representations - the representations of the resources are interconnected using URLs, thereby enabling a client to progress from one state to another.Layered components - intermediaries, such as proxy servers, cache servers, gateways, etc, can be inserted between clients and resources to support performance, security, etc.