SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Atom Publishing Protocol
        Dirk Haun
      www.geeklog.net
Das Atom Publishing Protocol
            (AtomPub)
ist ein standardisiertes Protokoll
zum Übertragen von Inhalten auf
        (und von) Websites.
Vita

• Geeklog
  ‣ Open Source CMS
• AtomPub als Summer
  of Code-Projekt 2007

  ‣ Implementierung
    Ramnath R. Iyer
Agenda


• Rückblick
• Atom-Grundlagen
• Anwendung
RSS-History
I have often stated that there are 7
different and incompatible versions
of RSS. (...)
I would like to publicly apologize for
my previous misstatements. There are
not 7 different and incompatible
versions of RSS; there are 9.

                       -- Mark Pilgrim
Probleme von RSS


• 2 bzw. 7 bzw. 9
  inkompatible
  Versionen

• ungenaue
  Spezifikationen

• quot;Grabenkriegequot;
Publishing Protokolle


• Gleiches Problem:
  ‣ Blogger API
  ‣ metaWeblog API
  ‣ ... und viele andere
Atom
Prinzipien

• 100% vendor neutral
• implemented by everybody
• freely extensible by anybody
• cleanly and thoroughly specified
RFC 4287
RFC 5023
Agenda


• Rückblick
• Atom-Grundlagen
• Anwendung
REST
Verben

         (c) IBM developerWorks
<atom:entry>
  <atom:id>20080824140001</atom:id>
  <atom:updated>
    2008-08-24T14:00:01+01:00
  </atom:updated>
  <atom:title type=quot;textquot;>Test</atom:title>
  <atom:category term=quot;FrOSConquot;/>
  <atom:link rel=quot;editquot;
    type=quot;application/atom+xmlquot;
    href=quot;http://example.com/?edit=...quot;/>
  <atom:content type=quot;htmlquot;>
    &lt;p&gt;Hello, world!&lt;/p&gt;
  </atom:content>
  <atom:author>
    <atom:name>Dirk</atom:name>
  </atom:author>
</atom:entry>
Atom Feed
 Liste von Atom Entries

Atom Publishing Protocol
 Atom Entries bearbeiten
<?xml version=quot;1.0quot; encoding=quot;utf-8quot;?>
<app:service
  xmlns:app=quot;http://www.w3.org/2007/appquot;
  xmlns:atom=quot;http://www.w3.org/2005/Atomquot;>
<app:workspace>
  <atom:title>FrOSCon</atom:title>
  <app:collection
      href=quot;http://example.com/froscon/quot;>
    <atom:title>Artikel</atom:title>
    <app:accept>
      application/atom+xml;type=entry
    </app:accept>
    <app:categories fixed=quot;yesquot;>
      <atom:category term=quot;OpenSourcequot;/>
    </app:categories>
  </app:collection>
</app:workspace>
</app:service>
Authentifizierung


• HTTP Basic oder
  Digest Auth

• WSSE
• OAuth
Agenda


• Rückblick
• Atom-Grundlagen
• Anwendung
AtomPub in Geeklog


• Summer of Code-
  Projekt

• für Artikel und
  quot;statischequot; Seiten

• Bonus: quot;internal APIquot;
Atom Prot. Exerciser
appfs


• AtomPub Filesystem
• basiert auf FUSE
• Inhalte der Website
  werden als Dateien
  abgebildet
... und andere
At Google, we've been using Atom
+ AtomPub as the foundation of
the Google Data APIs for almost
two years now

         -- Kyle Marvin, Google


 z.B. Google Calendar, Blogger,
 Picasa, YouTube, OpenSocial
Atom + AtomPub
               sind
  frei, offen, standardisiert,
      hersteller-neutral,
genießen breite Unterstützung
   und sind daher attraktiv
    für Software-Hersteller
         und Anwender.
Ressourcen

• Atom-Spezifikationen
  RFC 4287, RFC 5023

• Getting to know the
  Atom Publishing
  Protocol

• Atom Protocol
  Exerciser

• appfs Filesystem
Credits

• Photos via flickr.com,
  thanks to: Philippe
  Teuwen, Hopkinsii, hobvias
  sudoneighm, Matt Knight,
  Eric Hart, ira, Angela
  Sevin, massenpunkt,
  William Gantz, Gigglejuice,
  manuki

• Graphic on page 16
  (c) IBM developerWorks,
  used with permission



Tipp: Bilder und Stichwörter sind verlinkt!

Contenu connexe

Similaire à Atom Publishing Protocol

NetBeans für PHP-Entwickler
NetBeans für PHP-EntwicklerNetBeans für PHP-Entwickler
NetBeans für PHP-EntwicklerIngo Reinhart
 
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)André Krämer
 
Ionic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenIonic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenHendrik Lösch
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHagilemethoden
 
Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007jan_mindmatters
 
Schnittstellen und Webservices
Schnittstellen und WebservicesSchnittstellen und Webservices
Schnittstellen und WebservicesJakob .
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Jürg Stuker
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutterroskakori
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerLenz Grimmer
 
