SlideShare a Scribd company logo
Real World API Design Using The Entity Framework Services
Real World API Design Using The Entity Framework Services
dotNetDave Conference DVD!Packed full of:Videos of all sessions from 2010 & 2011(1)!Slide decks from 2011 & 2010!Demo projects from 2011 & 2010!David McCarter’s .NET interview Questions!ExtrasConference Photos from 2010!Surprise videos!Book + DVD $25!Only $15!
Check Out Your Local User Groups!San Diego Cloud Computing User Groupwww.azureusergroup.com/group/sandiegoazureusergroupSan Diego .NET Developers Groupwww.sddotnetdg.orgSan Diego .NET User Groupwww.sandiegodotnet.comSan Diego SQL Server User Groupwww.sdsqlug.org
Real World API Design Using The Entity Framework Services
Overview
Current ProblemPartnerCompanyData StoreInternetAll Data Stored in local Data CenterCustomers/ Partners do not have access to dataNo ability to create “add-ins” to applicationNo ability to “upsell” products
PartnerCompanyData StoreInternetImmediate access to the network data for partnersProvide customers with an ever growing wealth of tools for extending applicationMarketing ExposureHandle billing and purchasing transactions with the end-userBusiness Proposition
GoalsMake it easy to access dataAccess to data from any applicationWindowsWebiPhone…Track UsageFor billing Detect abuse
GoalsProvide ability for different application typesVisual ApplicationSurface partner application inside of company applicationData ApplicationAllow data access to authorized customersComposite ApplicationCombination of Visual and Data
ChallengesCurrent database designVery ConfusingSame data in multiple tables.Allow secure access to dataApp can only access a select number of servicesApp can only access data for authorized customersAccess data from multiple locationsSome customers store data locally
Design
Database IssuesHundreds of tables.Tables can have hundreds of columns (some not used anymore)Same data is stored in different tables.Tables store multiple types of data.Primary data keys duplicated in almost every table.Too much expertise needed to understand database.
Database SolutionDesign model of how data should look, regardless of how it’s currently structured
Database SolutionUse Views instead of TablesAllows creating data structures that make more sense, easier to use.Allows splitting/ combining of data from Tables.Allows renaming of columns that make data more understandable/ consistency.Use stored procedures to insert/ update data
Database SolutionUse Entity Framework 4 to implement object model on top of ViewsEasy for developers to use/ understandSeparate models by purposeEasier to deal withRe-use views in different models (sparingly)Remove properties that don’t make sense in modelInsert/ updates only through “main” EntityUse POCO T4 templateEasy to separate entities from data accessCan add functionality/ business logicSmaller payloads across the wire
Real World API Design Using The Entity Framework Services
Real World API Design Using The Entity Framework Services
Exposing Data to PartnersExpose services via HTTPsUse WCF Data ServicesExpose data via REST (JSON and AtomPub)	Easy to expose ModelsOne model per serviceControl Entity access using EntitySetAccessRule
Exposing Data to PartnersUse WCF Data Services	Limit number of records returned using EntitySetPageSizePrevent partners from access to clients that have not “enabled” the applicationModify data coming into service using ChangeInterceptor’sCan also update date in multiple Entities
Real World API Design Using The Entity Framework Services
Real World API Design Using The Entity Framework Services
SecurityLimit partners access to data/ servicesValidate call is from authorized partnerUsing certificate or tokenValidate clientValidate partner has access to service.Validate client/ appValidate appValidate app is activeValidate app access to client
SecurityUse WCF Message InspectorsIntercept service call before it hits the serviceDifferent Message Inspectors for different types of servicesGeneral services uses certificationClient data services uses tokenSmaller than a certificationAuthentication done by calls to back-endAlso used for logging partner usage dataWhat they are hittingPayload sizes
Real World API Design Using The Entity Framework Services
Real World API Design Using The Entity Framework Services
Summary
ChallengesEF does better with “properly” designed databasesEF designer can easily screw up models (better in EF 4)WCF Data Services can be limitingHave to jump through a few hoops to have WCF Data Services to expose entities from a separate projectHave to manually edit .svc files to use Message Inspectors
ChallengesBad REST Queries = Bad SQL QueriesDemands more processing power on the web tierMajority of programmers have never used REST/ LINQ to RestMore of a challenge with other languages (mostly because samples are written in .NET 4)
Looking ForwardAllow more write access to dataProvide “batch” processingFaster data access on first hitAllow read/write access to Entity per appCreate new database from cleaned up model (far in the future)Better configuration, security, logging and developer portal using third-party vendor
Real World API Design Using The Entity Framework Services

More Related Content

What's hot (20)

PPTX
Short Sales Overview of EmpowerID
EmpowerID
 
