Wege zum"Programmable Web"Integration von Cloud-Dienstenmit Next Generation Web APIs                                 Folie...
Pascal Alich                                             •   Software Engineer                                            ...
Würden Sie gern IhreKontakte synchron halten?                             Groupware                                       ...
Keine Lust mehr aufE-Mail-Benachrichtigungen?Google Alerts  Evernote NotizenAB-Nachrichten von Zuhause  MP3 in Dropbox +...
Das Web 2.0 hat viele Cloud-Serviceshervorgebracht!Wege zum "Programmable Web" | Pascal Alich   26. Januar 2012   Folie 5 ...
Integration durch Export/Import nichtmehr ausreichend                                             Der Benutzer muss       ...
Web APIs sind inzwischen Standard4432 APIs verzeichnet(Stand 24.11.2011)Quelle: http://blog.programmableweb.com/2011/10/03...
Eine API verleiht Flügel!   Programmatische       Integration            InnovationWege zum "Programmable Web" | Pascal A...
Trotz APIs sind Cloud Serviceseher Daten-SilosOptimiert zum Einfüllen und Abfüllen   26. Januar 2012   Folie 9 von 31   © ...
Cloud Services bieten lediglichbestimmte Integrationen an•     Teuer•     Direkte Integration•     Unflexibel•     Schließ...
Sind wir schon da?      …Sind wir schon da?            …Sind wir schon da?Wege zum "Programmable Web" | Pascal Alich   26....
Polling „sucks“!                                             Höhere Entwicklungsaufwand                                   ...
Die Lösung ist einfach:Pushing à la Webhooks!•     HTTP-Request an registrierte URL•     Implementierung mit PHP, Ruby, Ja...
github Post-Receive BeispielJSON wird in POST-Variable payload versendetWege zum "Programmable Web" | Pascal Alich   26. J...
Webhooks –Event Notifications sendenEreignisse im Geschäftsprozess als TriggerBeispiele:•     Helpdesk-System zendesk,    ...
Webhooks –Inhalte an mehrere Empfänger senden•     RSS war gestern!•     Publish + Subscribe•     Pubsubhubbub für mehr Ef...
Webhooks –Callbacks aufrufen•     Auch hier wird eine URL aufgerufen•     Ergebnis beeinflusst weitere Verarbeitung Hohe ...
Cloud Integration @ Google App Engine                                             DemoWege zum "Programmable Web" | Pascal...
Szenario: Anrufbeantworter to go!                                       Anruf    Anrufbeantworter                         ...
Szenario: TYPO3 Kontaktformularintegriert verschiedene Dienste                                                       JavaS...
Cloud Service = Software-KomponenteOpen-Closed Principle (OCP)•     Offen für Erweiterungen•     Geschlossen für Änderunge...
Wir brauchen ein erweitertesAPI-Verständnis                                             Next Generation Cloud-Dienste     ...
Offenheit ist wichtiger alsStandardisierung!•     SOA spricht von abgestimmten Schnittstellen       in der Cloud nicht im...
Aber was ist mit diesenImplementierungsfragen?                                 Semantik                   HTTP codes    Fo...
Cloud Service Integrationbraucht eine Mittlerplattform•     Integriert, adaptiert, konvertiert•     Integrationslogik nutz...
Integration Plattform istselbst ein Cloud Service•     Vergleichbar mit ESB in der Cloud,•     aber verschiedenste Anforde...
Fazit                                             •   Web APIs sollten zusätzlich                                         ...
ZusatzfolienWege zum "Programmable Web" | Pascal Alich      26. Januar 2012   Folie 28 von 31   © Zühlke 2011
Aber was ist mit diesenImplementierungsfragen?                                 Semantik                   HTTP codes    Fo...
Semantik – Nutze Microformats oderMicrodata, aber pragmatisch!Allrecipes.com                                      Sucherge...
Authentifizierung –Den Aufrufer überprüfen•     HTTPS + Basic Authentication•     Einfache Signatur      1.          Signa...
Nächste SlideShare
Wird geladen in …5
×

Wege zum "Programmable Web"

587 Aufrufe

Veröffentlicht am

