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


Top Related