PPTX
Microsoft Ignite Recap: Microsoft 365 Security & Compliance with Vlad & Drew
Drew Madelung
 
PPTX
Windows Azure SQL Database Federations
Neil Mackenzie
 
PPTX
Everything you need to know about sharing files in SharePoint and OneDrive
Drew Madelung
 
PDF
FileMaker Data Integration with SharePoint, Office 365 and 100+
Layer2
 
PPTX
30 on Thursday - Your Digitial Workplace: Store, Share & Sync with Microsoft ...
Drew Madelung
 
PPTX
ShareFile vs Box vs Dropbox
RapidScale
 
PPTX
Upload Oracle EBS Attachments via MS-Excel Templates using Project Partners U...
Project Partners LLC
 
PPTX
What's New with OneDrive for Business - SPFestSeattle
Drew Madelung
 
PPTX
Barcelona salesforce sdg november lightning connect
Aaron Dominguez Sanchez
 
PPTX
SharePoint Saturday Louisville 2012
Scott_Brickey
 
PPTX
Accessing data within VB Applications
robertbenard
 
PPTX
Ladies Be Architects - Study Group III: OAuth 2.0 (Ep 1)
gemziebeth
 
PPTX
The Who, What, Why and How of Active Directory Federation Services (AD FS)
Jay Simcox
 
PPTX
Integrate External Data w/ business connectivity services (BCS)
Tom Resing
 
PPTX
Everything you need to know about external sharing in OneDrive, SharePoint, a...
Drew Madelung
 
PPT
What is hibernate?
kanchanmahajan23
 
PPTX
Ether solutions implements Oracle Document Cloud
Ether Solutions
 
PPTX
Everything you need to know about sharing files in SharePoint & OneDrive - SP...
Drew Madelung
 
PPTX
Securing SharePoint & OneDrive in Office 365
Drew Madelung
 
Short Sales Overview of EmpowerID
EmpowerID
 
Microsoft Ignite Recap: Microsoft 365 Security & Compliance with Vlad & Drew
Drew Madelung
 
Windows Azure SQL Database Federations
Neil Mackenzie
 
Everything you need to know about sharing files in SharePoint and OneDrive
Drew Madelung
 
FileMaker Data Integration with SharePoint, Office 365 and 100+
Layer2
 
30 on Thursday - Your Digitial Workplace: Store, Share & Sync with Microsoft ...
Drew Madelung
 
ShareFile vs Box vs Dropbox
RapidScale
 
Upload Oracle EBS Attachments via MS-Excel Templates using Project Partners U...
Project Partners LLC
 
What's New with OneDrive for Business - SPFestSeattle
Drew Madelung
 
Barcelona salesforce sdg november lightning connect
Aaron Dominguez Sanchez
 
SharePoint Saturday Louisville 2012
Scott_Brickey
 
Accessing data within VB Applications
robertbenard
 
Ladies Be Architects - Study Group III: OAuth 2.0 (Ep 1)
gemziebeth
 
The Who, What, Why and How of Active Directory Federation Services (AD FS)
Jay Simcox
 
Integrate External Data w/ business connectivity services (BCS)
Tom Resing
 
Everything you need to know about external sharing in OneDrive, SharePoint, a...
Drew Madelung
 
What is hibernate?
kanchanmahajan23
 
Ether solutions implements Oracle Document Cloud
Ether Solutions
 
Everything you need to know about sharing files in SharePoint & OneDrive - SP...
Drew Madelung
 
Securing SharePoint & OneDrive in Office 365
Drew Madelung
 

Viewers also liked (13)

KEY
The Entity Data Model
LearnNowOnline
 
PPTX
Entity Framework Overview
Eyal Vardi
 
PPTX
Back-2-Basics: Code Contracts
David McCarter
 
PPTX
Röck Yoür Technical Interview - V3
David McCarter
 
PPTX
How To Survive The Technical Interview
David McCarter
 
PDF
.NET Coding Standards For The Real World (2012)
David McCarter
 
PPTX
Back-2-Basics: Exception & Event Instrumentation in .NET
David McCarter
 
PPTX
Rock Your Code with Code Contracts
David McCarter
 
PPTX
Rock Your Code With Code Contracts -2013
David McCarter
 
PPTX
Building nTier Applications with Entity Framework Services
David McCarter
 
PPTX
Code Easier With Visual Studio 2010 & Extensions
David McCarter
 
PPTX
Entity Framework - Entity Data Model (edm)
Eyal Vardi
 
PPTX
Performance Optimization In Angular 2
Eyal Vardi
 
The Entity Data Model
LearnNowOnline
 
Entity Framework Overview
Eyal Vardi
 
Back-2-Basics: Code Contracts
David McCarter
 
Röck Yoür Technical Interview - V3
David McCarter
 
How To Survive The Technical Interview
David McCarter
 