Integration von Cloud-Diensten mit Next Generation Web APIs - Präsentation gehalten auf der OOP 2012

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
587
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Wege zum "Programmable Web"

  1. 1. Wege zum"Programmable Web"Integration von Cloud-Dienstenmit Next Generation Web APIs Folie 1 von 31 26. Januar 2012 Pascal Alich © Zühlke 2011
  2. 2. Pascal Alich • Software Engineer • Java Enterprise @pascalalich http://blog.alichs.deWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 2 von 31 © Zühlke 2011
  3. 3. Würden Sie gern IhreKontakte synchron halten? Groupware Telefonanlage CRM Social NetworkWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 3 von 31 © Zühlke 2011
  4. 4. Keine Lust mehr aufE-Mail-Benachrichtigungen?Google Alerts  Evernote NotizenAB-Nachrichten von Zuhause  MP3 in Dropbox + SMSSocial Network News  TODOs mit niedriger Priorität…Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 4 von 31 © Zühlke 2011
  5. 5. Das Web 2.0 hat viele Cloud-Serviceshervorgebracht!Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 5 von 31 © Zühlke 2011
  6. 6. Integration durch Export/Import nichtmehr ausreichend Der Benutzer muss • exportieren, • konvertieren, • synchronisieren, • importieren und das Ganze • zwischen allen beteiligten Services, • manuell und • regelmäßig.Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 6 von 31 © Zühlke 2011
  7. 7. Web APIs sind inzwischen Standard4432 APIs verzeichnet(Stand 24.11.2011)Quelle: http://blog.programmableweb.com/2011/10/03/4000-web-apis-whats-hot-and-whats-next/Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 7 von 31 © Zühlke 2011
  8. 8. Eine API verleiht Flügel! Programmatische Integration  InnovationWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 8 von 31 © Zühlke 2011
  9. 9. Trotz APIs sind Cloud Serviceseher Daten-SilosOptimiert zum Einfüllen und Abfüllen 26. Januar 2012 Folie 9 von 31 © Zühlke 2011
  10. 10. Cloud Services bieten lediglichbestimmte Integrationen an• Teuer• Direkte Integration• Unflexibel• Schließt ggf. Nutzer aus• Polling erforderlich SMSWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 10 von 31 © Zühlke 2011
  11. 11. Sind wir schon da? …Sind wir schon da? …Sind wir schon da?Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 11 von 31 © Zühlke 2011
  12. 12. Polling „sucks“! Höhere Entwicklungsaufwand • Cron Job • Logik, was sich getan hat Hoher Ressourcenbedarf • Ineffizient • Quotas Keine sofortige • Synchronität bzw. • VerarbeitungWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 12 von 31 © Zühlke 2011
  13. 13. Die Lösung ist einfach:Pushing à la Webhooks!• HTTP-Request an registrierte URL• Implementierung mit PHP, Ruby, Java, JavaScript…Beispiel github Post-Receive:• Nach einem Push zu github• wird eine JSON/HTTP-Nachricht• an eine URL gesendet. Vielfältige IntegrationsmöglichkeitenWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 13 von 31 © Zühlke 2011
  14. 14. github Post-Receive BeispielJSON wird in POST-Variable payload versendetWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 14 von 31 © Zühlke 2011
  15. 15. Webhooks –Event Notifications sendenEreignisse im Geschäftsprozess als TriggerBeispiele:• Helpdesk-System zendesk, z. B. bei neuem Ticket• Web Shop-Plattform shopify, z. B. bei Bezahlung• Payment Provider PayPal, Instant Payment Notification (IPN)Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 15 von 31 © Zühlke 2011
  16. 16. Webhooks –Inhalte an mehrere Empfänger senden• RSS war gestern!• Publish + Subscribe• Pubsubhubbub für mehr Effizienz nutzen!Beispiele:• Neue Blog-Posts• Veröffentlichte News/Pressemitteilungen• Social Media StreamWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 16 von 31 © Zühlke 2011
  17. 17. Webhooks –Callbacks aufrufen• Auch hier wird eine URL aufgerufen• Ergebnis beeinflusst weitere Verarbeitung Hohe ErweiterbarkeitBeispiele• Eine Webshop erfragt Rabatte vom Altsystem• Eine Social Media Anwendung ruft einen Dienst zum automatischen TaggingWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 17 von 31 © Zühlke 2011
  18. 18. Cloud Integration @ Google App Engine DemoWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 18 von 31 © Zühlke 2011
  19. 19. Szenario: Anrufbeantworter to go! Anruf Anrufbeantworter + MP3 Push JavaScript @GAE MP3Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 19 von 31 © Zühlke 2011
  20. 20. Szenario: TYPO3 Kontaktformularintegriert verschiedene Dienste JavaScript Kontakt- @GAE Formular On Save [Anfrage] [Beschwerde] [Pressemappe] Dateien per E-MailWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 20 von 31 © Zühlke 2011
  21. 21. Cloud Service = Software-KomponenteOpen-Closed Principle (OCP)• Offen für Erweiterungen• Geschlossen für Änderungen Weitere Integrationen ohne ÄnderungSingle Responsibility Principle (SRP)• Fokussierung auf Kernfunktionalität Integrationslogik auslagernWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 21 von 31 © Zühlke 2011
  22. 22. Wir brauchen ein erweitertesAPI-Verständnis Next Generation Cloud-Dienste • konzentrieren sich auf Kernfunktionalität, • sind erweiterbar und • kooperativ. Vorteile • Flexibilität • Alleinstellungsmerkmal • Communitybeteiligung einfacherWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 22 von 31 © Zühlke 2011
  23. 23. Offenheit ist wichtiger alsStandardisierung!• SOA spricht von abgestimmten Schnittstellen  in der Cloud nicht immer möglich• Einfachheit  schnelle Adaption• Besser „irgendwie“ offen, als gar nicht!• Best PracticesWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 23 von 31 © Zühlke 2011
  24. 24. Aber was ist mit diesenImplementierungsfragen? Semantik HTTP codes Format FehlerbehandlungSicherheit Timeouts Authentifizierung Autorisierung Konfiguration Konsistenz Monitoring Logging Synchron Asynchron  s. ZusatzfolienWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 24 von 31 © Zühlke 2011
  25. 25. Cloud Service Integrationbraucht eine Mittlerplattform• Integriert, adaptiert, konvertiert• Integrationslogik nutzt verschiedene Services• Flexibel durch Scripting-UnterstützungWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 25 von 31 © Zühlke 2011
  26. 26. Integration Plattform istselbst ein Cloud Service• Vergleichbar mit ESB in der Cloud,• aber verschiedenste Anforderungen – Offene Multi-User-Plattform – Eigene Installation – White-label App-Plattform – oder Kombinationen daraus• Einfachheit  Anwendung• Hat selbst eine API – Konfiguration – Webhooks, (Monitoring, Abrechnung, bei Deployment…)Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 26 von 31 © Zühlke 2011
  27. 27. Fazit • Web APIs sollten zusätzlich Webhooks anbieten • Offenheit ist wichtiger als Standardkonformität • Integrationsplattformen erforderlich • Flexibel integrieren • Günstiger entwickelnWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 27 von 31 © Zühlke 2011
  28. 28. ZusatzfolienWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 28 von 31 © Zühlke 2011
  29. 29. Aber was ist mit diesenImplementierungsfragen? Semantik HTTP codes Format FehlerbehandlungSicherheit Timeouts Authentifizierung Autorisierung Konfiguration Konsistenz Monitoring Logging Synchron AsynchronWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 29 von 31 © Zühlke 2011
  30. 30. Semantik – Nutze Microformats oderMicrodata, aber pragmatisch!Allrecipes.com Suchergebnis Microformat hrecipeQuelle: http://allrecipes.com/Recipe/Gingerbread- Quelle: http://www.google.com/webmasters/tools/richsnippetsMen/Detail.aspxWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 30 von 31 © Zühlke 2011
  31. 31. Authentifizierung –Den Aufrufer überprüfen• HTTPS + Basic Authentication• Einfache Signatur 1. Signatur entfernen 2. POST-Parameter sortieren (A-Z) 3. Werte aneinanderhängen 4. Secret ergänzen 5. MD5-Hash bilden und vergleichenQuelle: http://docs.cloudmailin.com/validating_the_senderWege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 31 von 31 © Zühlke 2011

×