SlideShare une entreprise Scribd logo
1  sur  28
16.03.2015
API-Industrie
Kai Spichale
adesso AG
Klassische Funktionen einer API
2
Client API Implementation
Entkopplung von
Implementierung
Definiert Komponente
durch ihre Operationen
mit Ein- und
Ausgabewerten
Software-
wiederverwendung
und Integration
Kommunikationsproblem bei
Softwarewiederverwendung
Lösung: Kommunikation durch API
> APIs werden für Menschen geschrieben
> Perspektive ist beim API-Design entscheidend
3
?
Wirtschaftliche Gründe für eine API
4
Mobile Strategie
Benutzung einer
Plattform
antreiben
Investition in
neuen
Geschäftszweig
Integration
► Viele unterschiedliche Geräte
► Skalierbarkeit
► Twitter steigerte Traffic durch
gute API
► z.B.: Best Buy steigerte Online-
Handel
► Innerhalb eines Unternehmens
u. mit Partnern
► z.B.: FedEx-kompatible
Applikationen
Treiber der API-Industrie
► E-Commerce
► Soziale Medien
► Cloud
► Mobile
► Internet der Dinge
5
Smart Home
Zunahme von Web APIs seit 2005
0
2000
4000
6000
8000
10000
12000
14000
Jun/ 05 Okt/ 06 Dez/ 07 Feb/ 09 Apr/ 10 Jun/ 11 Aug/ 12 Okt/ 13
6
Quelle: http://www.programmableweb.com/api-research (17.02.2015)
API als Produkt
7
Bedeutung einer API für ein Unternehmen
8
Wertvollstes
Asset
Größte
Verbindlichkeit
► Schwer änderbar
► Produktreife ist entscheidend
Produktreife
► Feature Completeness
► Application Lifecycle Managment
► Application Management Support
► Versionierung
► Dokumentation
► Sicherheit
► Qualitätssicherung
► …
9
Eine Auswahl ..
10
Spezifikation u. Dokumentation
11
Spezifikation u. Dokumentation
12
Zielgruppe Beispiele Versionierung
(Menschenlesbare) Dokumentation
► API Guide (Anwendungsfälle)
► API Referenz (Endpoints, HTTP-Methoden, Formate, ..)
► Installations- und Betriebshandbuch
► Release-Notes
► Upgrade-Pfade für versionierte APIs
13
Spezifikation
► Design-time Beschreibungssprachen:
> Swagger (Reverb)
> RAML (Mulesoft)
> API Blueprint (apiary.io)
> ioDocs (Mashary)
> WADL (org. von Sun Microsystems)
> …
► Bieten Mehrwert in Verbindung mit jeweiliger Plattform
14
Selbstbeschreibende Hypermedia-APIs
► Einstiegs-URI
► Zustandsänderung gesteuert durch Client mithilfe von Links,
bereitgestellt vom Server
► Standardisierte MIME-Types
> Collection+JSON
> Siren
> HAL
> …
15
Profiles
► Bieten zusätzliche semantische Erklärungen für
„applikationsagnostische” MIME-Types
► Keine Änderung der existierenden Bedeutung der
Ressourcenrepräsentation
► Beispiel: Application-Level Profile Semantics (ALPS)
16
Versionierung
17
Versionierung mit Query-Parameter
http://api.example.com/orders?version=v1
Hinweis:
► Schlechter Stil: HTTP bietet bessere Mechanismen
► Query-Parameter geeignet zum Filtern, Suchen und
Sortieren
18
Versionierung mit URI
http://api.example.com/[version]/orders
http://api.example.com/orders/[version]
Vorteile:
► Verständlich, offensichtlich
► Auch Permalinks von alten Clients werden nicht gebrochen,
wenn diese bereits versionierte URIs nutzen
Hinweis:
► Kein RESTful HTTP
19
Versionierung mit Content Negotiation
GET /orders HTTP/1.1
Host: api.example.com
Accept: text/html, application/xhtml+xml,
application/xml;q0.9, */*;q=0.8
20
Versionierung mit Content Negotiation
GET /orders HTTP/1.1
Host: api.example.com
Accept: application/vnd.example.v1.orders+json
Vorteile:
► Im Einklang mit RESTful HTTP
► Client entscheidet über das Format
21
► Unterstützung verschiedener Formate (XML,
JSON, HTML)
► Browser-Konfiguration:
Accept: application/xml, application/xhtml+xml,
text/html;q=0.9, text/plain;q=0.8,
image/png, */*;q=0.5
► Ergebnis: Browser erhält Tweets als XML :-(
22
23
► Lösung des Browser-Problems:
https://userstream.twitter.com/1.1/user.json
https://api.twitter.com/1.1/search/tweets.json
Zum Vergleich:
http://farm3.static.flickr.com/123456789.jpg
Architektur
API-Gateway
24
Komplexität durch Versionierung und
Erweiterungen
25
Client-
Gruppe 1
Monolith mit hoher Komplexität
API v1
Client-
Gruppe 2
API v2
Client-
Gruppe 3
API v3
Produkt v2
Alternative Microservice-Architektur
26
Client-
Gruppe 1
Produkt v1
API v1
Client-
Gruppe 2
API v2
Client-
Gruppe 3
Produkt v3
API v3
API Gateway: Mehr als Lastverteilung
27
Client-
Gruppe 1
Client-
Gruppe 2
Client-
Gruppe 3
API-Gateway
Config
Produkt v2Produkt v1
API v1 API v2
Produkt v3
API v3
Kai Spichale
@kspichale
http://spichale.blogspot.de/
https://www.xing.com/profile/Kai_Spichale
28

Contenu connexe

En vedette

OOP 2013 NoSQL Suche
OOP 2013 NoSQL SucheOOP 2013 NoSQL Suche
OOP 2013 NoSQL Sucheadesso AG
 
Cassandra - Eine Einführung
Cassandra - Eine EinführungCassandra - Eine Einführung
Cassandra - Eine EinführungMikio L. Braun
 
Herausforderungen im Data Warehousing und "Fabelhafte" Ideen
Herausforderungen im Data Warehousing und "Fabelhafte" IdeenHerausforderungen im Data Warehousing und "Fabelhafte" Ideen
Herausforderungen im Data Warehousing und "Fabelhafte" IdeenThilo Stadelmann
 
IBM Developer Days: Industrie 4.0
IBM Developer Days: Industrie 4.0IBM Developer Days: Industrie 4.0
IBM Developer Days: Industrie 4.0LineMetrics
 
Facebook Python SDK - Introduction
Facebook Python SDK - IntroductionFacebook Python SDK - Introduction
Facebook Python SDK - IntroductionColin Su
 
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...OPITZ CONSULTING Deutschland
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Lennart Passig
 
Understanding How CQL3 Maps to Cassandra's Internal Data Structure
Understanding How CQL3 Maps to Cassandra's Internal Data StructureUnderstanding How CQL3 Maps to Cassandra's Internal Data Structure
Understanding How CQL3 Maps to Cassandra's Internal Data StructureDataStax
 
(BDT317) Building A Data Lake On AWS
(BDT317) Building A Data Lake On AWS(BDT317) Building A Data Lake On AWS
(BDT317) Building A Data Lake On AWSAmazon Web Services
 
Case Study: Dell - APIs and Microservices for Cloud-Native Application Archit...
Case Study: Dell - APIs and Microservices for Cloud-Native Application Archit...Case Study: Dell - APIs and Microservices for Cloud-Native Application Archit...
Case Study: Dell - APIs and Microservices for Cloud-Native Application Archit...CA Technologies
 
Wie Open APIs das Banking der Zukunft verändern (figo)
Wie Open APIs das Banking der Zukunft verändern (figo)Wie Open APIs das Banking der Zukunft verändern (figo)
Wie Open APIs das Banking der Zukunft verändern (figo)figo GmbH
 
APIs als Treiber im Banking der Zukunft
APIs als Treiber im Banking der ZukunftAPIs als Treiber im Banking der Zukunft
APIs als Treiber im Banking der Zukunftfigo GmbH
 
Was ist figo? Der Banking Service Provider
Was ist figo? Der Banking Service ProviderWas ist figo? Der Banking Service Provider
Was ist figo? Der Banking Service Providerfigo GmbH
 
Open apis are changing the next Generation of Financial services - Startplatz...
Open apis are changing the next Generation of Financial services - Startplatz...Open apis are changing the next Generation of Financial services - Startplatz...
Open apis are changing the next Generation of Financial services - Startplatz...figo GmbH
 
Open APIs are changing the next generation of financial services
Open APIs are changing the next generation of financial servicesOpen APIs are changing the next generation of financial services
Open APIs are changing the next generation of financial servicesfigo GmbH
 
Wie Banking Banken neu definiert - 
Banking ist Alltag, Banken sind es nicht!
Wie Banking Banken neu definiert - 
Banking ist Alltag, Banken sind es nicht!Wie Banking Banken neu definiert - 
Banking ist Alltag, Banken sind es nicht!
Wie Banking Banken neu definiert - 
Banking ist Alltag, Banken sind es nicht!figo GmbH
 
Banking from the Bus: How APIs Power a Productive Commute
Banking from the Bus: How APIs Power a Productive CommuteBanking from the Bus: How APIs Power a Productive Commute
Banking from the Bus: How APIs Power a Productive CommuteCA Technologies
 

En vedette (20)

OOP 2013 NoSQL Suche
OOP 2013 NoSQL SucheOOP 2013 NoSQL Suche
OOP 2013 NoSQL Suche
 
Cassandra
CassandraCassandra
Cassandra
 
Cassandra - Eine Einführung
Cassandra - Eine EinführungCassandra - Eine Einführung
Cassandra - Eine Einführung
 
Herausforderungen im Data Warehousing und "Fabelhafte" Ideen
Herausforderungen im Data Warehousing und "Fabelhafte" IdeenHerausforderungen im Data Warehousing und "Fabelhafte" Ideen
Herausforderungen im Data Warehousing und "Fabelhafte" Ideen
 
Disruptive Innovation
Disruptive InnovationDisruptive Innovation
Disruptive Innovation
 
IBM Developer Days: Industrie 4.0
IBM Developer Days: Industrie 4.0IBM Developer Days: Industrie 4.0
IBM Developer Days: Industrie 4.0
 
Facebook Python SDK - Introduction
Facebook Python SDK - IntroductionFacebook Python SDK - Introduction
Facebook Python SDK - Introduction
 
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg
 
Understanding How CQL3 Maps to Cassandra's Internal Data Structure
Understanding How CQL3 Maps to Cassandra's Internal Data StructureUnderstanding How CQL3 Maps to Cassandra's Internal Data Structure
Understanding How CQL3 Maps to Cassandra's Internal Data Structure
 
Building a Data Lake on AWS
Building a Data Lake on AWSBuilding a Data Lake on AWS
Building a Data Lake on AWS
 
(BDT317) Building A Data Lake On AWS
(BDT317) Building A Data Lake On AWS(BDT317) Building A Data Lake On AWS
(BDT317) Building A Data Lake On AWS
 
Case Study: Dell - APIs and Microservices for Cloud-Native Application Archit...
Case Study: Dell - APIs and Microservices for Cloud-Native Application Archit...Case Study: Dell - APIs and Microservices for Cloud-Native Application Archit...
Case Study: Dell - APIs and Microservices for Cloud-Native Application Archit...
 
Wie Open APIs das Banking der Zukunft verändern (figo)
Wie Open APIs das Banking der Zukunft verändern (figo)Wie Open APIs das Banking der Zukunft verändern (figo)
Wie Open APIs das Banking der Zukunft verändern (figo)
 
APIs als Treiber im Banking der Zukunft
APIs als Treiber im Banking der ZukunftAPIs als Treiber im Banking der Zukunft
APIs als Treiber im Banking der Zukunft
 
Was ist figo? Der Banking Service Provider
Was ist figo? Der Banking Service ProviderWas ist figo? Der Banking Service Provider
Was ist figo? Der Banking Service Provider
 
Open apis are changing the next Generation of Financial services - Startplatz...
Open apis are changing the next Generation of Financial services - Startplatz...Open apis are changing the next Generation of Financial services - Startplatz...
Open apis are changing the next Generation of Financial services - Startplatz...
 
Open APIs are changing the next generation of financial services
Open APIs are changing the next generation of financial servicesOpen APIs are changing the next generation of financial services
Open APIs are changing the next generation of financial services
 
Wie Banking Banken neu definiert - 
Banking ist Alltag, Banken sind es nicht!
Wie Banking Banken neu definiert - 
Banking ist Alltag, Banken sind es nicht!Wie Banking Banken neu definiert - 
Banking ist Alltag, Banken sind es nicht!
Wie Banking Banken neu definiert - 
Banking ist Alltag, Banken sind es nicht!
 
Banking from the Bus: How APIs Power a Productive Commute
Banking from the Bus: How APIs Power a Productive CommuteBanking from the Bus: How APIs Power a Productive Commute
Banking from the Bus: How APIs Power a Productive Commute
 

Similaire à API-Industrie

Cloud APIs - Wettbewerbsvorteile durch Einbindung externer Services
Cloud APIs - Wettbewerbsvorteile durch Einbindung externer ServicesCloud APIs - Wettbewerbsvorteile durch Einbindung externer Services
Cloud APIs - Wettbewerbsvorteile durch Einbindung externer ServicesConnected-Blog
 
Datengetriebene Web APIs mit Entity Framework
Datengetriebene Web APIs mit Entity FrameworkDatengetriebene Web APIs mit Entity Framework
Datengetriebene Web APIs mit Entity FrameworkManfred Steyer
 
Datenbasierte Services mit Entity Framework und Co.
Datenbasierte Services mit Entity Framework und Co.	Datenbasierte Services mit Entity Framework und Co.
Datenbasierte Services mit Entity Framework und Co. Manfred Steyer
 
Datengetriebene Web APIs mit Entity Framework
Datengetriebene Web APIs mit Entity FrameworkDatengetriebene Web APIs mit Entity Framework
Datengetriebene Web APIs mit Entity FrameworkManfred Steyer
 
Hypermedia mit der ASP.NET Web API
Hypermedia mit der ASP.NET Web APIHypermedia mit der ASP.NET Web API
Hypermedia mit der ASP.NET Web APIAlexander Zeitler
 
GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)
GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)
GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)e-dialog GmbH
 
