SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Wege zum
"Programmable Web"
Integration von Cloud-Diensten
mit Next Generation Web APIs




                                 Folie 1 von 31
                                 26. Januar 2012




                                 Pascal Alich

                                 © Zühlke 2011
Pascal Alich
                                             •   Software Engineer
                                             •   Java Enterprise




  @pascalalich
  http://blog.alichs.de




Wege zum "Programmable Web" | Pascal Alich                           26. Januar 2012   Folie 2 von 31   © Zühlke 2011
Würden Sie gern Ihre
Kontakte synchron halten?




                             Groupware
                                                 Telefonanlage


                                         CRM
                                               Social Network




Wege zum "Programmable Web" | Pascal Alich                      26. Januar 2012   Folie 3 von 31   © Zühlke 2011
Keine Lust mehr auf
E-Mail-Benachrichtigungen?




Google Alerts  Evernote Notizen
AB-Nachrichten von Zuhause  MP3 in Dropbox + SMS
Social Network News  TODOs mit niedriger Priorität
…
Wege zum "Programmable Web" | Pascal Alich   26. Januar 2012   Folie 4 von 31   © Zühlke 2011
Das Web 2.0 hat viele Cloud-Services
hervorgebracht!




Wege zum "Programmable Web" | Pascal Alich   26. Januar 2012   Folie 5 von 31   © Zühlke 2011
Integration durch Export/Import nicht
mehr 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
Web APIs sind inzwischen Standard


4432 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
Eine API verleiht Flügel!




   Programmatische
       Integration
            Innovation
Wege zum "Programmable Web" | Pascal Alich   26. Januar 2012   Folie 8 von 31   © Zühlke 2011
Trotz APIs sind Cloud Services
eher Daten-Silos




Optimiert zum Einfüllen und Abfüllen   26. Januar 2012   Folie 9 von 31   © Zühlke 2011
Cloud Services bieten lediglich
bestimmte Integrationen an

•     Teuer
•     Direkte Integration
•     Unflexibel
•     Schließt ggf. Nutzer aus
•     Polling erforderlich                               SMS




Wege zum "Programmable Web" | Pascal Alich   26. Januar 2012   Folie 10 von 31   © Zühlke 2011
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
Polling „sucks“!


                                             Höhere Entwicklungsaufwand
                                             •   Cron Job
                                             •   Logik, was sich getan hat
                                             Hoher Ressourcenbedarf
                                             •   Ineffizient
                                             •   Quotas
                                             Keine sofortige
                                             •   Synchronität bzw.
                                             •   Verarbeitung


Wege zum "Programmable Web" | Pascal Alich                           26. Januar 2012   Folie 12 von 31   © Zühlke 2011
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öglichkeiten



Wege zum "Programmable Web" | Pascal Alich     26. Januar 2012   Folie 13 von 31   © Zühlke 2011
github Post-Receive Beispiel


JSON wird in POST-Variable payload versendet




Wege zum "Programmable Web" | Pascal Alich   26. Januar 2012   Folie 14 von 31   © Zühlke 2011
Webhooks –
Event Notifications senden

Ereignisse im Geschäftsprozess als Trigger
Beispiele:
•     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
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 Stream




Wege zum "Programmable Web" | Pascal Alich      26. Januar 2012   Folie 16 von 31   © Zühlke 2011
Webhooks –
Callbacks aufrufen

•     Auch hier wird eine URL aufgerufen
•     Ergebnis beeinflusst weitere Verarbeitung
 Hohe Erweiterbarkeit


Beispiele
•     Eine Webshop erfragt Rabatte vom Altsystem
•     Eine Social Media Anwendung ruft einen Dienst zum
      automatischen Tagging




Wege zum "Programmable Web" | Pascal Alich        26. Januar 2012   Folie 17 von 31   © Zühlke 2011
Cloud Integration @ Google App Engine




                                             Demo

