• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Building Flexible Data Services for the Web Using the ADO .NET Data Services Framework
 

Building Flexible Data Services for the Web Using the ADO .NET Data Services Framework

on

  • 2,455 views

 

Statistics

Views

Total Views
2,455
Views on SlideShare
2,436
Embed Views
19

Actions

Likes
0
Downloads
29
Comments
0

4 Embeds 19

http://aartemiou.blogspot.com 12
http://www.slideshare.net 5
http://www.linkedin.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Building Flexible Data Services for the Web Using the ADO .NET Data Services Framework Building Flexible Data Services for the Web Using the ADO .NET Data Services Framework Presentation Transcript

    • Slot # 18 - Building Flexible Data Services for the Web Using the ADO .NET Data Services Framework 17:00 GMT (UTC) Artemakis Artemiou B.Sc., M.Sc., Microsoft SQL Server MVP, MCP, MCTS Cyprus .NET User Group (CDNUG) Lead INETA-Europe Country Leader (CY) H.S.Data Ltd. a_artemiou@hotmail.com Co-Sponsored by: Media Sponsors:
    • Agenda • Data Access • The ADO .NET Entity Framework • The ADO .NET Data Services Framework • Why ADO .NET Data Services? • The Architecture of a Data Service • Building a Data Service From Scratch • Consuming a Data Service • Data Services Security • Summary
    • Data Access Definition • A way of accessing a data repository for storing, retrieving, or manipulating data Standards Used for Data Access • SQL, ODBC, JDBC, ADO.NET, XML, XQuery, Xpath, Web Services ADO .NET • Part of the base class library that is included with the Microsoft .NET Framework • Access and modify data stored in relational database systems • Access and modify data in non-relational sources • Provides developers with fast and robust data access methods
    • The ADO .NET Entity Framework (I) Entity Data Model • Describes conceptual schema • An object model, independent of storage considerations • Entities and their relationships are modeled by using two basic types: – EntityType & AssociationType Mapping Model • Conceptual schema to database storage • Mapping model implemented via three XML files – Each has its own XSD vocabulary – Conceptual schema (CSDL) – Storage schema (SSDL) – Mapping schema (MSL)
    • The ADO .NET Entity Framework (II) Benefits • Abstraction in Data Access – Just know and use the conceptual schema – If relational database changes, not need to change the code • Simplified representation of Relational Models Entity Framework and ADO .NET Data Services • Conceptual model drives the service tier • Service tier adjusts automatically upon updates to the conceptual model • Uniformity among the service code • Code reuse
    • The ADO .NET Data Services Framework (I) Mobile & Smart Different Clients Types of Desktop Users & Web Apps Media Centers WWW - HTTP Your Data
    • The ADO .NET Data Services Framework (II) REST Interface • Data is communicated/handled in the style of representational state transfer (REST) – CRUD operations are performed using HTTP Verbs: • GET = SELECT • POST = INSERT • PUT = UPDATE • DELETE = DELETE – Resources are identified by URIs (entities and associations  resources and links) – Formats: JSON, AtomPub Tightly Integrated with HTTP • HTTP is often the only line of sight from an AJAX or Silverlight application • Enormous amounts of infrastructure exists to support HTTP
    • Why ADO .NET Data Services? Industry Trends • “Connected” applications – Rich AJAX web applications – Flash & Silverlight applications, Mashups, etc. Services Supporting “Connected” Applications • Operation Center Services (example: Windows Live ID) – More about process • Data Centric Services (example: Windows Live Photos) – Very popular – Is all about data – Enables the creation of AJAX & Silverlight apps, Mashups, etc.
    • Why ADO .NET Data Services? Data The data is conveyed along with presentation and & Other Information behavior information Traditional Tiered Web Applications Data Feeds The data is moved Data Data out-of-band with the presentation and HTML + Javascript DLL + XAML behavior information AJAX Applications Silverlight Applications Mashups
    • The Architecture of a Data Service • Out of the box: WCF hosted within an ASP.NET HTTP web page • You can also author your own host Hosting/HTTP Listener • The ADO.NET Data Services framework exists as a DLL Data Services Runtime IQueryable [+ IUpdatable] Two paths: • Relational data – Entity Framework Data Access Layer • Everything else - Language Integrated Query (LINQ) Entity Custom LINQ Framework provider Relational Non-Relational Source Source
    • DEMO: Examining an ADO .NET Data Service
    • Building a Data Service from Scratch Development Environment • Visual Studio 2008 SP1 • .NET Framework 3.5 SP1 Data Sources • Entity Framework for Relational Data • LINQ for Non-Relational Data Model-Driven • Structural description in Entity Data Model • Schema shapes the service contract
    • DEMO: Building a Data Service from Scratch
    • Consuming a Data Service An HTTP Stack is Enough! Lowest JSON & AtomPub clients Level of Windows Data Services Clients abstraction • .NET Framework – LINQ to ADO.NET Data Services • Silverlight 2 • AJAX (currently on codeplex) Highest • ASP.NET Data Source control
    • DEMO: Consuming a Data Service
    • Data Services Security (I) Visibility • Per-container visibility control • Read, Query and Write options Authentication • Integrate with hosting environment • ASP.NET, WCF or custom authentication schemes
    • Data Services Security (II) Interceptors • Execute before HTTP GET/PUT/POST/DELETE • Enable validation, custom row-level security policies • Maintain the REST interface Service Operators • Custom entry points, e.g. /MyTags?startDate='2009-09-02' • Composable, follow URI scheme
    • Summary Data is exposed over HTTP via ADO.NET Data Services • Entity Data Model • URIs (entities and associations  resources and links) • HTTP Verbs for data manipulation – GET = SELECT – POST = INSERT – PUT = UPDATE – DELETE = DELETE • Formats: JSON, AtomPub ADO .NET Data Services Very Useful for: • AJAX & Silverlight Applications, Online Data Services, Mashups & the Cloud!
    • Resources • ADO.NET Data Services Framework Website • http://astoria.mslivelabs.com/Default.aspx • ADO.NET Data Services Team Blog • http://blogs.msdn.com/astoriateam • Representational State Transfer (REST) • http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm • The Atom Publishing Protocol RFC • http://tools.ietf.org/html/rfc5023 • JavaScript Object Notation RFC (JSON) • http://tools.ietf.org/html/rfc4627 • Artemakis Artemiou’s Blog • http://aartemiou.blogspot.com
    • Q&A
    • Contact PASS 203 North LaSalle - Suite 2100 Chicago, IL 60601 Tel 1.604.899.6009 Fax 1.604.899.1269 www.sqlpass.org
    • November 2-5. Seattle WA. The Premier Conference for SQL Server Professionals Register Today. www.summit2009.sqlpass.org
    • Thank you for attending 24 Hours of PASS Co-Sponsored by: Media Sponsors: