Web APIs auf dem Prüfstand
Volle Kontrolle oder fertig mit den Azure Mobile Services?
Web APIs
Remote Procedure Calls (RPC)
Verben/Aktionen im Endpunkt enthalten
GetCustomer
InsertInvoice
DeleteCustomer
Jeder Endpunkt...
REST is kein Standard, verwendet aber Standards
Architekturkonzept
Roy Fielding in 2000
“Architectural Styles and the Desi...
Statuslos (stateless)
URIs mit Verzeichnisstruktur
XML, JavaScript Object Notation (JSON) oder beides
Übertragung von Snap...
Anfrage (Request)
• Request Line
• Request Headers
• Request Body
Antwort (Response)
• Status Line
• Response Headers
• Re...
Anfrage (Request)
GET http://localhost:21697/api/employees/12345 HTTP/1.1
User-Agent: Fiddler
Host: localhost:21697
Antwor...
Anfrage (Request)
PATCH http://localhost:21697/api/employees/12345 HTTP/1.1
Content-Type: application/json
Host: localhost...
Create, Read, Update und Delete-Operationen (CRUD)
bilden auf HTTP-Methoden ab.
Erstellen (Create)  POST
Lesen (Read)  G...
ASP.NET MVC Modell
Controller  ApiController
ASP.NET Web API
Microsoft Azure
Mobile Services
ASP.NET MVC Web API
• .NET-Sprachen wie C#, VB.NET, …
• MVC-Architektur
• I.d.R. Remote-Debuggen möglich
• Lokales Testen ...
ASP.NET MVC Web API
• I.d.R. IIS in vielfältiger Umgebung
Eigener Server
Hoster
Azure Websites
Azure Cloud Services
• Über...
Daten speichern
ASP.NET MVC Web API
• Datensenke erstellen, verbinden
und verwenden
Azure Mobile Services
• Azure SQL Database
• Offline-S...
Integration
Unterstützung für REST durch viele Bibliotheken
Alternativ: separate Unterstützung für HTTP, JSON und XML
Breite Tool-Unte...
SDKs in Azure Mobile Services für Vielzahl an Plattformen
Windows Universal Apps
Android
iOS
HTML / JavaScript
Xamarin
Pho...
Verbindung mit lokaler Infrastruktur
Connection String:
my-database:1433
Hybrid
Connection
Manager
Server: my-database:143...
Absicherung
Konfiguration entspricht der Einrichtung von Web-Servern
Unabhängig von REST oder Web API
Konfiguration abhängig von der I...
ASP.NET MVC Web API
• Implementierung bei ASP.NET MVC
Web API benutzerdefiniert
Azure Mobile Services
Beinhaltet SSO-Provi...
Resumé
Auswahl des Frameworks und der Plattform
Web API
On-Prem
Web API auf
Azure
Azure Mobile Services
HTTP Stack Web API Web AP...
© 2014 Microsoft Corporation. All rights reserved. Because
Microsoft must respond to changing market conditions, it should...
Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile Services? (Microsoft Technical Summit 2014)
Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile Services? (Microsoft Technical Summit 2014)
Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile Services? (Microsoft Technical Summit 2014)
Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile Services? (Microsoft Technical Summit 2014)
Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile Services? (Microsoft Technical Summit 2014)
Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile Services? (Microsoft Technical Summit 2014)
Nächste SlideShare
Wird geladen in …5
×

Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile Services? (Microsoft Technical Summit 2014)

424 Aufrufe

Veröffentlicht am

Web APIs stehen für offene und einheitliche Schnittstellen im Internet und sind die Basis für ein standardisiertes Backend, dass cross-platform für verschiedenste Clients zur Verfügung stehen kann.

Wer REST-Schnittstellen braucht, kann unter Umständen bereits in den Azure Mobile Services alle Antworten finden. Wo aber liegen die Grenzen? Für welche Anforderungen kann man auf die Azure Mobile Services zurückgreifen und wann sollte der Weg über eine eigene Web API gehen? Welche Vorteile und welche Limitierungen bestehen?

In diesem Vortrag betrachten wir dazu die Entwicklung, das Deployment, den Betrieb, die Absicherung und Migrationsmöglichkeiten.

