SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Mike Benkovich
mike@benko.com
http://www.benkotips.com
Twitter: @mbenko
More info on www.BenkoTIPS.com
 Understand the Microsoft Data Stack
 Explore types of clients and formats
 What are the service options
 Ask the right questions
REST
Poco
OData
XML
RIA
 Client
 REST & OData
 ATOM
 JSON
 Server
 WCF Data Services
 ADO.NET Entity Framework
 RIA Services
More info on www.BenkoTIPS.com
 REST vs ODBC
 Representation StateTransfer
 Addressable resource – i.e. URL
http://northwind.com/data.svc/Customers('ALFKI')
 OData – fka Astoria
 Implementation ofWCF Data Services
 IDataService implementation
 WCF Data Services
 RIA Services
Data
More info on www.BenkoTIPS.com
 RESTful implementation of a data source
 URL based addressing scheme to data service
 Implements IDataService interface
 Query constructs
 Preface commands with $ … i.e. $filter $expand
 $skip, $top Server side paging
 $expand Expand related entities
 $filter Apply where clause
More info on www.BenkoTIPS.com
 Visit http://odata.org for complete list
 Available sources include:
▪ SharePoint
▪ Facebook Insights
▪ Netflix
▪ Twitter
▪ IBMWeb Sphere
▪ Vancouver Street Parking
▪ Dbpedia
▪ SQL Azure
▪ TwitPic
▪ TechEd 2010
▪ MIX 10
▪ Codename Dallas
▪ Stack Overflow
▪ Server Fault
▪ EBay
▪ + more coming
More info on www.BenkoTIPS.com
 Netflix
 http://odata.netflix.com/Catalog/
 http://odata.netflix.com/Catalog/Titles?$skip=5&$top=10
 http://odata.netflix.com/Catalog/Titles('BVcw3')
 http://odata.netflix.com/Catalog/Titles('BVcw3')/Cast
 http://odata.netflix.com/Catalog/People(47249)
 http://odata.netflix.com/Catalog/People(47249)/TitlesActedIn
 http://odata.netflix.com/Catalog/People(47249)/TitlesActedIn/$count
 http://odata.netflix.com/Catalog/People(47249)/Name/$value
 http://odata.netflix.com/Catalog/$metadata
 TechED 2010
 http://odata.msteched.com/sessions.svc/
 http://odata.msteched.com/sessions.svc/Speakers?$filter=SpeakerLastName eq 'Brown‘
 http://odata.msteched.com/sessions.svc/Speakers?$filter=SpeakerLastName eq
'Brown'&$expand=Sessions
 Twitter
 http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=mbenko
 Client
 REST & OData
 ATOM
 JSON
 Implementation of IDataService
 Expose functions & methods with [WebGet]
public class PocoData : DataService< PresenterData >
{
// This method is called only once to initialize service-wide policies.
public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
}
}
[WebGet]
public List<string> SayHello()
{
return new List<string>() { "Hello World", "Whee!" };
}
 Object modeling layer
 Logical representation of Physical schema
 Create from Database
 Start from scratch
More info on www.BenkoTIPS.com
 Part of .NET 4.0 Framework
 Visual Studio 2010 Designer support
 Flexible implementation allows many
approaches
 Generate from Database
 “Model First”
 “Code First”
 Provides “Logical” to “Physical” abstraction
 Inheritance
 Table per Hierarchy
 Table perType
 Table per ConcreteType
 Hybrids
 Many entities to one
table
 Stored Procedures
 Many tables to one
entity
 Abstract Entities
 Associations within
EntitySets
 Associations across
EntitySets
 Store-side
discriminators
 EDM-side
discriminators
 QueryViews, Defining
Query, CommandText
 REST and OData provide a simple, easy to use way
of addressing data exposed in the real world
 The industry is adopting OData and embracing it in
.NET, AJAX, Silverlight, iPhone, and other emerging
platforms
 WCF Data Services implement the IDataService
interface making it very easy to create and host an
OData service
 ADO.NET Entity Framework provides a
comprehensive platform for building the Data Layer
for n-tier applications
 MSDN Data Developer Center:
http://msdn.com/data
 ADO.NETTeam Blog:
http://blogs.msdn.com/adonet
 OData Blog:
http://odata.org/blog
 WCF Data ServicesTeam Blog:
http://blogs.msdn.com/astoriateam
 EF Design Blog:
http://blogs.msdn.com/efdesign
 Data Platform Development Forums:
http://msdn.com/data and click on the “Forums” tab
 Patterns andTestability:
http://bit.ly/learnef4test, http://bit.ly/ef4wpfsample

Weitere ähnliche Inhalte

Was ist angesagt?

Advance Webpage Devlopment .NET
Advance Webpage Devlopment .NETAdvance Webpage Devlopment .NET
Advance Webpage Devlopment .NETPandeyABHISHEK1
 
