atom publishing protocol
DESCRIPTION
Introduction into the Atom Publishing Protocol. Longer version, as presented at FrOSCon 2008 (in German).TRANSCRIPT
Atom Publishing ProtocolDirk 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
• "Grabenkriege"
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 4287RFC 5023
Agenda
• Rückblick
• Atom-Grundlagen
• Anwendung
REST
Verben
(c)
IBM
dev
elop
erW
orks
<atom:entry> <atom:id>20080824140001</atom:id> <atom:updated> 2008-08-24T14:00:01+01:00 </atom:updated> <atom:title type="text">Test</atom:title> <atom:category term="FrOSCon"/> <atom:link rel="edit"
type="application/atom+xml" href="http://example.com/?edit=..."/> <atom:content type="html"> <p>Hello, world!</p> </atom:content> <atom:author> <atom:name>Dirk</atom:name> </atom:author></atom:entry>
Atom FeedListe von Atom Entries
Atom Publishing ProtocolAtom Entries bearbeiten
<?xml version="1.0" encoding="utf-8"?><app:service xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom"><app:workspace> <atom:title>FrOSCon</atom:title> <app:collection href="http://example.com/froscon/"> <atom:title>Artikel</atom:title> <app:accept> application/atom+xml;type=entry </app:accept> <app:categories fixed="yes"> <atom:category term="OpenSource"/> </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 "statische" Seiten
• Bonus: "internal API"
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 + AtomPubsind
frei, offen, standardisiert,hersteller-neutral,
genießen breite Unterstützungund sind daher attraktivfü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!