Wege zum "Programmable Web" | Pascal Alich          26. Januar 2012   Folie 18 von 31   © Zühlke 2011
Szenario: Anrufbeantworter to go!


                                       Anruf    Anrufbeantworter



                                               + MP3

                                                                         Push
                                               JavaScript
                                               @GAE
                                                                         MP3




Wege zum "Programmable Web" | Pascal Alich             26. Januar 2012         Folie 19 von 31   © Zühlke 2011
Szenario: TYPO3 Kontaktformular
integriert verschiedene Dienste


                                                       JavaScript
     Kontakt-                                          @GAE
    Formular
                                             On Save

                                                       [Anfrage]


                                                       [Beschwerde]


                                                       [Pressemappe]                      Dateien per
                                                                                          E-Mail
Wege zum "Programmable Web" | Pascal Alich                     26. Januar 2012   Folie 20 von 31   © Zühlke 2011
Cloud Service = Software-Komponente


Open-Closed Principle (OCP)
•     Offen für Erweiterungen
•     Geschlossen für Änderungen
 Weitere Integrationen ohne Änderung


Single Responsibility Principle (SRP)
•     Fokussierung auf Kernfunktionalität
 Integrationslogik auslagern



Wege zum "Programmable Web" | Pascal Alich   26. Januar 2012   Folie 21 von 31   © Zühlke 2011
Wir brauchen ein erweitertes
API-Verständnis

                                             Next Generation Cloud-Dienste
                                             •   konzentrieren sich auf
                                                 Kernfunktionalität,
                                             •   sind erweiterbar und
                                             •   kooperativ.
                                             Vorteile
                                             •   Flexibilität
                                             •   Alleinstellungsmerkmal
                                             •   Communitybeteiligung
                                                 einfacher

Wege zum "Programmable Web" | Pascal Alich                           26. Januar 2012   Folie 22 von 31   © Zühlke 2011
Offenheit ist wichtiger als
Standardisierung!

•     SOA spricht von abgestimmten Schnittstellen
       in der Cloud nicht immer möglich
•     Einfachheit  schnelle Adaption
•     Besser „irgendwie“ offen, als gar nicht!
•     Best Practices




Wege zum "Programmable Web" | Pascal Alich       26. Januar 2012   Folie 23 von 31   © Zühlke 2011
Aber was ist mit diesen
Implementierungsfragen?

                                 Semantik                   HTTP codes
    Format                                               Fehlerbehandlung
Sicherheit                                                                        Timeouts
               Authentifizierung
   Autorisierung
                                                Konfiguration
               Konsistenz                                             Monitoring
                                                                                  Logging
        Synchron                             Asynchron


                                                                s. Zusatzfolien
Wege zum "Programmable Web" | Pascal Alich                      26. Januar 2012   Folie 24 von 31   © Zühlke 2011
Cloud Service Integration
braucht eine Mittlerplattform




•     Integriert, adaptiert, konvertiert
•     Integrationslogik nutzt verschiedene Services
•     Flexibel durch Scripting-Unterstützung
Wege zum "Programmable Web" | Pascal Alich       26. Januar 2012   Folie 25 von 31   © Zühlke 2011
Integration Plattform ist
selbst 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
Fazit


                                             •   Web APIs sollten zusätzlich
                                                 Webhooks anbieten
                                             •   Offenheit ist wichtiger als
                                                 Standardkonformität
                                             •   Integrationsplattformen
                                                 erforderlich
                                             •   Flexibel integrieren
                                             •   Günstiger entwickeln




Wege zum "Programmable Web" | Pascal Alich                              26. Januar 2012   Folie 27 von 31   © Zühlke 2011
Zusatzfolien


Wege zum "Programmable Web" | Pascal Alich      26. Januar 2012   Folie 28 von 31   © Zühlke 2011
Aber was ist mit diesen
Implementierungsfragen?

                                 Semantik                   HTTP codes
    Format                                               Fehlerbehandlung
Sicherheit                                                                        Timeouts
               Authentifizierung
   Autorisierung
                                                Konfiguration
               Konsistenz                                             Monitoring
                                                                                  Logging
        Synchron                             Asynchron



Wege zum "Programmable Web" | Pascal Alich                      26. Januar 2012   Folie 29 von 31   © Zühlke 2011
Semantik – Nutze Microformats oder
Microdata, aber pragmatisch!

Allrecipes.com                                      Suchergebnis




                                                    Microformat hrecipe




Quelle: http://allrecipes.com/Recipe/Gingerbread-   Quelle: http://www.google.com/webmasters/tools/richsnippets
Men/Detail.aspx
Wege zum "Programmable Web" | Pascal Alich                             26. Januar 2012    Folie 30 von 31    © Zühlke 2011
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 vergleichen




Quelle: http://docs.cloudmailin.com/validating_the_sender
Wege zum "Programmable Web" | Pascal Alich                  26. Januar 2012   Folie 31 von 31   © Zühlke 2011

Weitere ähnliche Inhalte

Andere mochten auch

Degree_transcript_Laura_Nagelschmidt
Degree_transcript_Laura_NagelschmidtDegree_transcript_Laura_Nagelschmidt
Degree_transcript_Laura_NagelschmidtLaura Nagelschmidt
 
Actividades y atracciones de Quebec, Canada
Actividades y atracciones de Quebec, CanadaActividades y atracciones de Quebec, Canada
Actividades y atracciones de Quebec, CanadaGlobal Estates
 
Office Developers Conference - Financial Services OBAs
Office Developers Conference - Financial Services OBAsOffice Developers Conference - Financial Services OBAs
Office Developers Conference - Financial Services OBAsMike Walker
 
Boletín Tierra Resumen año 2013
Boletín Tierra Resumen año 2013Boletín Tierra Resumen año 2013
Boletín Tierra Resumen año 2013Ejército de Tierra
 
Estudios fase III necesarios para aprobar un fármaco: a favor 12-2013
Estudios fase III necesarios para aprobar un fármaco: a favor 12-2013Estudios fase III necesarios para aprobar un fármaco: a favor 12-2013
Estudios fase III necesarios para aprobar un fármaco: a favor 12-2013Martín Lázaro
 
Vog449 br-0116 - ccc
Vog449 br-0116 - cccVog449 br-0116 - ccc
Vog449 br-0116 - cccBruno Simoes
 
Tell n sell free issue_sep17_to_sep23
Tell n sell free issue_sep17_to_sep23Tell n sell free issue_sep17_to_sep23
Tell n sell free issue_sep17_to_sep23nelsonprada123
 
Wspieranie rozwoju kompetencji dorosłych – oferta sektora Edukacji dorosłych ...
Wspieranie rozwoju kompetencji dorosłych – oferta sektora Edukacji dorosłych ...Wspieranie rozwoju kompetencji dorosłych – oferta sektora Edukacji dorosłych ...
Wspieranie rozwoju kompetencji dorosłych – oferta sektora Edukacji dorosłych ...FRSE
 
Communication In Cyberspace
Communication In CyberspaceCommunication In Cyberspace
Communication In CyberspacePeter Parycek
 
Stephen Selkowitz - Lawrence Berkeley National Laboratory - Intelligent Netwo...
Stephen Selkowitz - Lawrence Berkeley National Laboratory - Intelligent Netwo...Stephen Selkowitz - Lawrence Berkeley National Laboratory - Intelligent Netwo...
Stephen Selkowitz - Lawrence Berkeley National Laboratory - Intelligent Netwo...Shane Mitchell
 
Greek philosophy programacion-unidad-didactica-clil-template 1
Greek philosophy programacion-unidad-didactica-clil-template 1Greek philosophy programacion-unidad-didactica-clil-template 1
Greek philosophy programacion-unidad-didactica-clil-template 1Filosofia Ies A Pinguela
 
