api services

19

Click here to load reader

Upload: jan-hentschel

Post on 04-Jul-2015

729 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Api services

Jan Hentschel Microsoft MVP Microsoft [email protected]

@Horizon_Net

API Services

Die perfekte Kombination aus Microsoft Azure

und ASP.NET Web API

Page 2: Api services

• HTTP Services

• HTTP vs REST

• Web API

• Zusammenfassung und FAQ

Agenda

Page 3: Api services

Alice Wie läuft es mit dem aktuellen App-Projekt?

Bob Super! Unsere Datenbank und unsere App spielen super zusammen.

Alice Schön zu hören. Wir wollen die App jetzt auch auf anderen Plattformen

bereitstellen.

Bob …

Alice Gibt es ein Problem?

Bob Aber dann müssen wir die ganze Logik ja nochmal schreiben!

Es war einmal …

Page 4: Api services

App Layer

Data Layer

Typische Architektur

Page 5: Api services

Typische Architektur

Page 6: Api services

Und was nun?

Page 7: Api services

Warum nicht eine Service Layer nutzen?

Page 8: Api services

App Layer

Service Layer

Data Layer

Bessere Architektur

Page 9: Api services

Bessere Architektur

Page 10: Api services

• Setzen im Gegensatz zu SOAP direkt auf dem HTTP-Protokoll auf

• Unterstützen dadurch typische Persistenzoperationen• Lesen = GET

• Schreiben = POST

• Löschen = DELETE

• Updaten = PUT

• Nutzen typischerweise JSON und XML als

Datenaustauschformate

HTTP Services

Page 11: Api services

• Roy Thomas Fielding legte mit seiner Dissertation den Grundstein

für REST

• Beides wird oft fälschlicherweise synonym verwendet• Die wenigsten Services sind wirklich REST-Services

• REST setzt auf HTTP auf

• Unterschiede:• POST oder DELETE für das Löschen einer Ressource?

• Hypermedia

• HATEOAS

HTTP vs REST

Page 12: Api services

• Einfach gesagt: Eine API, die auf HTTP basiert• Twitter, Facebook und … die Microsoft Azure Management API

• Schnittstelle, die intern und extern verwendet werden kann• Unter anderem für die Mensch-Maschine- & Maschine-Maschine-Kommunikation

(Stichwort “Internet of Things”)

• Wird in der Regel nochmal in eine native API gewrappt• Versteckt die Komplexität mancher API, wie richtiges Setzen von HTTP Headern, etc.

Was ist eine Web API?

Page 13: Api services

• Die beste Variante um HTTP Services in .NET zu erstellen

• Starke Ähnlichkeit zu ASP.NET MVC• Ähnliche Konzepte wie Controller, Routing, etc.

• Wenig Ähnlichkeit mit WCF

• Gehört zum Kern des “One ASP.NET”

ASP.NET Web API

Page 14: Api services

Grundsätzliche Entscheidungsfrage:

1. Will ich Einfluss auf die darunter liegende Plattform haben

(bspw. IIS)?

2. Will ich Einfluss auf die Skalierung haben (automatisch bei

MAWS, teilweise händisch bei Cloud Services)?

Cloud Service oder Microsoft Azure Web Sites?

ASP.NET Web API & Microsoft Azure

Page 15: Api services

DEMO

MongoNotes

Page 16: Api services

• ODATA

• OAuth (Stichwort ASP.NET Identity & OWIN)

• REST

Wie könnte es weitergehen?

Page 17: Api services

• Eine Service Layer kann das Leben leichter machen

• HTTP ≠ REST

• ASP.NET Web API ist die leichteste Möglichkeit HTTP Services in

.NET zu bauen

• Spielt perfekt mit Microsoft Azure zusammen

Zusammenfassung

Page 18: Api services

• Allgemeine Informationen• Dev Center - http://www.windowsazure.com/en-us/solutions/web/

• Dokumentation - http://www.windowsazure.com/en-us/documentation/services/web-

sites/

• Videos - http://channel9.msdn.com/search?term=windows+azure+web+sites

• ASP.NET Web API - http://www.asp.net/web-api

Allgemeines

FAQ

Page 19: Api services

Web RessourcenUnter folgenden Einstiegspunkten finden sich alle Ressourcen, die für einen Start in Windows Azure wichtig sind

• Windows Azure Homepagehttp://www.azure.com

• Kostenloser Demo-Accounthttp://www.windowsazure.com/en-us/pricing/free-trial/?WT.mc_id=A2DCCE88E

• Windows Azure Development Centerhttp://www.windowsazure.com/en-us/develop/overview/

• Windows Azure SDKshttp://www.windowsazure.com/en-us/develop/downloads/

• Windows Azure Training Kithttp://www.windowsazure.com/en-us/develop/net/other-resources/training-kit/

• Kundenreferenzenhttp://www.microsoft.com/de-de/business/kundenreferenzen/default.aspx?product=53

• Video-Serie zu Windows Azure (10-Minuten-Videos):http://www.youtube.com/watch?v=kLfaa_19yB4&list=PLC71216BDE26EBE8C