EPO API/4 Cloud als innovativer SAP-Konnektor
EPO API/4 Cloud als innovativer SAP-KonnektorEPO API/4 Cloud als innovativer SAP-Konnektor
EPO API/4 Cloud als innovativer SAP-KonnektorWolfgang Hornung
 
Best practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics apiBest practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics apie-dialog GmbH
 
Hinter NGINX steckt mehr als ein Webserver
Hinter NGINX steckt mehr als ein WebserverHinter NGINX steckt mehr als ein Webserver
Hinter NGINX steckt mehr als ein WebserverNGINX, Inc.
 
Atlantismedia meet-magento-#5.11
Atlantismedia meet-magento-#5.11Atlantismedia meet-magento-#5.11
Atlantismedia meet-magento-#5.11atlantis media GmbH
 
Atlantismedia meet-magento-#5.11
Atlantismedia meet-magento-#5.11Atlantismedia meet-magento-#5.11
Atlantismedia meet-magento-#5.11Michael Märtin
 
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015Manfred Steyer
 
GMP-Con 2019 - App Tracking - Markus Vollmert (lunapark)
GMP-Con 2019 - App Tracking - Markus Vollmert (lunapark) GMP-Con 2019 - App Tracking - Markus Vollmert (lunapark)
GMP-Con 2019 - App Tracking - Markus Vollmert (lunapark) e-dialog GmbH
 