2014 05 30 (uc3m) eMadrid cdk uc3m mirando 4 anyos atras adelante tecnologia ...
2014 05 30 (uc3m) eMadrid cdk uc3m mirando 4 anyos atras adelante tecnologia ...2014 05 30 (uc3m) eMadrid cdk uc3m mirando 4 anyos atras adelante tecnologia ...
2014 05 30 (uc3m) eMadrid cdk uc3m mirando 4 anyos atras adelante tecnologia ...eMadrid network
 

Andere mochten auch (18)

Degree_transcript_Laura_Nagelschmidt
Degree_transcript_Laura_NagelschmidtDegree_transcript_Laura_Nagelschmidt
Degree_transcript_Laura_Nagelschmidt
 
Actividades y atracciones de Quebec, Canada
Actividades y atracciones de Quebec, CanadaActividades y atracciones de Quebec, Canada
Actividades y atracciones de Quebec, Canada
 
Office Developers Conference - Financial Services OBAs
Office Developers Conference - Financial Services OBAsOffice Developers Conference - Financial Services OBAs
Office Developers Conference - Financial Services OBAs
 
Cómo limpiar el váter
Cómo limpiar el váterCómo limpiar el váter
Cómo limpiar el váter
 
KW resume 2015
KW resume 2015KW resume 2015
KW resume 2015
 
Boletín Tierra Resumen año 2013
Boletín Tierra Resumen año 2013Boletín Tierra Resumen año 2013
Boletín Tierra Resumen año 2013
 
Portfolio Designer
Portfolio DesignerPortfolio Designer
Portfolio Designer
 
Catalogo 2013
Catalogo 2013Catalogo 2013
Catalogo 2013
 
Valvula cim26
Valvula cim26Valvula cim26
Valvula cim26
 
(Webinar Slides) Network Your Way to Success
(Webinar Slides) Network Your Way to Success(Webinar Slides) Network Your Way to Success
(Webinar Slides) Network Your Way to Success
 
Estudios fase III necesarios para aprobar un fármaco: a favor 12-2013
Estudios fase III necesarios para aprobar un fármaco: a favor 12-2013Estudios fase III necesarios para aprobar un fármaco: a favor 12-2013
Estudios fase III necesarios para aprobar un fármaco: a favor 12-2013
 
Vog449 br-0116 - ccc
Vog449 br-0116 - cccVog449 br-0116 - ccc
Vog449 br-0116 - ccc
 
Tell n sell free issue_sep17_to_sep23
Tell n sell free issue_sep17_to_sep23Tell n sell free issue_sep17_to_sep23
Tell n sell free issue_sep17_to_sep23
 
Wspieranie rozwoju kompetencji dorosłych – oferta sektora Edukacji dorosłych ...
Wspieranie rozwoju kompetencji dorosłych – oferta sektora Edukacji dorosłych ...Wspieranie rozwoju kompetencji dorosłych – oferta sektora Edukacji dorosłych ...
Wspieranie rozwoju kompetencji dorosłych – oferta sektora Edukacji dorosłych ...
 
Communication In Cyberspace
Communication In CyberspaceCommunication In Cyberspace
Communication In Cyberspace
 
Stephen Selkowitz - Lawrence Berkeley National Laboratory - Intelligent Netwo...
Stephen Selkowitz - Lawrence Berkeley National Laboratory - Intelligent Netwo...Stephen Selkowitz - Lawrence Berkeley National Laboratory - Intelligent Netwo...
Stephen Selkowitz - Lawrence Berkeley National Laboratory - Intelligent Netwo...
 
Greek philosophy programacion-unidad-didactica-clil-template 1
Greek philosophy programacion-unidad-didactica-clil-template 1Greek philosophy programacion-unidad-didactica-clil-template 1
Greek philosophy programacion-unidad-didactica-clil-template 1
 