Veröffentlicht in: Technologie
1 Kommentar
0 Gefällt mir
Statistik
Notizen
  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
424
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
5
Kommentare
1
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • ASP.NET MVC Web API
    Azure Mobile Services

    CRUD  Post, Put, Delete, Patch

    While REST is not a standard, it does use standards:
    HTTP
    URL
    XML/HTML/GIF/JPEG/etc (Resource Representations)
    text/xml, text/html, image/gif, image/jpeg, etc (MIME Types)
  • Wie funktioniert es?  Wie programmiert man es?
    Wie sieht es aus Client-Sicht aus?  Code
  • Mit VS eine Web API in C# bauen.
    Die Web API lokal ansprechen. (Mit Fiddler.)
  • Was sind die AMS? Was können sie?
    Backend JS und .NET: Unterschiede Code und Portal
    Daten-Backend: Azure SQL Database
  • Azure Mobile Service in Azure mit JS-Backend erstellen
    Azure Mobile Service in Azure mit .NET-Backend erstellen
    Das .NET-Backend ist WebAPI. Daher in Folge nur noch Vergleich zum JS-Backend.
    Custom API über Fiddler aufrufen.
  • Daten speichern im ASP.NET MVC Web API Projekt
    Daten speichern im Azure Mobile Service (JS / .NET)
  • Using the REST Services with .NET
    http://msdn.microsoft.com/en-us/library/jj819168.aspx
    Java 7 - Mehr als eine Insel - RESTful Web-Services
    http://openbook.galileocomputing.de/java7/1507_13_002.html

    Runscope: www.runscope.com
  • Beispiel aus den Azure Mobile Services des Schnellstarts für Windows.
  • Beispiel aus den Azure Mobile Services des Schnellstarts für Android.
  • Quick Start in Azure Mobile Services, Universal App (und Android)
    Hybrid Connection
  • Integriert bei AMS und nicht änderbar
  • Beispiel für die Konfiguration bei Azure Websites
  • Authentifikation mit AMS und FB
  • Diese Folie als Sprechernotizen verwenden.
  • Web APIs auf dem Prüfstand - Volle Kontrolle oder fertig mit den Azure Mobile Services? (Microsoft Technical Summit 2014)

    1. 1. Web APIs auf dem Prüfstand Volle Kontrolle oder fertig mit den Azure Mobile Services?
    2. 2. Web APIs
    3. 3. Remote Procedure Calls (RPC) Verben/Aktionen im Endpunkt enthalten GetCustomer InsertInvoice DeleteCustomer Jeder Endpunkt entspricht einem eigenen URI Wo kommen wir her?
    4. 4. REST is kein Standard, verwendet aber Standards Architekturkonzept Roy Fielding in 2000 “Architectural Styles and the Design of Network-based Software Architectures” HTTP Stack, expliziter Gebrauch von HTTP Methoden/Verben Representational State Transfer (REST)
    5. 5. Statuslos (stateless) URIs mit Verzeichnisstruktur XML, JavaScript Object Notation (JSON) oder beides Übertragung von Snapshots der Daten im Body Keine Anweisungen oder Methoden im Body Grundlegende Entwurfsprinzipien von REST
    6. 6. Anfrage (Request) • Request Line • Request Headers • Request Body Antwort (Response) • Status Line • Response Headers • Response Body Anatomie von HTTP-Nachrichten
    7. 7. Anfrage (Request) GET http://localhost:21697/api/employees/12345 HTTP/1.1 User-Agent: Fiddler Host: localhost:21697 Antwort (Response) HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Date: Tue, 04 Nov 2014 15:48:03 GMT Content-Length: 50 {"Id":12345,"FirstName":"John","LastName":"Human"} Beispiel: GET
    8. 8. Anfrage (Request) PATCH http://localhost:21697/api/employees/12345 HTTP/1.1 Content-Type: application/json Host: localhost:21697 Content-Length: 23 {"LastName":"Kirchner"} Antwort (Response) HTTP/1.1 204 No Content Date: Tue, 04 Nov 2014 16:36:35 GMT Beispiel: PATCH
    9. 9. Create, Read, Update und Delete-Operationen (CRUD) bilden auf HTTP-Methoden ab. Erstellen (Create)  POST Lesen (Read)  GET Ändern (Update)  PUT / PATCH Löschen (Delete)  DELETE Generelles Entwurfsprinzip: Nomen statt Verben verwenden HTTP-Methoden
    10. 10. ASP.NET MVC Modell Controller  ApiController ASP.NET Web API
    11. 11. Microsoft Azure Mobile Services
    12. 12. ASP.NET MVC Web API • .NET-Sprachen wie C#, VB.NET, … • MVC-Architektur • I.d.R. Remote-Debuggen möglich • Lokales Testen möglich Azure Mobile Services Mit JavaScript-Backend • JavaScript und node.js • Kein lokales Testen • Kein Remote-Debuggen Mit .NET-Backend • ASP.NET MVC Web API Siehe linke Seite  • Integrierte Features von AMS Entwicklungsumgebung
    13. 13. ASP.NET MVC Web API • I.d.R. IIS in vielfältiger Umgebung Eigener Server Hoster Azure Websites Azure Cloud Services • Übertragung abhängig von Umgebung FTP Web Deploy Git, TFS Azure Mobile Services • Git Mit JavaScript-Backend • Manuelles Editieren im Verwaltungsportal Mit .NET-Backend • Ausführung auf Azure Websites Übertragung dadurch mit Web Deploy oder FTP Deployment
    14. 14. Daten speichern
    15. 15. ASP.NET MVC Web API • Datensenke erstellen, verbinden und verwenden Azure Mobile Services • Azure SQL Database • Offline-Synchronisation möglich • Datenbankzugriff abstrahiert Client- und serverseitig Mit JavaScript-Backend • Dynamisches Schema Daten
    16. 16. Integration
    17. 17. Unterstützung für REST durch viele Bibliotheken Alternativ: separate Unterstützung für HTTP, JSON und XML Breite Tool-Unterstützung zum Testen GET-Anfragen mit Browsern Auswahl von HTTP-Methoden in Tools wie Fiddler oder Runscope Entwicklerunterstützung SDKs für Client-Entwicklung Azure API Management Integration von REST-Diensten
    18. 18. SDKs in Azure Mobile Services für Vielzahl an Plattformen Windows Universal Apps Android iOS HTML / JavaScript Xamarin PhoneGab SDKs in Azure Mobile Services
    19. 19. Verbindung mit lokaler Infrastruktur Connection String: my-database:1433 Hybrid Connection Manager Server: my-database:1433 Hybrid Connection Endpoint http://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-hybrid-connections-get-started/
    20. 20. Absicherung
    21. 21. Konfiguration entspricht der Einrichtung von Web-Servern Unabhängig von REST oder Web API Konfiguration abhängig von der Installation Hoster VMs Azure Website Cloud Service Azure Mobile Service TLS / SSL
    22. 22. ASP.NET MVC Web API • Implementierung bei ASP.NET MVC Web API benutzerdefiniert Azure Mobile Services Beinhaltet SSO-Provider • Twitter • Google • Facebook • Microsoft-Konto • Azure Active Directory Authentifikation
    23. 23. Resumé
    24. 24. Auswahl des Frameworks und der Plattform Web API On-Prem Web API auf Azure Azure Mobile Services HTTP Stack Web API Web API Web API Data Stack EF, nach Belieben EF, Azure Tables, nach Belieben EF, Azure Tables etc. Automatische SQL-Provisionierung Hosting BYO PaaS PaaS + seamless framework updates and bugfixes Device SDK BYO BYO Windows, iOS, Android, HTML, Xamarin, PhoneGab Auth/Offline NuGet NuGet Integriert für Social SSOs und AAD Offline basiert auf SQLite Push NuGet Notification Hubs Integriert mit Notification Hubs mit eingebauter Authentifizierung und Analytics
    25. 25. © 2014 Microsoft Corporation. All rights reserved. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Vielen Dank Peter.Kirchner @Microsoft.com blogs.msdn.com/ pkirchner Twitter: @peterkirchner

    ×