.NET Coding Standards For The Real World (2012)
David McCarter
 
Back-2-Basics: Exception & Event Instrumentation in .NET
David McCarter
 
Rock Your Code with Code Contracts
David McCarter
 
Rock Your Code With Code Contracts -2013
David McCarter
 
Building nTier Applications with Entity Framework Services
David McCarter
 
Code Easier With Visual Studio 2010 & Extensions
David McCarter
 
Entity Framework - Entity Data Model (edm)
Eyal Vardi
 
Performance Optimization In Angular 2
Eyal Vardi
 
Ad

Similar to Real World API Design Using The Entity Framework Services (20)

PPT
Enterprise Deployments & SOA
Ambareesh Kulkarni
 
PPTX
Building N Tier Applications With Entity Framework Services 2010
David McCarter
 
PDF
How to Approach Tool Integrations
Happiest Minds Technologies
 
PPT
Intro to Application Express
José Angel Ibarra Espinosa
 
PDF
Denodo Partner Connect: Business Value Demo with Denodo Demo Lite
Denodo
 
PPT
SAP BusinessObject's Webi Rich Client
Eric Molner
 
PPT
Why Data Virtualization? An Introduction by Denodo
Justo Hidalgo
 
PDF
Modern Data Management for Federal Modernization
Denodo
 
PPTX
Syn framework 4.0 and sql server
Eduardo Castro
 
PPTX
Solve Todays Problems with 10 New SharePoint 2010 Features
Cory Peters
 
PPTX
lecture_8_Data_warehousing_and_the_web.pptx
RehmahAtugonza
 
PPT
MSDN Unleashed: WPF Demystified
Dave Bost
 
PPTX
Work with data in ASP.NET
Peter Gfader
 
PPT
WPF Unleashed: Building Application with Visual Studio 2008 SP1
Dave Bost
 
PPTX
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Vincent Biret
 
PPT
Doors 9 Doors Web Access
Bill Duncan
 
PPT
Ipedo Company Overview
Tim_Matthews
 
PPT
Help File Proposal
alittleobscure
 
PPTX
Whats New In 2010 (Msdn & Visual Studio)
Steve Lange
 
PPSX
Accessing sap and_mainframe_data_and_applications_via_share_point
Yuval Birenboum
 
Enterprise Deployments & SOA
Ambareesh Kulkarni
 
Building N Tier Applications With Entity Framework Services 2010
David McCarter
 
How to Approach Tool Integrations
Happiest Minds Technologies
 
Intro to Application Express
José Angel Ibarra Espinosa
 
Denodo Partner Connect: Business Value Demo with Denodo Demo Lite
Denodo
 
SAP BusinessObject's Webi Rich Client
Eric Molner
 
Why Data Virtualization? An Introduction by Denodo
Justo Hidalgo
 
Modern Data Management for Federal Modernization
Denodo
 
Syn framework 4.0 and sql server
Eduardo Castro
 
Solve Todays Problems with 10 New SharePoint 2010 Features
Cory Peters
 
lecture_8_Data_warehousing_and_the_web.pptx
RehmahAtugonza
 
MSDN Unleashed: WPF Demystified
Dave Bost
 
Work with data in ASP.NET
Peter Gfader
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
Dave Bost
 
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Vincent Biret
 
Doors 9 Doors Web Access
Bill Duncan
 
Ipedo Company Overview
Tim_Matthews
 
Help File Proposal
alittleobscure
 
Whats New In 2010 (Msdn & Visual Studio)
Steve Lange
 
Accessing sap and_mainframe_data_and_applications_via_share_point
Yuval Birenboum
 
Ad

More from David McCarter (8)

PPTX
Back-2-Basics: .NET Coding Standards For The Real World (2011)
David McCarter
 
PPTX
Building nTier Applications with Entity Framework Services (Part 2)
David McCarter
 
PPTX
Building nTier Applications with Entity Framework Services (Part 1)
David McCarter
 
PPTX
Back-2-Basics: .NET Coding Standards For The Real World
David McCarter
 
PPTX
Back-2-Basics: Exception & Event Instrumentation in .NET
David McCarter
 
PPTX
Back-2-Basics: .NET Coding Standards For The Real World
David McCarter
 
PPTX
Building nTier Applications with Entity Framework Services (Part 2)
David McCarter
 
PPTX
Building nTier Applications with Entity Framework Services (Part 1)
David McCarter
 
Back-2-Basics: .NET Coding Standards For The Real World (2011)
David McCarter
 
Building nTier Applications with Entity Framework Services (Part 2)
David McCarter
 
Building nTier Applications with Entity Framework Services (Part 1)
David McCarter
 
Back-2-Basics: .NET Coding Standards For The Real World
David McCarter
 
Back-2-Basics: Exception & Event Instrumentation in .NET
David McCarter
 