2014 05 30 (uc3m) eMadrid cdk uc3m mirando 4 anyos atras adelante tecnologia ...
2014 05 30 (uc3m) eMadrid cdk uc3m mirando 4 anyos atras adelante tecnologia ...2014 05 30 (uc3m) eMadrid cdk uc3m mirando 4 anyos atras adelante tecnologia ...
2014 05 30 (uc3m) eMadrid cdk uc3m mirando 4 anyos atras adelante tecnologia ...
 

Ähnlich wie Wege zum "Programmable Web"

Elgg - Social Network im Unternehmen
Elgg - Social Network im UnternehmenElgg - Social Network im Unternehmen
Elgg - Social Network im UnternehmenVisionConnect GmbH
 
DevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampWerner Keil
 
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)die.agilen GmbH
 
SecTXL '11 | Hamburg - Andreas Weiss: "Cloud Computing ist die Zukunft- aber ...
SecTXL '11 | Hamburg - Andreas Weiss: "Cloud Computing ist die Zukunft- aber ...SecTXL '11 | Hamburg - Andreas Weiss: "Cloud Computing ist die Zukunft- aber ...
SecTXL '11 | Hamburg - Andreas Weiss: "Cloud Computing ist die Zukunft- aber ...Symposia 360°
 
Encapsulation, the requirement for software modernization?
Encapsulation, the requirement for software modernization?Encapsulation, the requirement for software modernization?
Encapsulation, the requirement for software modernization?Ulrich Gerkmann-Bartels
 
Migration von Applikationen in die Cloud
Migration von Applikationen in die CloudMigration von Applikationen in die Cloud
Migration von Applikationen in die CloudAarno Aukia
 
Cloud Native Computing & DevOps
Cloud Native Computing & DevOpsCloud Native Computing & DevOps
Cloud Native Computing & DevOpsAarno Aukia
 
Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?
Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?
Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?Aarno Aukia
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerSandro Sonntag
 
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-UmfeldInfrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-UmfeldDaniel Steiger
 
Client Technologien - Ein Überblick für Usability Professionals
Client Technologien - Ein Überblick für Usability ProfessionalsClient Technologien - Ein Überblick für Usability Professionals
Client Technologien - Ein Überblick für Usability ProfessionalsThomas Memmel
 
Portale 2.0 mit Liferay
Portale 2.0 mit LiferayPortale 2.0 mit Liferay
Portale 2.0 mit Liferayinovex GmbH
 
xPages Erfahrungen Wünsch AG
xPages Erfahrungen Wünsch AGxPages Erfahrungen Wünsch AG
xPages Erfahrungen Wünsch AGWünsch AG
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt socDaniel Fisher
 
Deutsche Wolke Präsentation 100114
Deutsche Wolke Präsentation 100114Deutsche Wolke Präsentation 100114
Deutsche Wolke Präsentation 100114Georg Klauser
 
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivitySaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivitySaaS-EcoSystem
 
SaaS-EcoSystem: Cloud Integration
SaaS-EcoSystem: Cloud IntegrationSaaS-EcoSystem: Cloud Integration
SaaS-EcoSystem: Cloud IntegrationWolfgang Schmidt
 
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumCloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumTEC Campus
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!adesso AG
 

Ähnlich wie Wege zum "Programmable Web" (20)

Elgg - Social Network im Unternehmen
Elgg - Social Network im UnternehmenElgg - Social Network im Unternehmen
Elgg - Social Network im Unternehmen
 
DevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCamp
 
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
 
SecTXL '11 | Hamburg - Andreas Weiss: "Cloud Computing ist die Zukunft- aber ...
SecTXL '11 | Hamburg - Andreas Weiss: "Cloud Computing ist die Zukunft- aber ...SecTXL '11 | Hamburg - Andreas Weiss: "Cloud Computing ist die Zukunft- aber ...
SecTXL '11 | Hamburg - Andreas Weiss: "Cloud Computing ist die Zukunft- aber ...
 
