SlideShare a Scribd company logo
Ing. Eduardo Castro Martínez
ecastro@grupoasesor.net
http://tinyurl.com/comunidadwindows
ARC306. Open Data For The Enterprise.
Jonathan Carter
DEV323. Best Practices: Creating OData
Services using WCF Data Servic. Alex
James
DEV325. Best Practices for Building
Custom Open Data Protocol (OData)
Services with Windows Azure. Alex James
Sql azure data services OData
Microsoft SQL Azure
Information Platform as a Service


  Managed Service                    Scale on Demand               Innovate Faster
  Platform capabilities delivered
  as a service (Database, Data      Database as a utility with   Innovate with new data
  Sync, Reporting…)                 pay as you grow scaling      application patterns
  Reduced complexity, greater       Rely on Business-ready       Build cloud-based data
  flexibility                       SLAs                         solutions on a familiar
                                                                 relational model
  Easy provisioning and             Enable multi-tenant
  deployment                        solutions                    Build on existing developer
                                                                 skills and familiar Transact-
  Auto High availability and        Manage multiple servers      SQL syntax
  fault tolerant
Subscription
   Used to map service usage to the billing instrument
   Users may have many subscriptions
Logical Server
   Akin to SQL Server Instance
   Unit of Geo-Location & Billing
   1:1 Subscription & server
User Database
   Restricted T-SQL surface area
   Additional catalog views provided e.g.
   sys.billing, sys.firewall_rules, etc
A relational DB in the cloud

                                                                SQL Azure Database

                                                                     Data Hub

                                                                  Others (Future)



                               .NET Services


                                       SQL Services
    Applications
                                                                     Relational database as a service
                                                Live Services
    Windows Azure
                                                                          Highly available, automatically maintained
                                                                     Extension of the SQL Server Data Platform
                    Applications


 Windows      Windows        Windows           Others
  Server      Vista/XP        Mobile
Single Logical Multiple Physical
  Database         Replicas


                      Repli
                      ca 1




                      Repli
        D             ca 2
        B

                      Repli
                      ca 3
Reference     Data Sync
                    Data




 Symmetric Programming Model           Data Hub Aggregation



• Initial services – core RDBMS capabilities with SQL Azure Database,
  Data Sync
• Future Offerings
    • Additional data platform capabilities: Reporting, BI
    • New services: Reference Data
Clear Feedback: “I want a database in the Cloud”

Familiar SQL Server relational model
Uses existing APIs & tools
Built for the Cloud with availability and scale
Accessible to all from PHP, Ruby, and Java


Focus on combining the best features of SQL Server
         running at scale with low friction
Application                                              Application                            Application
                                 Browser                                                       Browser
                                                                                                                             ODBC, OLEDB,
                                Application                                                   Application
              REST Client                                               REST Client                            SQL Client*   ADO.Net PHP,
                                                                                                                             Ruby, …




                             Cloud                                                           Cloud




                                               Evolves

                                                                          HTTP+REST
                 HTTP+REST




                                                                                                 HTTP
                                     HTTP




                                                                                                                  TDS
                               Windows Azure                                          Windows Azure
Data Center




                                                         Data Center
                                 Web App                                REST (Astoria)           Web App

                                REST Client                              ADO.Net + EF           SQL Client*




                REST/SOAP + ACE Model                                                    TDS + TSQL Model



                    SDS Current                                                          SDS Next

                                                                       * Client access enabled using TDS for ODBC,
                                                                         ADO.Net, OLEDB, PHP-SQL, Ruby, …
SQL Azure Database

                                                     Others (Future)




                               SQL Azure

Applications
                                   Windows Azure
                                     AppFabric
Windows Azure




                Applications



          Windows         Others
SQL Azure Database


                            Database
                     TDS

Application
                                       Database

                           Database




SQL Azure Database

  Others (Future)
SQL Azure Database


                     Database
Application


                                     Max database
               Database              size is 50 GB


                          Database
Application
               Database
