/
Data Access in a Software + Services World Data Access in a Software + Services World

Data Access in a Software + Services World - PowerPoint Presentation

thousandnike
thousandnike . @thousandnike
Follow
342 views
Uploaded On 2020-06-19

Data Access in a Software + Services World - PPT Presentation

Simon Davies Microsoft UK simondaviesmicrosoftcom Data Services what are they what is the motivation for building them What types of data services are available how do I build and access them ID: 781293

data services server sql services data sql server net sync client rest soap live library folders photos ace framework

Share:

Link:

Embed:

Download Presentation from below link

Download The PPT/PDF document "Data Access in a Software + Services Wor..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Slide2

Data Access in a Software + Services World

Simon Davies

Microsoft UK

simon.davies@microsoft.com

Slide3

Data Services - what are they , what is the motivation for building them?

What types of data services are available how do I build and access them?

Other issues ?Wrap Up

Agenda

Slide4

Data in The Web

HTML +

Javascript

Data (XML,JSON,…)

DLL + XAML

Data (XML,JSON,…)

Data (XML,JSON,…)

Mashup

UI

Data Feeds

AJAX Applications

Silverlight Applications

Online Services

Mashups

Slide5

Service Interfaces

Operation-centric

vs data-centric interface style depending on the nature of the service

Data Centric

Spaces Photos, …

Application-Based

Storage

SQL Data Services …

Operations Centric

Messenger

Live ID

Alerts

Slide6

Data Services Vision

SYNC

SYNC

SYNC

SYNC

ADO.Net

Data Services Framework

On Premises

Internet Standard Interfaces and Protocols (REST/APP/SOAP)

Mobile and

Desktop

Client Applications

Web Services

Software

SQL Server Data Services (SSDS)

ADO.Net Data Services

Windows Live Services

+ Services

Slide7

Unified Development Story

Visual Studio

.NET and

Silverlight

2

ASP.NET Integration

AJAX library

3

rd

party components

Data Services & AtomPub

AtomPub

Consumer Services

e.g.:

Windows Live Spaces (Photos)

Infrastructure Services

e.g.:

Application-

Based Storage

SQL Server Data

Services

On-Premises Services

e.g.:

Data Services framework against local SQL Server

Slide8

The Atom Syndication Format

IETF RFC 4287

XML format

Organized in

feeds

, entries and linksExtensible data and metadata

<feed

xmlns="…/Atom"> <id>…/Folders</id> <

title>Folders</title> <updated>…</updated>

<author> <name>John Doe</

name> </

author> <

entry>

<id

>…/Folders(123)</id> <title>Cool Pics</title> <updated>…</

updated> <link rel="self" … />

<link rel="related" …

/> <content

type="app/xml"> < … content … >

</content

> </

entry></feed>

Slide9

The Atom Publishing Protocol

IETF RFC 5023

Protocol for publishing and editing resources

Atom representations over HTTP

Simple

RESTful interaction model

DELETE

PUT

POST

GET

Server w/

AtomPub

interface

Slide10

Accessing AtomPub Services

Slide11

URL Conventions

AtomPub

does not specify URL formatWe follow a predictable, uniform pattern

Description

Example URL

Top-level container

/FoldersAddress single entry by ID/Folders(123)Traverse a link/Folders(123)/PhotosAddressing can nest as appropriate/Folders(123)/Photos(456)/ImageStreams

Access primary value/Folders(123)/Photos(456)/$valuePresentation control **$orderby, $filter, $top, $skip, $expandService metadata/$metadata

Slide12

Building your own Data Services

ADO.Net

Data Services AKA “Project Astoria”

Slide13

Data Access Layer

Creating Data Services

Create services directly from Visual Studio

Various data sources

Entity Framework

LINQ providers

Model-drivenStructural description in Entity Data ModelMetadata shapes service

Entity Framework

Custom LINQ provider

Relational database

Other sources

Service Runtime

Hosting/HTTP listener

IQueryable

[+

IUpdatable

]

Slide14

Refining and Securing Services

Slide15

Modern Data-Driven Web Apps

AJAX integration

AJAX-friendly JSON format in services

Javascript

library that integrates with the ASP.NET AJAX toolkit

Silverlight support.NET programming model for data servicesObject based, LINQ enabled API

Code-gen entity types from metadata

Slide16

"Traditional" Applications

Web applications

Data services client can be used in ASP.NET

ASP.NET data source control for accessing remote services

Desktop applications

Fully-featured .NET client librarySame API in desktop and Silverlight environments

Slide17

Roadmap

Where do we go from here?

