building data driven applications using winrt and xaml sergey barskiy, magenic microsoft mvp –...

14
Building Data Driven Building Data Driven Applications Using WinRT and Applications Using WinRT and XAML XAML Sergey Barskiy, Magenic Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

Upload: brent-sydney-ross

Post on 26-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

Building Data Driven Applications Building Data Driven Applications Using WinRT and XAMLUsing WinRT and XAML

Sergey Barskiy, MagenicSergey Barskiy, MagenicMicrosoft MVP – Data Platform

Principal Consultant

Level: Intermediate

Page 2: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

OverviewOverview

• Dealing with Data in XAML Based Windows 8 Metro Style Applications

• WinRT – Windows Runtime

Page 3: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

Data Options in WinRTData Options in WinRT

• Persisting Data– Local

– Remote / Cloud

Page 4: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

Data BindingData Binding• INotifyPropertyChanged• INotifyCollectionChanged• Changed since preview

Page 5: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

Data Options In DetailData Options In Detail

• WCF Custom Services– SOAP

– REST

• Web Api– Part of MVC 4

• OData– WCF Data Services (coming soon..)

• Local– Windows.Storage

– SQLite (not yet)

Page 6: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

Setting up For WCF DevelopmentSetting up For WCF Development

• There is a setting in Project Properties to allow Loopback address or ..

• Find Your Application’s ID (HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings

• Run CheckNetIsolation CheckNetIsolation LoopbackExempt -a -p=S-XXXXXX

• Update Manifest to enable Networking and Internet Client

Page 7: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

WCFWCF

• WCF Custom Services– Create new WCF Service / Add Reference

Data Contacts / Data Members / Operation Contracts– End point configuration

– Querying and updating data

– SOAP vs. REST

Soap is easier to use / proxy generation REST offers better performance and scalability

Page 8: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

WCF SOAP ServiceWCF SOAP Service

• Create new Service. Use Service Contract Operation Contract Data Member

– Define operations

– Build the service

– Add Service Reference to generate a proxy in Windows Metro Style project

– Handle data binding!

– Deploy the service

– Setup URL on proxy

Page 9: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

WCF REST ServiceWCF REST Service

• Create new Service. – Use new template to get a head start

– Define operations

WebGet, WebInvokeMessage Type XML vs. JSON

– Build the service

– Deploy the service

– Use HttpClient

– Use XML Serializer or JSON Serializer to convert data between service and client

– Use headers to set content type

Page 10: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

ASP.NET Web ApiASP.NET Web Api

• ApiController – Define actions

– Update route table if necessary / match Urls in client to actions

– Match actions to calls

– User serializers to convert the data

– Handle data binding

– Validation

Page 11: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

WCF Data ServicesWCF Data Services

• WCF Data Services– Subject to changes

There will be a client for WinRT Data Service Collection?

– Define a service

– Create proxy (http://odata.codeplex.com) DataSvcUtil.exe /uri:http://localhost/odataservice.svc/ /out:MyModel.cs /Version:2.0 /DataServiceCollection

– Configure end point

– CRUD operations

Page 12: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

Local StorageLocal Storage

• Using Isolated Storage– Using Serializers

– Helper class

Page 13: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

Data Options in WinRTData Options in WinRT

• Summary– Remote vs. local data

– Hosting remote data

Azure / Cloud Hosting providers

– Local Storage Options

FilesSQLite (coming later)

– Data binding / storage solutions

Page 14: Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate

Contact InformationContact Information

[email protected]• http://DotNetSpeak.com