Encapsulation, the requirement for software modernization?
Encapsulation, the requirement for software modernization?Encapsulation, the requirement for software modernization?
Encapsulation, the requirement for software modernization?
 
Migration von Applikationen in die Cloud
Migration von Applikationen in die CloudMigration von Applikationen in die Cloud
Migration von Applikationen in die Cloud
 
Cloud Native Computing & DevOps
Cloud Native Computing & DevOpsCloud Native Computing & DevOps
Cloud Native Computing & DevOps
 
Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?
Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?
Wir arbeiten in der Cloud – eine Herausforderung für das IT Management?
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM Server
 
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-UmfeldInfrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
 
Client Technologien - Ein Überblick für Usability Professionals
Client Technologien - Ein Überblick für Usability ProfessionalsClient Technologien - Ein Überblick für Usability Professionals
Client Technologien - Ein Überblick für Usability Professionals
 
Portale 2.0 mit Liferay
Portale 2.0 mit LiferayPortale 2.0 mit Liferay
Portale 2.0 mit Liferay
 
xPages Erfahrungen Wünsch AG
xPages Erfahrungen Wünsch AGxPages Erfahrungen Wünsch AG
xPages Erfahrungen Wünsch AG
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
 
Deutsche Wolke Präsentation 100114
Deutsche Wolke Präsentation 100114Deutsche Wolke Präsentation 100114
Deutsche Wolke Präsentation 100114
 
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivitySaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
 
Workshop on E-Learning 2012
Workshop on E-Learning 2012Workshop on E-Learning 2012
Workshop on E-Learning 2012
 
SaaS-EcoSystem: Cloud Integration
SaaS-EcoSystem: Cloud IntegrationSaaS-EcoSystem: Cloud Integration
SaaS-EcoSystem: Cloud Integration
 
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumCloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
 

