connecting to data from windows phone 8
DESCRIPTION
You know you have to have a great experience when you develop your Windows Phone 8 applications right? The greatest experience you can give your users is around their data. There are ways to improve your Windows Phone 8 application and Chris Woodruff will teach you how to get data quickly, save it with validation, save it locally and many, many more tricks. Come see why you should know the tricks of the trade before developing that killer Windows Phone 8 app. You will be a Data Experience expert when you leave the room after this session.TRANSCRIPT
Connecting to Data from Windows Phone 8
Chris WoodruffSenior Trainer
Telerik
Level: Intermediate to Advanced
Who I am?
Chris Woodruff
MVP, Visual C#
Trainer at Telerik
Co-host of Deep Fried Bytes Podcast
@cwoodruff / [email protected] / Skype: cwoodruff
You will learn:
• Understand the benefits of using REST web services for your mobile apps
• Be able to use 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
• 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 is REST?
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• Feeds, which are Collections of
typed Entries• OData services can expose
Service Operations• 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)
SQL Command
GET SELECT
PUT UPDATE
POST INSERT
DELETE DELETE
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
What is a URI?
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
DEMOWindows 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
DEMOWindows Phone and Azure Windows Services
The demo projects can be found at:
github.com/cwoodruff/
Resources
RESThttp://www.ics.uci.edu/~taylor/documents/2002-REST-TOIT.pdf
OData
http://odata.org
http://odataprimer.com
Azure Mobile Serviceshttp://www.windowsazure.com/en-us/develop/mobile/
Contact Me
Chris “Woody” [email protected]
Twitter @cwoodruff
Skype cwoodruff
http://chriswoodruff.com
http://deepfriedbytes.com