Applications use standard SQL client libraries:
                                                                                               ODBC, ADO.Net, PHP, …
                                                                      Application




                                                                      Internet
                                                                       Azure
                                                                       Cloud


                                                       TDS (tcp)
         Security Boundary
                                                                                              Load balancer forwards „sticky‟ sessions to TDS
                                                                          LB                  protocol tier




    TDS (tcp)

                 Gateway             Gateway                Gateway                 Gateway               Gateway                  Gateway


             Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to CloudDB
    TDS (tcp)


L                            SQL                        SQL                             SQL                               SQL


             Scalability and Availability: Fabric, Failover, Replication, and Load balancing
Subscription
  Coordinated across all Azure services
  Executed in parallel w/retries
Server
  May occur between data centers
  Point where Geo-location is established
Database
  Always occurs within a single data center
  Cross node operations executed during this
  process e.g. add new db to sys.databases on the
  master
Live DNS Cluster
             Customer                                                      Live DNS
             Browser                                                          Svc

             1

                                Datacenter (Sub-Region)      5
       Portal LB                                                       Gateway LB
                                           2
                                                     4
                                                                 3                  6

Front-end Node          Front-end Node         Front-end Node              Front-end Node

Admin Portal                Admin Portal           Gateway                        Gateway

                                                     7

   Backend Node                       Backend Node                      Backend Node

SQL Server                        SQL Server                         SQL Server
                  Mgmt.                         Mgmt.                                Mgmt.
                 Services           Fabric     Services               Fabric        Services
  Fabric
1
                                       TDS Gateway
                                         Front-end Node
                           TDS Session                Protocol Parser
                                             2
                                                        3
                                  Gateway Logic


                                                                                   Master Cluster

                                                                                     Master Node
                                                                        4
                                                                                    Master Node
                                                                                    Components


    7
                                            5     8                            6

Backend Node 1                      Backend Node 2                           Backend Node 3
 SQL Instance                          SQL Instance                             SQL Instance
   SQL DB                                SQL DB                                   SQL DB




        Scalability and and Availability: Fabric,Failover,Replication, and Load balancing
             Scalability Availability: Fabric, Failover, Replication, and Load balancing
Account




Server




Database
Build a custom OData Service?
Configure and Deploy your OData Service?
Reach your audience?
Share only what you want?
Plan for the future?
OData is the easiest way to share data
Do it wrong and it will cost you
Mobile and JavaScript clients are important
Sharing too much can hurt your career
Things change.
“Open Data”
The “Open Data
Protocol”
1.      Based on HTTP & ATOM
2.      Open Specification Promise

     HTTP/ATOM
     + QUERY
     + JSON
     + METADATA
 HTTP
 Reach (devices and
    platforms)
   Metadata
   Formats (ATOM & JSON)
   Semantics(GET/PUT/POST/
    DELETE)
   Uri Conventions & Query
    Language
HTTP
Suitable for devices
Simple
Powerful
Eco-system
  Platforms:
  Javascript, PHP, Java, .NET, Silverlight, Ruby, i
  OS etc
  Producers:
  SharePoint, DataMarket, CRM, StackOverflow,
   Netflix etc.
Sql azure data services OData
For development you need:
  Windows Azure SDK and Windows Azure
  Tools for VS
  Azure account with at least:
    One Storage Account
    One Hosted Service
    Registered Certificate
  SQL Azure Database
Options
   Use SSIS
   Script Database and run script in new
   database
   Code in your app to initialize database
(Coming Soon)
http://www.sqlazurelabs.com/ImportExport.aspx
   (EXPORT) DacImportExportCli.exe
        -s serverName
        -d databaseName
        -f C:filePathexportFileName.bacpac
        -x -e
   (IMPORT) DacImportExportCli.exe
        -s serverName.database.windows.net
        -d databaseName
        -f C:filePathexportFileName.bacpac
        -i
Sql azure data services OData
.getJSON(..)     <script>




       {“x”:1}          callback({“x”:1})
Authentication & Authorization

       Authenticates and sets: HttpContext.Current.User
AuthN
  Windows Auth – simple for in the enterprise
  services
  Basic Auth – maximum reach
  Forms Auth – purely for integration
  OAuth – most flexible – but needs custom
  code
    OAuth HttpModule
    Custom client code to acquire credentials
