connecting to data from windows phone 8 vslive! redmond 2013

23
Connecting to Data from Windows Phone 8 Chris Woodruff Director, Perficient Level: Intermediate to Advanced

Upload: chris-woodruff

Post on 27-Jan-2015

104 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

Connecting to Data from Windows Phone 8

Chris WoodruffDirector, Perficient

Level: Intermediate to Advanced

Page 2: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

Who I am?

Chris Woodruff

MVP, Visual C#

Director at Perficient

Co-host of Deep Fried Bytes Podcast

@cwoodruff / [email protected] / Skype: cwoodruff

Page 3: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

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.

Page 4: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

LETS TAKE A REST

Page 5: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

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

Page 6: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

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

Page 7: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

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

Page 8: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

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}

Page 9: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

DIGGING INTO ODATA

Page 10: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

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

Page 11: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

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

Page 12: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

Full SQL like Query “Language”

HTTP Command (Verb)

SQL Command

GET SELECT

PUT UPDATE

POST INSERT

DELETE DELETE

Page 13: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

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 an OData URI loo like?

Page 14: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

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

Page 15: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

Why are we excited!!

Page 16: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

ODATA AND HOW TO CONSUME IT IN WINDOWS PHONE

Page 17: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

DEMOWindows Phone and OData

Page 18: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

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).

Page 19: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

AZURE MOBILE SERVICES AND HOW TO CONSUME IT IN WINDOWS PHONE

Page 20: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

DEMOWindows Phone and Azure Windows Services

Page 21: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

The demo projects can be found at:

github.com/cwoodruff/

Page 22: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

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/

Page 23: Connecting to Data from Windows Phone 8 VSLive! Redmond 2013

Contact Me

Chris “Woody” [email protected]

Twitter @cwoodruff

Skype cwoodruff

http://chriswoodruff.com

http://deepfriedbytes.com