Back-2-Basics: .NET Coding Standards For The Real World
David McCarter
 
Building nTier Applications with Entity Framework Services (Part 2)
David McCarter
 
Building nTier Applications with Entity Framework Services (Part 1)
David McCarter
 

Recently uploaded (20)

PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Digital Circuits, important subject in CS
contactparinay1
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 

Real World API Design Using The Entity Framework Services

  • 1. Real World API Design Using The Entity Framework Services
  • 3. dotNetDave Conference DVD!Packed full of:Videos of all sessions from 2010 & 2011(1)!Slide decks from 2011 & 2010!Demo projects from 2011 & 2010!David McCarter’s .NET interview Questions!ExtrasConference Photos from 2010!Surprise videos!Book + DVD $25!Only $15!
  • 4. Check Out Your Local User Groups!San Diego Cloud Computing User Groupwww.azureusergroup.com/group/sandiegoazureusergroupSan Diego .NET Developers Groupwww.sddotnetdg.orgSan Diego .NET User Groupwww.sandiegodotnet.comSan Diego SQL Server User Groupwww.sdsqlug.org
  • 7. Current ProblemPartnerCompanyData StoreInternetAll Data Stored in local Data CenterCustomers/ Partners do not have access to dataNo ability to create “add-ins” to applicationNo ability to “upsell” products
  • 8. PartnerCompanyData StoreInternetImmediate access to the network data for partnersProvide customers with an ever growing wealth of tools for extending applicationMarketing ExposureHandle billing and purchasing transactions with the end-userBusiness Proposition
  • 9. GoalsMake it easy to access dataAccess to data from any applicationWindowsWebiPhone…Track UsageFor billing Detect abuse
  • 10. GoalsProvide ability for different application typesVisual ApplicationSurface partner application inside of company applicationData ApplicationAllow data access to authorized customersComposite ApplicationCombination of Visual and Data
  • 11. ChallengesCurrent database designVery ConfusingSame data in multiple tables.Allow secure access to dataApp can only access a select number of servicesApp can only access data for authorized customersAccess data from multiple locationsSome customers store data locally
  • 13. Database IssuesHundreds of tables.Tables can have hundreds of columns (some not used anymore)Same data is stored in different tables.Tables store multiple types of data.Primary data keys duplicated in almost every table.Too much expertise needed to understand database.
  • 14. Database SolutionDesign model of how data should look, regardless of how it’s currently structured
  • 15. Database SolutionUse Views instead of TablesAllows creating data structures that make more sense, easier to use.Allows splitting/ combining of data from Tables.Allows renaming of columns that make data more understandable/ consistency.Use stored procedures to insert/ update data
  • 16. Database SolutionUse Entity Framework 4 to implement object model on top of ViewsEasy for developers to use/ understandSeparate models by purposeEasier to deal withRe-use views in different models (sparingly)Remove properties that don’t make sense in modelInsert/ updates only through “main” EntityUse POCO T4 templateEasy to separate entities from data accessCan add functionality/ business logicSmaller payloads across the wire
  • 19. Exposing Data to PartnersExpose services via HTTPsUse WCF Data ServicesExpose data via REST (JSON and AtomPub) Easy to expose ModelsOne model per serviceControl Entity access using EntitySetAccessRule
  • 20. Exposing Data to PartnersUse WCF Data Services Limit number of records returned using EntitySetPageSizePrevent partners from access to clients that have not “enabled” the applicationModify data coming into service using ChangeInterceptor’sCan also update date in multiple Entities
  • 23. SecurityLimit partners access to data/ servicesValidate call is from authorized partnerUsing certificate or tokenValidate clientValidate partner has access to service.Validate client/ appValidate appValidate app is activeValidate app access to client
  • 24. SecurityUse WCF Message InspectorsIntercept service call before it hits the serviceDifferent Message Inspectors for different types of servicesGeneral services uses certificationClient data services uses tokenSmaller than a certificationAuthentication done by calls to back-endAlso used for logging partner usage dataWhat they are hittingPayload sizes
  • 28. ChallengesEF does better with “properly” designed databasesEF designer can easily screw up models (better in EF 4)WCF Data Services can be limitingHave to jump through a few hoops to have WCF Data Services to expose entities from a separate projectHave to manually edit .svc files to use Message Inspectors
  • 29. ChallengesBad REST Queries = Bad SQL QueriesDemands more processing power on the web tierMajority of programmers have never used REST/ LINQ to RestMore of a challenge with other languages (mostly because samples are written in .NET 4)
  • 30. Looking ForwardAllow more write access to dataProvide “batch” processingFaster data access on first hitAllow read/write access to Entity per appCreate new database from cleaned up model (far in the future)Better configuration, security, logging and developer portal using third-party vendor