Websockets: Leichtgewichtige Verbindungen für Web-Applikationen
Websockets: Leichtgewichtige Verbindungen für Web-ApplikationenWebsockets: Leichtgewichtige Verbindungen für Web-Applikationen
Websockets: Leichtgewichtige Verbindungen für Web-ApplikationenSpeedPartner GmbH
 
Tipps zur Performanceoptimierung für Liferay Portal
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay PortalStefan Hilpp
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenB1 Systems GmbH
 
Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Jürg Stuker
 
Anleitung zur Installation von Tomcat für Opencms
Anleitung zur Installation von Tomcat für OpencmsAnleitung zur Installation von Tomcat für Opencms
Anleitung zur Installation von Tomcat für OpencmsStefan Hilpp
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
 
Rollout-Prozess für APEX Anwendungen
Rollout-Prozess für APEX AnwendungenRollout-Prozess für APEX Anwendungen
Rollout-Prozess für APEX AnwendungenOliver Lemm
 
Lasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentationLasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentationSOASTA
 

Similaire à Atom Publishing Protocol (20)

NetBeans für PHP-Entwickler
NetBeans für PHP-EntwicklerNetBeans für PHP-Entwickler
NetBeans für PHP-Entwickler
 
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
HTML5-Performance: So rennt Ihre App und nicht Ihre Anwender (weg)
 
Ionic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenIonic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf Steroiden
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
 
Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007
 
Schnittstellen und Webservices
Schnittstellen und WebservicesSchnittstellen und Webservices
Schnittstellen und Webservices
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutter
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
 
Websockets: Leichtgewichtige Verbindungen für Web-Applikationen
Websockets: Leichtgewichtige Verbindungen für Web-ApplikationenWebsockets: Leichtgewichtige Verbindungen für Web-Applikationen
Websockets: Leichtgewichtige Verbindungen für Web-Applikationen
 
Tipps zur Performanceoptimierung für Liferay Portal
Tipps zur  Performanceoptimierung für Liferay PortalTipps zur  Performanceoptimierung für Liferay Portal
Tipps zur Performanceoptimierung für Liferay Portal
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
 
Top 10 Internet Trends 2003
Top 10 Internet Trends 2003Top 10 Internet Trends 2003
Top 10 Internet Trends 2003
 
Anleitung zur Installation von Tomcat für Opencms
Anleitung zur Installation von Tomcat für OpencmsAnleitung zur Installation von Tomcat für Opencms
Anleitung zur Installation von Tomcat für Opencms
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
Rollout-Prozess für APEX Anwendungen
Rollout-Prozess für APEX AnwendungenRollout-Prozess für APEX Anwendungen
Rollout-Prozess für APEX Anwendungen
 
Lasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentationLasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentation
 
G&L Tech News 02/17
G&L Tech News 02/17G&L Tech News 02/17
G&L Tech News 02/17
 

Plus de Dirk Haun

Reverse Bildersuche mit TinEye
Reverse Bildersuche mit TinEyeReverse Bildersuche mit TinEye
Reverse Bildersuche mit TinEyeDirk Haun
 
Braindump - How to leave your Knowledge when leaving your Job
Braindump - How to leave your Knowledge when leaving your JobBraindump - How to leave your Knowledge when leaving your Job
Braindump - How to leave your Knowledge when leaving your JobDirk Haun
 
Vorsicht, Kamera!
Vorsicht, Kamera!Vorsicht, Kamera!
Vorsicht, Kamera!Dirk Haun
 
Vorsicht Kamera!
Vorsicht Kamera!Vorsicht Kamera!
Vorsicht Kamera!Dirk Haun
 
Botschaften optimieren für Erinnerung und Verbreitung
Botschaften optimieren für Erinnerung und VerbreitungBotschaften optimieren für Erinnerung und Verbreitung
Botschaften optimieren für Erinnerung und VerbreitungDirk Haun
 
Smile, you're on camera!
Smile, you're on camera!Smile, you're on camera!
Smile, you're on camera!Dirk Haun
 
What's our Status?
What's our Status?What's our Status?
What's our Status?Dirk Haun
 
What's our Status?
What's our Status?What's our Status?
What's our Status?Dirk Haun
 
Open Source is good for you
Open Source is good for youOpen Source is good for you
Open Source is good for youDirk Haun
 
Is C going the way of the Dodo?
Is C going the way of the Dodo?Is C going the way of the Dodo?
Is C going the way of the Dodo?Dirk Haun
 
Google Summer of Code 2012
Google Summer of Code 2012Google Summer of Code 2012
Google Summer of Code 2012Dirk Haun
 
Geeklog: The secure CMS.
Geeklog: The secure CMS.Geeklog: The secure CMS.
Geeklog: The secure CMS.Dirk Haun
 
Continuous Integration in der Praxis
Continuous Integration in der PraxisContinuous Integration in der Praxis
Continuous Integration in der PraxisDirk Haun
 