Zertifizierte SAP-Schnittstelle mit APICONNECT
Zertifizierte SAP-Schnittstelle mit APICONNECTZertifizierte SAP-Schnittstelle mit APICONNECT
Zertifizierte SAP-Schnittstelle mit APICONNECTAPICON GmbH
 
Modern Web Development 2019
Modern Web Development 2019Modern Web Development 2019
Modern Web Development 2019Intelliact AG
 
B3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsB3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsAndreas Schulte
 
Let your clients do the work - Client side validations in APEX 5.1
Let your clients do the work - Client side validations in APEX 5.1Let your clients do the work - Client side validations in APEX 5.1
Let your clients do the work - Client side validations in APEX 5.1Steven Grzbielok
 

Similaire à API-Industrie (20)

Cloud APIs - Wettbewerbsvorteile durch Einbindung externer Services
Cloud APIs - Wettbewerbsvorteile durch Einbindung externer ServicesCloud APIs - Wettbewerbsvorteile durch Einbindung externer Services
Cloud APIs - Wettbewerbsvorteile durch Einbindung externer Services
 
APIs matter
APIs matterAPIs matter
APIs matter
 
Datengetriebene Web APIs mit Entity Framework
Datengetriebene Web APIs mit Entity FrameworkDatengetriebene Web APIs mit Entity Framework
Datengetriebene Web APIs mit Entity Framework
 
Datenbasierte Services mit Entity Framework und Co.
Datenbasierte Services mit Entity Framework und Co.	Datenbasierte Services mit Entity Framework und Co.
Datenbasierte Services mit Entity Framework und Co.
 
Datengetriebene Web APIs mit Entity Framework
Datengetriebene Web APIs mit Entity FrameworkDatengetriebene Web APIs mit Entity Framework
Datengetriebene Web APIs mit Entity Framework
 
Hypermedia mit der ASP.NET Web API
Hypermedia mit der ASP.NET Web APIHypermedia mit der ASP.NET Web API
Hypermedia mit der ASP.NET Web API
 
GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)
GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)
GAUC 2017 Workshop App Tracking: Markus Vollmert (lunapark)
 
EPO API/4 Cloud als innovativer SAP-Konnektor
EPO API/4 Cloud als innovativer SAP-KonnektorEPO API/4 Cloud als innovativer SAP-Konnektor
EPO API/4 Cloud als innovativer SAP-Konnektor
 
Best practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics apiBest practise 5 anwendungsfälle der google analytics api
Best practise 5 anwendungsfälle der google analytics api
 
Hinter NGINX steckt mehr als ein Webserver
Hinter NGINX steckt mehr als ein WebserverHinter NGINX steckt mehr als ein Webserver
Hinter NGINX steckt mehr als ein Webserver
 