Beta 1 will ship shortlyVersion 1 Production Release Mid 2008

Slide18

Windows Live Photos

Photos is part of Windows Live Spaces

New experimental

AtomPub

interface

https://cumulus.services.live.com/{id}/AtomSpacesPhotos

Authorization via LiveIDMore information at

http://dev.live.com/liveidCheck out the delegated authentication SDKBrowse and create folders and photosFolders/Photos as Atom feeds and entriesPhotos are Atom “media link entries”

Slide19

SQL Server Data Services

Scales without Limits

S

torage and processing

scales without restrictions

Businesses pay only for

the resources consumed

Application Agility

Simple, flexible data

model

REST and SOAP

protocols support

Business Ready SLA

Built using robust Microsoft

SQL Server technology

SLA for business continuity

Highly available, reliable

and secure

Microsoft

®

SQL Server

®

Data Services (SSDS) is aWeb facing data storage and processing utility

Slide20

SQL Server Data Services

High Level Architecture

Global Foundation Services

Distributed

Fabric

Mgmt.

Services

SQL

Services

Distributed

Fabric

Mgmt.

Services

SQL

Services

Distributed

Fabric

Mgmt.

Services

SQL

Services

Distributed

Fabric

Mgmt.

Services

SQL

Services

Distributed

Fabric

Mgmt.

Services

SQL

Services

Distributed

Fabric

Mgmt.

Services

SQL

Services

Distributed

Fabric

Mgmt.

Services

SQL

Services

SQL Server Data Services Platform

ACE Logic

Client Library

REST / SOAP

ACE Logic

Client Library

REST / SOAP

ACE Logic

Client Library

REST / SOAP

ACE Logic

Client Library

REST / SOAP

ACE Logic

Client Library

REST / SOAP

ACE Logic

Client Library

REST / SOAP

ACE Logic

Client Library

REST / SOAP

SQL Server Data Services

Slide21

The 'ACE' Concepts

A

uthority

Unit of geo-location and billing

Collection of containers

ContainerUnit of consistency/search

Collection of entitiesNo schema required EntityProperty bag of name/value pairsUnit of update/change

Slide22

Concepts: Entity (Example)

Entity properties may differ in type and instance

Property

Type

Value

Metadata

IDEntityIdVWGOLF-01KindEntityKindCar

FlexPropsDescriptionStringReliable, one owner, …PriceNumeric12000.00

ListingDateDatetime01-01-2008LocationZipString98052

PropertyTypeValueMetadataID

EntityIdMINICOOPER-264

KindEntityKindFunCar

FlexPropsDescription

StringReliable, one owner, …

PriceNumeric12000.00ListingDateString1st January, 2008LocationZipString98052

EngineSizeNumeric1600

Additional property

Different instance

types

Different Kinds

Slide23

Roadmap

Sign up for Invitation only beta

No charge for use during beta period

Next step – open beta within 4 months

Service refresh every 8 weeks

New functionality based on customer feedback

Go Live in H1’09Published SLAPricing and licensing model TBD

Slide24

Other Issues: Disconnected\Offline

Core problem is synchronization:

How do I keep a local cache of data in sync with a remote endpoint?

Many hard cases: conflicts, interruptions

Correct synchronization algorithms are non-trivial

Answer: Microsoft Sync Framework

This lets you do:offline:synchronize a data set between client and serverpeer-to-peer / roaming:synchronize a data set between endpoints, rather than just hub-spoke with a server

collaboration / sharing:synchronize a data set between multiple users (either peer-to-peer, or via a shared server)

Slide25

Sync Framework is Powerful

Solves hard sync problems so you don’t have to

Conflict detection and resolution

Connection and storage errors

Numerous corner cases

Supports unreliable networks, i.e. interruptions/partial syncsEasy-to-use and performant

Native support for FeedsyncPrototyping Offline ADO.Net Data Services

Slide26

Microsoft Sync Framework

RTM Date Q3/2008;

CTP2 available now – visit msdn.com/sync

Windows Mobile CTP Q3/2008

Support for multiple development languages

Managed Code (C#, Visual Basic, etc..)

Native/Unmanaged Code (C++, etc..)

Slide27

Summary

Service alignment

We’re aligning our services on AtomPub

First experimental interfaces available

Windows Live Spaces Photos

Application-Based Storage (experimental service)SQL Server Data Services (soon)Your own services can easily follow the same interface using

ADO.Net Data ServicesRich developer storyUnified conventions for URLs and data modelGrowing tools/components ecosystemSynchronisation FeedSync for bi-directional ATOM and RSS Microsoft Sync Framework

Slide28