authentica
                   tes
                   Gives
                   consent




                                             someone@facebook.com
       someone@facebook
       .com




Authenticates and sets: HttpContext.Current.User
Try to Authenticate
      someone@mycorp.c
      om




                                             someone@mycorp.com
Authenticates and sets: HttpContext.Current.User
need to access
       x@y.com‟s data
           token: x@y.com




                                             token: x@y.com canread
             canread




Authenticates and sets: HttpContext.Current.User
Sql azure data services OData
With
DataServiceContext.IgnoreMissingProperti
es:
   You can safely
       Add a new optional property
       Remove a property – Read Only
       Add unrelated new types
   But lots of things can go wrong.
       Add a required property or navigation
       Remove a property – Read/Write
       Rename a property (fail).
       Remove a type / feed
Realistic Solution
   V1/service.svc/
   V2/service.svc/
You just learned how to:

  The easiest way to build a web-api
  The easiest way to host a web-api
  How to do it the right way:
     Configuration
     Security & Reach
     Versioning

You know how to create a REAL service…
Windows Azure SDK and Windows Azure Tools for
Microsoft Visual Studio http://bit.ly/mMcoc3

JSONP component (with recent bug fix)
http://bit.ly/mbk04c
Using ASP.NET Output Caching with WCF Data Services
http://bit.ly/gXmbdE
Authentication posts on the OData team blog
http://bit.ly/gXmbdE
The New Hands-on Lab on ACS + WP7 + OAuth2.0
OData Service http://bit.ly/h8gcJV
http://www.odata.org


http://msdn.microsoft.com/odata
                     http://odata.codeplex.com


http://odata.msteched.com/tena2011/sessions.svc
http://www.microsoft.com/visualstudio
http://www.microsoft.com/visualstudio/en-
us/lightswitch
http://www.microsoft.com/expression/
http://blogs.msdn.com/b/somasegar/
http://blogs.msdn.com/b/bharry/
http://www.microsoft.com/sqlserver/en/us/de
fault.aspx
http://www.facebook.com/visualstudio
Sql azure data services OData
http://northamerica.msteched.com




www.microsoft.com/teched                 www.microsoft.com/learning




http://microsoft.com/technet              http://microsoft.com/msdn
Sql azure data services OData

More Related Content

What's hot (20)

PPTX
Benzodiazepines: basics
Ahmed Elaghoury
 
PPTX
Enzyme Inhibition & Kinetics of Elimination
STUTISRIVASTAVA27
 
ODP
Cobix (Celecoxib Capsules)
Clearsky Pharmacy
 
PPTX
PHARMACOLOGY OF DRUGS ACTING ON PERIPHERAL NERVOUS SYSTEM.pptx
RupaSingh83
 
PPTX
ADRENERGIC BLOCKERS
Dr Shahid Saache
 
PDF
A small comparison between SAP S/4HANA Cloud : Public Vs Private Vs On Premise
Soumya De
 
PPT
Cholinergic antagonists
coolboy101pk
 
PPTX
Parasympathomimetics
AnkurJoshi62
 
PPT
SYMPATHOMIMETIC by Mukesh Gupta
Shweta Gupta
 
PPT
Cholinergic blockers
raj kumar
 
PPTX
Beta blockers
frozendent
 
PPTX
ANTIANGINAL DRUG
Nathani Zeeshan
 
PPTX
Antianginal
monicaajmerajain
 
PPTX
SAP HANA Interview questions
IT LearnMore
 
PPT
Antihypertensive drugs
pavelbd
 
PPTX
Sympathomimetics
UsmanKhalid135
 
PPTX
cholinergics and anticholinergics presentation.pptx
NoorSalam17
 
PPTX
Anti spasmodics
Abeer Abd Elrahman
 
PPTX
Antimuscarinic Agents
RABBI
 
PPT
20.Diuretics & Antidiuretics.ppt
DrAshokkumar21
 
Benzodiazepines: basics
Ahmed Elaghoury
 