IHR Weg in die API Economy
IHR Weg in die API EconomyIHR Weg in die API Economy
IHR Weg in die API Economy
 
Atlantismedia meet-magento-#5.11
Atlantismedia meet-magento-#5.11Atlantismedia meet-magento-#5.11
Atlantismedia meet-magento-#5.11
 
Atlantismedia meet-magento-#5.11
Atlantismedia meet-magento-#5.11Atlantismedia meet-magento-#5.11
Atlantismedia meet-magento-#5.11
 
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
Überblick zu MVC6 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015
 
GMP-Con 2019 - App Tracking - Markus Vollmert (lunapark)
GMP-Con 2019 - App Tracking - Markus Vollmert (lunapark) GMP-Con 2019 - App Tracking - Markus Vollmert (lunapark)
GMP-Con 2019 - App Tracking - Markus Vollmert (lunapark)
 
Apache Solr Revisited 2015
Apache Solr Revisited 2015Apache Solr Revisited 2015
Apache Solr Revisited 2015
 
Zertifizierte SAP-Schnittstelle mit APICONNECT
Zertifizierte SAP-Schnittstelle mit APICONNECTZertifizierte SAP-Schnittstelle mit APICONNECT
Zertifizierte SAP-Schnittstelle mit APICONNECT
 
Modern Web Development 2019
Modern Web Development 2019Modern Web Development 2019
Modern Web Development 2019
 
B3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsB3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite Applications
 
Let your clients do the work - Client side validations in APEX 5.1
Let your clients do the work - Client side validations in APEX 5.1Let your clients do the work - Client side validations in APEX 5.1
Let your clients do the work - Client side validations in APEX 5.1
 

API-Industrie