Web 10mca556 syllabs
Web 10mca556 syllabsWeb 10mca556 syllabs
Web 10mca556 syllabsRamesh Bindu
 
20140419 xamarin で Azure Mobile Services
20140419 xamarin で Azure Mobile Services20140419 xamarin で Azure Mobile Services
20140419 xamarin で Azure Mobile ServicesTakayoshi Tanaka
 
Efficient Spring Data REST Development
Efficient Spring Data REST DevelopmentEfficient Spring Data REST Development
Efficient Spring Data REST DevelopmentCatalin Tudose
 
Save your data
Save your dataSave your data
Save your datafragphace
 
Getting your data in and out of elasticsearch: let me count the ways
Getting your data in and out of elasticsearch: let me count the waysGetting your data in and out of elasticsearch: let me count the ways
Getting your data in and out of elasticsearch: let me count the ways🥑 Jay Miller
 
Server interaction with web socket protocol
Server interaction with web socket protocolServer interaction with web socket protocol
Server interaction with web socket protocolRahul Rai
 
Getting started with Elasticsearch in .net
Getting started with Elasticsearch in .netGetting started with Elasticsearch in .net
Getting started with Elasticsearch in .netIsmaeel Enjreny
 
Creating REST Webservice With NetBeans
Creating REST Webservice With NetBeansCreating REST Webservice With NetBeans
Creating REST Webservice With NetBeansNeil Ghosh
 
Building Modern Websites with ASP.NET by Rachel Appel
Building Modern Websites with ASP.NET by Rachel AppelBuilding Modern Websites with ASP.NET by Rachel Appel
Building Modern Websites with ASP.NET by Rachel Appel.NET Conf UY
 
Sharepoint Saturday India Online best practice for developing share point sol...
Sharepoint Saturday India Online best practice for developing share point sol...Sharepoint Saturday India Online best practice for developing share point sol...
Sharepoint Saturday India Online best practice for developing share point sol...Shakir Majeed Khan
 
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel AppelBuilding Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel.NET Conf UY
 
MXSync External Database Diagram
MXSync External Database DiagramMXSync External Database Diagram
MXSync External Database DiagramJay Wilson
 
Elastic 101 index operations
Elastic 101   index operationsElastic 101   index operations
Elastic 101 index operationsIsmaeel Enjreny
 

Was ist angesagt? (20)

Advance Webpage Devlopment .NET
Advance Webpage Devlopment .NETAdvance Webpage Devlopment .NET
Advance Webpage Devlopment .NET
 
ASP.NET Lecture 4
ASP.NET Lecture 4ASP.NET Lecture 4
ASP.NET Lecture 4
 
Web 10mca556 syllabs
Web 10mca556 syllabsWeb 10mca556 syllabs
Web 10mca556 syllabs
 
20140419 xamarin zumo
20140419 xamarin zumo20140419 xamarin zumo
20140419 xamarin zumo
 
20140419 xamarin で Azure Mobile Services
20140419 xamarin で Azure Mobile Services20140419 xamarin で Azure Mobile Services
20140419 xamarin で Azure Mobile Services
 
Efficient Spring Data REST Development
Efficient Spring Data REST DevelopmentEfficient Spring Data REST Development
Efficient Spring Data REST Development
 
Save your data
Save your dataSave your data
Save your data
 
Getting your data in and out of elasticsearch: let me count the ways
Getting your data in and out of elasticsearch: let me count the waysGetting your data in and out of elasticsearch: let me count the ways
Getting your data in and out of elasticsearch: let me count the ways
 
Web services
Web services Web services
Web services
 
Ajax
AjaxAjax
Ajax
 
Server interaction with web socket protocol
Server interaction with web socket protocolServer interaction with web socket protocol
Server interaction with web socket protocol
 
Ajax
AjaxAjax
Ajax
 
Getting started with Elasticsearch in .net
Getting started with Elasticsearch in .netGetting started with Elasticsearch in .net
Getting started with Elasticsearch in .net
 
Creating REST Webservice With NetBeans
Creating REST Webservice With NetBeansCreating REST Webservice With NetBeans
Creating REST Webservice With NetBeans
 
Building Modern Websites with ASP.NET by Rachel Appel
Building Modern Websites with ASP.NET by Rachel AppelBuilding Modern Websites with ASP.NET by Rachel Appel
Building Modern Websites with ASP.NET by Rachel Appel
 
Sharepoint Saturday India Online best practice for developing share point sol...
Sharepoint Saturday India Online best practice for developing share point sol...Sharepoint Saturday India Online best practice for developing share point sol...
Sharepoint Saturday India Online best practice for developing share point sol...
 
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel AppelBuilding Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
 