Enzyme Inhibition & Kinetics of Elimination
STUTISRIVASTAVA27
 
Cobix (Celecoxib Capsules)
Clearsky Pharmacy
 
PHARMACOLOGY OF DRUGS ACTING ON PERIPHERAL NERVOUS SYSTEM.pptx
RupaSingh83
 
ADRENERGIC BLOCKERS
Dr Shahid Saache
 
A small comparison between SAP S/4HANA Cloud : Public Vs Private Vs On Premise
Soumya De
 
Cholinergic antagonists
coolboy101pk
 
Parasympathomimetics
AnkurJoshi62
 
SYMPATHOMIMETIC by Mukesh Gupta
Shweta Gupta
 
Cholinergic blockers
raj kumar
 
Beta blockers
frozendent
 
ANTIANGINAL DRUG
Nathani Zeeshan
 
Antianginal
monicaajmerajain
 
SAP HANA Interview questions
IT LearnMore
 
Antihypertensive drugs
pavelbd
 
Sympathomimetics
UsmanKhalid135
 
cholinergics and anticholinergics presentation.pptx
NoorSalam17
 
Anti spasmodics
Abeer Abd Elrahman
 
Antimuscarinic Agents
RABBI
 
20.Diuretics & Antidiuretics.ppt
DrAshokkumar21
 

Viewers also liked (6)

PPTX
Hardening Sql 2008 03
Eduardo Castro
 
PPT
Celebrating 30 successful years in the Gift Basket Industry
Al Zavislak
 
PDF
Scribe online 04 o data connector
Scribe Software Corp.
 
PPT
Abstraction rule of thirds
Riverwood HS
 
PPT
Design final review - printmaking
Riverwood HS
 
PDF
Introduction to External Objects and the OData Connector
Salesforce Developers
 
Hardening Sql 2008 03
Eduardo Castro
 
Celebrating 30 successful years in the Gift Basket Industry
Al Zavislak
 
Scribe online 04 o data connector
Scribe Software Corp.
 
Abstraction rule of thirds
Riverwood HS
 
Design final review - printmaking
Riverwood HS
 
Introduction to External Objects and the OData Connector
Salesforce Developers
 
Ad

Similar to Sql azure data services OData (20)

PPTX
SQL Azure Federation and Scalability
Eduardo Castro
 
PDF
Sql azure database under the hood
Eduardo Castro
 
PDF
Sql azure database under the hood
guest2dd056
 
PPTX
SQL Data Service Overview
Eric Nelson
 
PPTX
3. Sql Services 概览
GaryYoung
 
PPTX
Building applications using sql azure
pedrojcj
 
PDF
Windows Azure架构探析
George Ang
 
PPTX
SQLUG event: An evening in the cloud: the old, the new and the big
Mike Martin
 
PPTX
The Hybrid Windows Azure Application
Michael Collier
 
PPTX
Azure Services Platform
David Chou
 
PPTX
Sql azure introduction
Suherman .
 
PDF
In De Wolken Met Cloud Computing
Anko Duizer
 
PDF
SQL Azure for ITPros
Tobias Koprowski
 
PDF
Microsoft PaaS Cloud Windows Azure Platform
Esri
 
PPTX
Cloud Computing - новая парадигма облачных вычислений. Windows Azure.
Dmitri Soshnikov
 
PPTX
Introducing SQL Server Data Services
goodfriday
 
PPTX
Introducing SQL Server Data Services
goodfriday
 
PDF
Lap Around Sql Azure
Anko Duizer
 
PPTX
Windows Azure Üzerinden Alınabilecek Hizmetler
MSHOWTO Bilisim Toplulugu
 
PPTX
Windows Azure Uzerinden Alinabilen Hizmetler
Mustafa
 
SQL Azure Federation and Scalability
Eduardo Castro
 
Sql azure database under the hood
Eduardo Castro
 
Sql azure database under the hood
guest2dd056
 
SQL Data Service Overview
Eric Nelson
 
3. Sql Services 概览
GaryYoung
 
Building applications using sql azure
pedrojcj
 
Windows Azure架构探析
George Ang
 
