Wege zum "Programmable Web"

607 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
607
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

×