Intro to Web Sockets
Intro to Web Sockets Intro to Web Sockets
Intro to Web Sockets
 
MXSync External Database Diagram
MXSync External Database DiagramMXSync External Database Diagram
MXSync External Database Diagram
 
Elastic 101 index operations
Elastic 101   index operationsElastic 101   index operations
Elastic 101 index operations
 

Andere mochten auch (7)

المشروع البدائي
المشروع البدائيالمشروع البدائي
المشروع البدائي
 
Care planning
Care planningCare planning
Care planning
 
Gods of guitar
Gods of guitarGods of guitar
Gods of guitar
 
Bismillahirahmanirahim
BismillahirahmanirahimBismillahirahmanirahim
Bismillahirahmanirahim
 
Estonia & the estonian people
Estonia & the estonian peopleEstonia & the estonian people
Estonia & the estonian people
 
Idoia and sara
Idoia and saraIdoia and sara
Idoia and sara
 
Social media in het onderwijs
Social media in het onderwijsSocial media in het onderwijs
Social media in het onderwijs
 

Ähnlich wie CodeMash 2013 Microsoft Data Stack

Web Technologies - forms and actions
Web Technologies -  forms and actionsWeb Technologies -  forms and actions
Web Technologies - forms and actionsAren Zomorodian
 
How to call REST API without knowing any programming languages
How to call REST API without knowing any programming languages How to call REST API without knowing any programming languages
How to call REST API without knowing any programming languages Marc Leinbach
 
Rest API and Client OM for Developer
Rest API and Client OM for DeveloperRest API and Client OM for Developer
Rest API and Client OM for DeveloperInnoTech
 
Full Stack Developer
Full Stack DeveloperFull Stack Developer
Full Stack DeveloperAkbar Uddin
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Servicesukdpe
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Igor Moochnick
 
Developing for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data ServicesDeveloping for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data ServicesHarish Ranganathan
 
REST, JSON and RSS with WCF 3.5
REST, JSON and RSS with WCF 3.5REST, JSON and RSS with WCF 3.5
REST, JSON and RSS with WCF 3.5Rob Windsor
 
Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)David McCarter
 
Building RESTful Services with WCF 4.0
Building RESTful Services with WCF 4.0Building RESTful Services with WCF 4.0
Building RESTful Services with WCF 4.0Saltmarch Media
 
RESTful Data Services with the ADO.NET Data Services Framework
RESTful Data Services with the ADO.NET Data Services FrameworkRESTful Data Services with the ADO.NET Data Services Framework
RESTful Data Services with the ADO.NET Data Services Frameworkgoodfriday
 
Building+restful+webservice
Building+restful+webserviceBuilding+restful+webservice
Building+restful+webservicelonegunman
 
Introduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIIntroduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIRob Windsor
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/ServletSunil OS
 
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기lanslote
 

Ähnlich wie CodeMash 2013 Microsoft Data Stack (20)

Web Technologies - forms and actions
Web Technologies -  forms and actionsWeb Technologies -  forms and actions
Web Technologies - forms and actions
 
How to call REST API without knowing any programming languages
How to call REST API without knowing any programming languages How to call REST API without knowing any programming languages
How to call REST API without knowing any programming languages
 
Servlets intro
Servlets introServlets intro
Servlets intro
 
Practical OData
Practical ODataPractical OData
Practical OData
 
Rest API and Client OM for Developer
Rest API and Client OM for DeveloperRest API and Client OM for Developer
Rest API and Client OM for Developer
 
Full Stack Developer
Full Stack DeveloperFull Stack Developer
Full Stack Developer
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
 
Developing for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data ServicesDeveloping for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data Services
 
REST, JSON and RSS with WCF 3.5
REST, JSON and RSS with WCF 3.5REST, JSON and RSS with WCF 3.5
REST, JSON and RSS with WCF 3.5
 
Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)Building nTier Applications with Entity Framework Services (Part 2)
Building nTier Applications with Entity Framework Services (Part 2)
 
Building RESTful Services with WCF 4.0
Building RESTful Services with WCF 4.0Building RESTful Services with WCF 4.0
Building RESTful Services with WCF 4.0
 
RESTful Data Services with the ADO.NET Data Services Framework
RESTful Data Services with the ADO.NET Data Services FrameworkRESTful Data Services with the ADO.NET Data Services Framework
RESTful Data Services with the ADO.NET Data Services Framework
 
Building+restful+webservice
Building+restful+webserviceBuilding+restful+webservice
Building+restful+webservice
 
Introduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIIntroduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST API
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/Servlet
 
Day7
Day7Day7
Day7
 
Android+ax+app+wcf
Android+ax+app+wcfAndroid+ax+app+wcf
Android+ax+app+wcf
 
Android ax app wcf
Android ax app wcfAndroid ax app wcf
Android ax app wcf
 
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
 

Kürzlich hochgeladen

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Kürzlich hochgeladen (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

CodeMash 2013 Microsoft Data Stack

  • 2. More info on www.BenkoTIPS.com  Understand the Microsoft Data Stack  Explore types of clients and formats  What are the service options  Ask the right questions
  • 4.  Client  REST & OData  ATOM  JSON  Server  WCF Data Services  ADO.NET Entity Framework  RIA Services
  • 5. More info on www.BenkoTIPS.com  REST vs ODBC  Representation StateTransfer  Addressable resource – i.e. URL http://northwind.com/data.svc/Customers('ALFKI')  OData – fka Astoria  Implementation ofWCF Data Services  IDataService implementation  WCF Data Services  RIA Services Data
  • 6. More info on www.BenkoTIPS.com  RESTful implementation of a data source  URL based addressing scheme to data service  Implements IDataService interface  Query constructs  Preface commands with $ … i.e. $filter $expand  $skip, $top Server side paging  $expand Expand related entities  $filter Apply where clause
  • 7. More info on www.BenkoTIPS.com  Visit http://odata.org for complete list  Available sources include: ▪ SharePoint ▪ Facebook Insights ▪ Netflix ▪ Twitter ▪ IBMWeb Sphere ▪ Vancouver Street Parking ▪ Dbpedia ▪ SQL Azure ▪ TwitPic ▪ TechEd 2010 ▪ MIX 10 ▪ Codename Dallas ▪ Stack Overflow ▪ Server Fault ▪ EBay ▪ + more coming
  • 8. More info on www.BenkoTIPS.com  Netflix  http://odata.netflix.com/Catalog/  http://odata.netflix.com/Catalog/Titles?$skip=5&$top=10  http://odata.netflix.com/Catalog/Titles('BVcw3')  http://odata.netflix.com/Catalog/Titles('BVcw3')/Cast  http://odata.netflix.com/Catalog/People(47249)  http://odata.netflix.com/Catalog/People(47249)/TitlesActedIn  http://odata.netflix.com/Catalog/People(47249)/TitlesActedIn/$count  http://odata.netflix.com/Catalog/People(47249)/Name/$value  http://odata.netflix.com/Catalog/$metadata  TechED 2010  http://odata.msteched.com/sessions.svc/  http://odata.msteched.com/sessions.svc/Speakers?$filter=SpeakerLastName eq 'Brown‘  http://odata.msteched.com/sessions.svc/Speakers?$filter=SpeakerLastName eq 'Brown'&$expand=Sessions  Twitter  http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=mbenko
  • 9.
  • 10.  Client  REST & OData  ATOM  JSON
  • 11.  Implementation of IDataService  Expose functions & methods with [WebGet] public class PocoData : DataService< PresenterData > { // This method is called only once to initialize service-wide policies. public static void InitializeService(DataServiceConfiguration config) { config.SetEntitySetAccessRule("*", EntitySetRights.AllRead); config.SetServiceOperationAccessRule("*", ServiceOperationRights.All); config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; } } [WebGet] public List<string> SayHello() { return new List<string>() { "Hello World", "Whee!" }; }
  • 12.  Object modeling layer  Logical representation of Physical schema  Create from Database  Start from scratch
  • 13. More info on www.BenkoTIPS.com  Part of .NET 4.0 Framework  Visual Studio 2010 Designer support  Flexible implementation allows many approaches  Generate from Database  “Model First”  “Code First”  Provides “Logical” to “Physical” abstraction
  • 14.
  • 15.  Inheritance  Table per Hierarchy  Table perType  Table per ConcreteType  Hybrids  Many entities to one table  Stored Procedures  Many tables to one entity  Abstract Entities  Associations within EntitySets  Associations across EntitySets  Store-side discriminators  EDM-side discriminators  QueryViews, Defining Query, CommandText
  • 16.  REST and OData provide a simple, easy to use way of addressing data exposed in the real world  The industry is adopting OData and embracing it in .NET, AJAX, Silverlight, iPhone, and other emerging platforms  WCF Data Services implement the IDataService interface making it very easy to create and host an OData service  ADO.NET Entity Framework provides a comprehensive platform for building the Data Layer for n-tier applications
  • 17.  MSDN Data Developer Center: http://msdn.com/data  ADO.NETTeam Blog: http://blogs.msdn.com/adonet  OData Blog: http://odata.org/blog  WCF Data ServicesTeam Blog: http://blogs.msdn.com/astoriateam  EF Design Blog: http://blogs.msdn.com/efdesign  Data Platform Development Forums: http://msdn.com/data and click on the “Forums” tab  Patterns andTestability: http://bit.ly/learnef4test, http://bit.ly/ef4wpfsample