Transcript
Page 1: Connecting to Data from Windows Phone 8

Connecting to Data from Windows Phone 8

Chris WoodruffDirector, Perficient

Level: Intermediate to Advanced

Page 2: Connecting to Data from Windows Phone 8

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

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

LETS TAKE A REST

Page 5: Connecting to Data from Windows Phone 8

• 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

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

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

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

DIGGING INTO ODATA

Page 10: Connecting to Data from Windows Phone 8

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

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

Page 12: Connecting to Data from Windows Phone 8

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

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

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

Why are we excited!!

Page 16: Connecting to Data from Windows Phone 8

ODATA AND HOW TO CONSUME IT IN WINDOWS PHONE

Page 17: Connecting to Data from Windows Phone 8

DEMOWindows Phone and OData

Page 18: Connecting to Data from Windows Phone 8

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

AZURE MOBILE SERVICES AND HOW TO CONSUME IT IN WINDOWS PHONE

Page 20: Connecting to Data from Windows Phone 8

DEMOWindows Phone and Azure Windows Services

Page 21: Connecting to Data from Windows Phone 8

The demo projects can be found at:

github.com/cwoodruff/

Page 22: Connecting to Data from Windows Phone 8

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

Contact Me

Chris “Woody” [email protected]

Twitter @cwoodruff

Skype cwoodruff

http://chriswoodruff.com

http://deepfriedbytes.com


Top Related