Google Summer of Code: Neue Mitstreiter mit Geld (und T-Shirts) gewinnen - kl...
Google Summer of Code: Neue Mitstreiter mit Geld (und T-Shirts) gewinnen - kl...Google Summer of Code: Neue Mitstreiter mit Geld (und T-Shirts) gewinnen - kl...
Google Summer of Code: Neue Mitstreiter mit Geld (und T-Shirts) gewinnen - kl...Dirk Haun
 
Continuous Integration - Does it scale?
Continuous Integration - Does it scale?Continuous Integration - Does it scale?
Continuous Integration - Does it scale?Dirk Haun
 
Google Summer of Code 2011 (English)
Google Summer of Code 2011 (English)Google Summer of Code 2011 (English)
Google Summer of Code 2011 (English)Dirk Haun
 
Google Summer of Code 2011 (German)
Google Summer of Code 2011 (German)Google Summer of Code 2011 (German)
Google Summer of Code 2011 (German)Dirk Haun
 
Apple iPad als Reisebegleiter
Apple iPad als ReisebegleiterApple iPad als Reisebegleiter
Apple iPad als ReisebegleiterDirk Haun
 
Verteilte Versionskontrolle in der Praxis
Verteilte Versionskontrolle in der PraxisVerteilte Versionskontrolle in der Praxis
Verteilte Versionskontrolle in der PraxisDirk Haun
 
Verteilte Versionskontrolle in der Praxis
Verteilte Versionskontrolle in der PraxisVerteilte Versionskontrolle in der Praxis
Verteilte Versionskontrolle in der PraxisDirk Haun
 

Plus de Dirk Haun (20)

Reverse Bildersuche mit TinEye
Reverse Bildersuche mit TinEyeReverse Bildersuche mit TinEye
Reverse Bildersuche mit TinEye
 
Braindump - How to leave your Knowledge when leaving your Job
Braindump - How to leave your Knowledge when leaving your JobBraindump - How to leave your Knowledge when leaving your Job
Braindump - How to leave your Knowledge when leaving your Job
 
Vorsicht, Kamera!
Vorsicht, Kamera!Vorsicht, Kamera!
Vorsicht, Kamera!
 
Vorsicht Kamera!
Vorsicht Kamera!Vorsicht Kamera!
Vorsicht Kamera!
 
Botschaften optimieren für Erinnerung und Verbreitung
Botschaften optimieren für Erinnerung und VerbreitungBotschaften optimieren für Erinnerung und Verbreitung
Botschaften optimieren für Erinnerung und Verbreitung
 
Smile, you're on camera!
Smile, you're on camera!Smile, you're on camera!
Smile, you're on camera!
 
What's our Status?
What's our Status?What's our Status?
What's our Status?
 
What's our Status?
What's our Status?What's our Status?
What's our Status?
 
Open Source is good for you
Open Source is good for youOpen Source is good for you
Open Source is good for you
 
Is C going the way of the Dodo?
Is C going the way of the Dodo?Is C going the way of the Dodo?
Is C going the way of the Dodo?
 
Google Summer of Code 2012
Google Summer of Code 2012Google Summer of Code 2012
Google Summer of Code 2012
 
Geeklog: The secure CMS.
Geeklog: The secure CMS.Geeklog: The secure CMS.
Geeklog: The secure CMS.
 
Continuous Integration in der Praxis
Continuous Integration in der PraxisContinuous Integration in der Praxis
Continuous Integration in der Praxis
 
Google Summer of Code: Neue Mitstreiter mit Geld (und T-Shirts) gewinnen - kl...
Google Summer of Code: Neue Mitstreiter mit Geld (und T-Shirts) gewinnen - kl...Google Summer of Code: Neue Mitstreiter mit Geld (und T-Shirts) gewinnen - kl...
Google Summer of Code: Neue Mitstreiter mit Geld (und T-Shirts) gewinnen - kl...
 
Continuous Integration - Does it scale?
Continuous Integration - Does it scale?Continuous Integration - Does it scale?
Continuous Integration - Does it scale?
 
Google Summer of Code 2011 (English)
Google Summer of Code 2011 (English)Google Summer of Code 2011 (English)
Google Summer of Code 2011 (English)
 
Google Summer of Code 2011 (German)
Google Summer of Code 2011 (German)Google Summer of Code 2011 (German)
Google Summer of Code 2011 (German)
 
Apple iPad als Reisebegleiter
Apple iPad als ReisebegleiterApple iPad als Reisebegleiter
Apple iPad als Reisebegleiter
 
Verteilte Versionskontrolle in der Praxis
Verteilte Versionskontrolle in der PraxisVerteilte Versionskontrolle in der Praxis
Verteilte Versionskontrolle in der Praxis
 
Verteilte Versionskontrolle in der Praxis
Verteilte Versionskontrolle in der PraxisVerteilte Versionskontrolle in der Praxis
Verteilte Versionskontrolle in der Praxis
 

Atom Publishing Protocol