SQLUG event: An evening in the cloud: the old, the new and the big
Mike Martin
 
The Hybrid Windows Azure Application
Michael Collier
 
Azure Services Platform
David Chou
 
Sql azure introduction
Suherman .
 
In De Wolken Met Cloud Computing
Anko Duizer
 
SQL Azure for ITPros
Tobias Koprowski
 
Microsoft PaaS Cloud Windows Azure Platform
Esri
 
Cloud Computing - новая парадигма облачных вычислений. Windows Azure.
Dmitri Soshnikov
 
Introducing SQL Server Data Services
goodfriday
 
Introducing SQL Server Data Services
goodfriday
 
Lap Around Sql Azure
Anko Duizer
 
Windows Azure Üzerinden Alınabilecek Hizmetler
MSHOWTO Bilisim Toplulugu
 
Windows Azure Uzerinden Alinabilen Hizmetler
Mustafa
 
Ad

More from Eduardo Castro (20)

PPTX
Introducción a polybase en SQL Server
Eduardo Castro
 
PPTX
Creando tu primer ambiente de AI en Azure ML y SQL Server
Eduardo Castro
 
PPTX
Seguridad en SQL Azure
Eduardo Castro
 
PPTX
Azure Synapse Analytics MLflow
Eduardo Castro
 
PPTX
SQL Server 2019 con Windows Server 2022
Eduardo Castro
 
PPTX
Novedades en SQL Server 2022
Eduardo Castro
 
PPTX
Introduccion a SQL Server 2022
Eduardo Castro
 
PPTX
Machine Learning con Azure Managed Instance
Eduardo Castro
 
PPTX
Novedades en sql server 2022
Eduardo Castro
 
PDF
Sql server 2019 con windows server 2022
Eduardo Castro
 
PDF
Introduccion a databricks
Eduardo Castro
 
PDF
Pronosticos con sql server
Eduardo Castro
 
PDF
Data warehouse con azure synapse analytics
Eduardo Castro
 
PPTX
Que hay de nuevo en el Azure Data Lake Storage Gen2
Eduardo Castro
 
PPTX
Introduccion a Azure Synapse Analytics
Eduardo Castro
 
PPTX
Seguridad de SQL Database en Azure
Eduardo Castro
 
PPTX
Python dentro de SQL Server
Eduardo Castro
 
PDF
Servicios Cognitivos de de Microsoft
Eduardo Castro
 
TXT
Script de paso a paso de configuración de Secure Enclaves
Eduardo Castro
 
PDF
Introducción a conceptos de SQL Server Secure Enclaves
Eduardo Castro
 
Introducción a polybase en SQL Server
Eduardo Castro
 
Creando tu primer ambiente de AI en Azure ML y SQL Server
Eduardo Castro
 
Seguridad en SQL Azure
Eduardo Castro
 
Azure Synapse Analytics MLflow
Eduardo Castro
 
SQL Server 2019 con Windows Server 2022
Eduardo Castro
 
Novedades en SQL Server 2022
Eduardo Castro
 
Introduccion a SQL Server 2022
Eduardo Castro
 
Machine Learning con Azure Managed Instance
Eduardo Castro
 
Novedades en sql server 2022
Eduardo Castro
 
Sql server 2019 con windows server 2022
Eduardo Castro
 
Introduccion a databricks
Eduardo Castro
 
Pronosticos con sql server
Eduardo Castro
 
Data warehouse con azure synapse analytics
Eduardo Castro
 
Que hay de nuevo en el Azure Data Lake Storage Gen2
Eduardo Castro
 
Introduccion a Azure Synapse Analytics
Eduardo Castro
 
Seguridad de SQL Database en Azure
Eduardo Castro
 
Python dentro de SQL Server
Eduardo Castro
 
Servicios Cognitivos de de Microsoft
Eduardo Castro
 
Script de paso a paso de configuración de Secure Enclaves
Eduardo Castro
 
Introducción a conceptos de SQL Server Secure Enclaves
Eduardo Castro
 

Recently uploaded (20)

PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 

