adam wilson program manager microsoft corporation session code: cos208
TRANSCRIPT
Building Engaging Apps with Data Using Microsoft Codename “Dallas” Adam WilsonProgram ManagerMicrosoft Corporation
SESSION CODE: COS208
What is “Dallas”?
Differentformats
Differentaccess
Flat fi le Relati onal
Hierarchical
DVDFTP
Database Web service
Differentbilling
Credit card invoice
free
SemanticsDiscovery
I need data!
I need data!
What is “Dallas”?
Marketplace
Billing
Analytics
Serv
ices
for
Con
ten
t Pro
vid
ers
Standard Data Access (OData)
Office, Dynamics, SQL Server
ISV Apps
Custom Apps
Crime from two perspectives
DEMOhttp://apps.facebook.com/crimestats http://silverlight.onterrasys.com/CrimeDemo/
Integrating with a “Dallas” dataset
Find and subscribe to dataset in “Dallas” portalhttp://www.sqlazureservices.com
Understand dataset query/response formatusing Service Explorer
In your app, make request and process AtomPub response
Service ExplorerA quick way to explore “Dallas” datasets
Available for every dataset
Fill in parameter values using guided help
View results in various formats
Click “Analyze” to continue exploring in PowerPivot and Excel to create PivotTables, graphs, etc.
Learn about data format and perform quick queries
PowerPivot
DEMO
“Dallas” and Windows Phone 7
DEMO
Codename “Dallas” Futures
Commercial datasetsFlexible pricing models and credit card paymentsExpanded query capabilitiesImproved tooling support
Trusted marketplace for premium data
OData and Tool Enhancements
var context = new DallasDataServiceContext(new Uri(...));var r = from c in context.Crimes where c.Robbery / c.Population > (from c2 in context.Crimes select (c2.Robbery / c2.Population)).Sum() select c;
service/$metadata Service/Crimes?$filter=...
Providers
Current CTP2 providers include
Content Publication with “Dallas”
Content Publishing Business Today
Content
Service
PR Licensing
SLA
Privacy Security
Authentication
Authorization Application support
Billing
Reports $$
Proprietary protocolsHard to discoverProprietary appsHigh costs
Content Publishing Business Tomorrow
“Dallas”
Content Providers
ISVs
Content consumers
(Developers, IWs)
MS Products
StandardIntegratedOne stop shopPowered by Windows Azure
Publication Content Bar
Why? Dallas is the trusted source for premium data.
Data ProviderAuthoritative public source or leading commercial publisher
InformationMust have right to distribute all dataMinimum period to make data available
Service QualityMinimum requirements for availability and throughputMeets service protocol requirements
Resources
www.microsoft.com/teched
Sessions On-Demand & Community Microsoft Certification & Training Resources
Resources for IT Professionals Resources for Developers
www.microsoft.com/learning
http://microsoft.com/technet http://microsoft.com/msdn
Learning
Complete an evaluation on CommNet and enter to win!
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to
be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Queries// Construct the requestWebRequest request = WebRequest.Create( "https://api.sqlazureservices.com/DataGovService.svc/" + "crimes/Louisiana?city=New%20Orleans&year=2007");
// Add headers required by Dallasrequest.Headers["$accountKey"] = "28Q3TwdWwIp5WPaJnKsCNstGFi1EKXs6X5eV0JnV6HM=";request.Headers["$uniqueUserID"] = "47676c3b-7c9a-4cdc-8ad2-51b4c795baba";
// Read and display the responseusing (var reader = new StreamReader(request.GetResponse().GetResponseStream(),
true)){ XDocument xml = XDocument.Parse(reader.ReadToEnd()); string burglaryValue = xml.Root.Descendants().First(el => el.Name.LocalName == "Burglary").Value;
Console.WriteLine("There were {0} burglaries in New Orleans in 2007.", burglaryValue);
}
Results<feed xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> <title type="text">Data.Gov - U.S. Offenses Known to Law Enforcement</title> <id>https://api.sqlazureservices.com/DataGovService.svc/crimes/Louisiana?city=New
Orleans&year=2007&$format=atom10</id> <rights type="text">2010 U.S. Government</rights> <updated>2010-05-31T23:28:17Z</updated> <link rel="self" title="Data.Gov - U.S. Offenses Known to Law Enforcement"
href="https://api.sqlazureservices.com/DataGovService.svc/crimes/Louisiana?city=New%20Orleans&year=2007&$format=atom10"/>
<entry> <id>https://api.sqlazureservices.com/DataGovService.svc/crimes/Louisiana?city=New
Orleans&year=2007&$format=atom10&$page=1&$itemsperpage=1</id> <title type="text">Louisiana / New Orleans in 2007</title> <updated>2010-05-31T23:28:17Z</updated> <link rel="self" href="https://api.sqlazureservices.com/DataGovService.svc/crimes/Louisiana?city=New
%20Orleans&year=2007&$format=atom10&$page=1&$itemsperpage=1"/> <content type="application/xml"> <m:properties> <d:State m:type="Edm.String">Louisiana</d:State> <d:City m:type="Edm.String">New Orleans</d:City> <d:Year m:type="Edm.Int32">2007</d:Year> <d:Population m:type="Edm.Int32">220614</d:Population> <d:Robbery m:type="Edm.Int32">1154</d:Robbery>[...]
JUNE 7-10, 2010 | NEW ORLEANS, LA