Wege zum "Programmable Web"

  • 1. Wege zum "Programmable Web" Integration von Cloud-Diensten mit Next Generation Web APIs Folie 1 von 31 26. Januar 2012 Pascal Alich © Zühlke 2011
  • 2. Pascal Alich • Software Engineer • Java Enterprise @pascalalich http://blog.alichs.de Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 2 von 31 © Zühlke 2011
  • 3. Würden Sie gern Ihre Kontakte synchron halten? Groupware Telefonanlage CRM Social Network Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 3 von 31 © Zühlke 2011
  • 4. Keine Lust mehr auf E-Mail-Benachrichtigungen? Google Alerts  Evernote Notizen AB-Nachrichten von Zuhause  MP3 in Dropbox + SMS Social Network News  TODOs mit niedriger Priorität … Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 4 von 31 © Zühlke 2011
  • 5. Das Web 2.0 hat viele Cloud-Services hervorgebracht! Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 5 von 31 © Zühlke 2011
  • 6. Integration durch Export/Import nicht mehr 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. Web APIs sind inzwischen Standard 4432 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. Eine API verleiht Flügel! Programmatische Integration  Innovation Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 8 von 31 © Zühlke 2011
  • 9. Trotz APIs sind Cloud Services eher Daten-Silos Optimiert zum Einfüllen und Abfüllen 26. Januar 2012 Folie 9 von 31 © Zühlke 2011
  • 10. Cloud Services bieten lediglich bestimmte Integrationen an • Teuer • Direkte Integration • Unflexibel • Schließt ggf. Nutzer aus • Polling erforderlich SMS Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 10 von 31 © Zühlke 2011
  • 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. Polling „sucks“! Höhere Entwicklungsaufwand • Cron Job • Logik, was sich getan hat Hoher Ressourcenbedarf • Ineffizient • Quotas Keine sofortige • Synchronität bzw. • Verarbeitung Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 12 von 31 © Zühlke 2011
  • 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öglichkeiten Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 13 von 31 © Zühlke 2011
  • 14. github Post-Receive Beispiel JSON wird in POST-Variable payload versendet Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 14 von 31 © Zühlke 2011
  • 15. Webhooks – Event Notifications senden Ereignisse im Geschäftsprozess als Trigger Beispiele: • 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. 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 Stream Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 16 von 31 © Zühlke 2011
  • 17. Webhooks – Callbacks aufrufen • Auch hier wird eine URL aufgerufen • Ergebnis beeinflusst weitere Verarbeitung  Hohe Erweiterbarkeit Beispiele • Eine Webshop erfragt Rabatte vom Altsystem • Eine Social Media Anwendung ruft einen Dienst zum automatischen Tagging Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 17 von 31 © Zühlke 2011
  • 18. Cloud Integration @ Google App Engine Demo Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 18 von 31 © Zühlke 2011
  • 19. Szenario: Anrufbeantworter to go! Anruf Anrufbeantworter + MP3 Push JavaScript @GAE MP3 Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 19 von 31 © Zühlke 2011
  • 20. Szenario: TYPO3 Kontaktformular integriert verschiedene Dienste JavaScript Kontakt- @GAE Formular On Save [Anfrage] [Beschwerde] [Pressemappe] Dateien per E-Mail Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 20 von 31 © Zühlke 2011
  • 21. Cloud Service = Software-Komponente Open-Closed Principle (OCP) • Offen für Erweiterungen • Geschlossen für Änderungen  Weitere Integrationen ohne Änderung Single Responsibility Principle (SRP) • Fokussierung auf Kernfunktionalität  Integrationslogik auslagern Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 21 von 31 © Zühlke 2011
  • 22. Wir brauchen ein erweitertes API-Verständnis Next Generation Cloud-Dienste • konzentrieren sich auf Kernfunktionalität, • sind erweiterbar und • kooperativ. Vorteile • Flexibilität • Alleinstellungsmerkmal • Communitybeteiligung einfacher Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 22 von 31 © Zühlke 2011
  • 23. Offenheit ist wichtiger als Standardisierung! • SOA spricht von abgestimmten Schnittstellen  in der Cloud nicht immer möglich • Einfachheit  schnelle Adaption • Besser „irgendwie“ offen, als gar nicht! • Best Practices Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 23 von 31 © Zühlke 2011
  • 24. Aber was ist mit diesen Implementierungsfragen? Semantik HTTP codes Format Fehlerbehandlung Sicherheit Timeouts Authentifizierung Autorisierung Konfiguration Konsistenz Monitoring Logging Synchron Asynchron  s. Zusatzfolien Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 24 von 31 © Zühlke 2011
  • 25. Cloud Service Integration braucht eine Mittlerplattform • Integriert, adaptiert, konvertiert • Integrationslogik nutzt verschiedene Services • Flexibel durch Scripting-Unterstützung Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 25 von 31 © Zühlke 2011
  • 26. Integration Plattform ist selbst 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. Fazit • Web APIs sollten zusätzlich Webhooks anbieten • Offenheit ist wichtiger als Standardkonformität • Integrationsplattformen erforderlich • Flexibel integrieren • Günstiger entwickeln Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 27 von 31 © Zühlke 2011
  • 28. Zusatzfolien Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 28 von 31 © Zühlke 2011
  • 29. Aber was ist mit diesen Implementierungsfragen? Semantik HTTP codes Format Fehlerbehandlung Sicherheit Timeouts Authentifizierung Autorisierung Konfiguration Konsistenz Monitoring Logging Synchron Asynchron Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 29 von 31 © Zühlke 2011
  • 30. Semantik – Nutze Microformats oder Microdata, aber pragmatisch! Allrecipes.com Suchergebnis Microformat hrecipe Quelle: http://allrecipes.com/Recipe/Gingerbread- Quelle: http://www.google.com/webmasters/tools/richsnippets Men/Detail.aspx Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 30 von 31 © Zühlke 2011
  • 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 vergleichen Quelle: http://docs.cloudmailin.com/validating_the_sender Wege zum "Programmable Web" | Pascal Alich 26. Januar 2012 Folie 31 von 31 © Zühlke 2011