Sql azure data services OData

  • 1. Ing. Eduardo Castro Martínez [email protected] http://tinyurl.com/comunidadwindows
  • 2. ARC306. Open Data For The Enterprise. Jonathan Carter DEV323. Best Practices: Creating OData Services using WCF Data Servic. Alex James DEV325. Best Practices for Building Custom Open Data Protocol (OData) Services with Windows Azure. Alex James
  • 4. Microsoft SQL Azure Information Platform as a Service Managed Service Scale on Demand Innovate Faster Platform capabilities delivered as a service (Database, Data Database as a utility with Innovate with new data Sync, Reporting…) pay as you grow scaling application patterns Reduced complexity, greater Rely on Business-ready Build cloud-based data flexibility SLAs solutions on a familiar relational model Easy provisioning and Enable multi-tenant deployment solutions Build on existing developer skills and familiar Transact- Auto High availability and Manage multiple servers SQL syntax fault tolerant
  • 5. Subscription Used to map service usage to the billing instrument Users may have many subscriptions Logical Server Akin to SQL Server Instance Unit of Geo-Location & Billing 1:1 Subscription & server User Database Restricted T-SQL surface area Additional catalog views provided e.g. sys.billing, sys.firewall_rules, etc
  • 6. A relational DB in the cloud SQL Azure Database Data Hub Others (Future) .NET Services SQL Services Applications Relational database as a service Live Services Windows Azure Highly available, automatically maintained Extension of the SQL Server Data Platform Applications Windows Windows Windows Others Server Vista/XP Mobile
  • 7. Single Logical Multiple Physical Database Replicas Repli ca 1 Repli D ca 2 B Repli ca 3
  • 8. Reference Data Sync Data Symmetric Programming Model Data Hub Aggregation • Initial services – core RDBMS capabilities with SQL Azure Database, Data Sync • Future Offerings • Additional data platform capabilities: Reporting, BI • New services: Reference Data
  • 9. Clear Feedback: “I want a database in the Cloud” Familiar SQL Server relational model Uses existing APIs & tools Built for the Cloud with availability and scale Accessible to all from PHP, Ruby, and Java Focus on combining the best features of SQL Server running at scale with low friction
  • 10. Application Application Application Browser Browser ODBC, OLEDB, Application Application REST Client REST Client SQL Client* ADO.Net PHP, Ruby, … Cloud Cloud Evolves HTTP+REST HTTP+REST HTTP HTTP TDS Windows Azure Windows Azure Data Center Data Center Web App REST (Astoria) Web App REST Client ADO.Net + EF SQL Client* REST/SOAP + ACE Model TDS + TSQL Model SDS Current SDS Next * Client access enabled using TDS for ODBC, ADO.Net, OLEDB, PHP-SQL, Ruby, …
  • 11. SQL Azure Database Others (Future) SQL Azure Applications Windows Azure AppFabric Windows Azure Applications Windows Others
  • 12. SQL Azure Database Database TDS Application Database Database SQL Azure Database Others (Future)
  • 13. SQL Azure Database Database Application Max database Database size is 50 GB Database Application Database
  • 14. Applications use standard SQL client libraries: ODBC, ADO.Net, PHP, … Application Internet Azure Cloud TDS (tcp) Security Boundary Load balancer forwards „sticky‟ sessions to TDS LB protocol tier TDS (tcp) Gateway Gateway Gateway Gateway Gateway Gateway Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to CloudDB TDS (tcp) L SQL SQL SQL SQL Scalability and Availability: Fabric, Failover, Replication, and Load balancing
  • 15. Subscription Coordinated across all Azure services Executed in parallel w/retries Server May occur between data centers Point where Geo-location is established Database Always occurs within a single data center Cross node operations executed during this process e.g. add new db to sys.databases on the master
  • 16. Live DNS Cluster Customer Live DNS Browser Svc 1 Datacenter (Sub-Region) 5 Portal LB Gateway LB 2 4 3 6 Front-end Node Front-end Node Front-end Node Front-end Node Admin Portal Admin Portal Gateway Gateway 7 Backend Node Backend Node Backend Node SQL Server SQL Server SQL Server Mgmt. Mgmt. Mgmt. Services Fabric Services Fabric Services Fabric
  • 17. 1 TDS Gateway Front-end Node TDS Session Protocol Parser 2 3 Gateway Logic Master Cluster Master Node 4 Master Node Components 7 5 8 6 Backend Node 1 Backend Node 2 Backend Node 3 SQL Instance SQL Instance SQL Instance SQL DB SQL DB SQL DB Scalability and and Availability: Fabric,Failover,Replication, and Load balancing Scalability Availability: Fabric, Failover, Replication, and Load balancing
  • 19. Build a custom OData Service? Configure and Deploy your OData Service? Reach your audience? Share only what you want? Plan for the future?
  • 20. OData is the easiest way to share data Do it wrong and it will cost you Mobile and JavaScript clients are important Sharing too much can hurt your career Things change.
  • 23. 1. Based on HTTP & ATOM 2. Open Specification Promise HTTP/ATOM + QUERY + JSON + METADATA
  • 24.  HTTP  Reach (devices and platforms)  Metadata  Formats (ATOM & JSON)  Semantics(GET/PUT/POST/ DELETE)  Uri Conventions & Query Language
  • 25. HTTP Suitable for devices Simple Powerful Eco-system Platforms: Javascript, PHP, Java, .NET, Silverlight, Ruby, i OS etc Producers: SharePoint, DataMarket, CRM, StackOverflow, Netflix etc.
  • 27. For development you need: Windows Azure SDK and Windows Azure Tools for VS Azure account with at least: One Storage Account One Hosted Service Registered Certificate SQL Azure Database
  • 28. Options Use SSIS Script Database and run script in new database Code in your app to initialize database (Coming Soon) http://www.sqlazurelabs.com/ImportExport.aspx (EXPORT) DacImportExportCli.exe -s serverName -d databaseName -f C:filePathexportFileName.bacpac -x -e (IMPORT) DacImportExportCli.exe -s serverName.database.windows.net -d databaseName -f C:filePathexportFileName.bacpac -i
  • 30. .getJSON(..) <script> {“x”:1} callback({“x”:1})
  • 31. Authentication & Authorization Authenticates and sets: HttpContext.Current.User
  • 32. AuthN Windows Auth – simple for in the enterprise services Basic Auth – maximum reach Forms Auth – purely for integration OAuth – most flexible – but needs custom code OAuth HttpModule Custom client code to acquire credentials
  • 33. authentica tes Gives consent [email protected] someone@facebook .com Authenticates and sets: HttpContext.Current.User
  • 34. Try to Authenticate [email protected] om [email protected] Authenticates and sets: HttpContext.Current.User
  • 35. need to access [email protected]‟s data token: [email protected] token: [email protected] canread canread Authenticates and sets: HttpContext.Current.User
  • 37. With DataServiceContext.IgnoreMissingProperti es: You can safely Add a new optional property Remove a property – Read Only Add unrelated new types But lots of things can go wrong. Add a required property or navigation Remove a property – Read/Write Rename a property (fail). Remove a type / feed Realistic Solution V1/service.svc/ V2/service.svc/
  • 38. You just learned how to: The easiest way to build a web-api The easiest way to host a web-api How to do it the right way: Configuration Security & Reach Versioning You know how to create a REAL service…
  • 39. Windows Azure SDK and Windows Azure Tools for Microsoft Visual Studio http://bit.ly/mMcoc3 JSONP component (with recent bug fix) http://bit.ly/mbk04c Using ASP.NET Output Caching with WCF Data Services http://bit.ly/gXmbdE Authentication posts on the OData team blog http://bit.ly/gXmbdE The New Hands-on Lab on ACS + WP7 + OAuth2.0 OData Service http://bit.ly/h8gcJV
  • 40. http://www.odata.org http://msdn.microsoft.com/odata http://odata.codeplex.com http://odata.msteched.com/tena2011/sessions.svc
  • 43. http://northamerica.msteched.com www.microsoft.com/teched www.microsoft.com/learning http://microsoft.com/technet http://microsoft.com/msdn