atom publishing protocol
DESCRIPTION
Introduction into the Atom Publishing Protocol. Longer version, as presented at FrOSCon 2008 (in German).TRANSCRIPT
![Page 1: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/1.jpg)
Atom Publishing ProtocolDirk Haun
www.geeklog.net
![Page 2: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/2.jpg)
Das Atom Publishing Protocol (AtomPub)
ist ein standardisiertes Protokoll zum Übertragen von Inhalten auf
(und von) Websites.
![Page 3: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/3.jpg)
Vita
• Geeklog
‣ Open Source CMS
• AtomPub als Summer of Code-Projekt 2007
‣ Implementierung Ramnath R. Iyer
![Page 4: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/4.jpg)
Agenda
• Rückblick
• Atom-Grundlagen
• Anwendung
![Page 6: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/6.jpg)
RSS-History
![Page 7: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/7.jpg)
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
![Page 8: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/8.jpg)
Probleme von RSS
• 2 bzw. 7 bzw. 9 inkompatible Versionen
• ungenaue Spezifikationen
• "Grabenkriege"
![Page 9: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/9.jpg)
Publishing Protokolle
• Gleiches Problem:
‣ Blogger API
‣ metaWeblog API
‣ ... und viele andere
![Page 10: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/10.jpg)
![Page 11: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/11.jpg)
Atom
![Page 12: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/12.jpg)
Prinzipien
• 100% vendor neutral
• implemented by everybody
• freely extensible by anybody
• cleanly and thoroughly specified
![Page 13: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/13.jpg)
RFC 4287RFC 5023
![Page 14: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/14.jpg)
Agenda
• Rückblick
• Atom-Grundlagen
• Anwendung
![Page 15: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/15.jpg)
REST
![Page 16: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/16.jpg)
Verben
(c)
IBM
dev
elop
erW
orks
![Page 17: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/17.jpg)
<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>
![Page 18: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/18.jpg)
Atom FeedListe von Atom Entries
Atom Publishing ProtocolAtom Entries bearbeiten
![Page 19: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/19.jpg)
<?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>
![Page 20: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/20.jpg)
Authentifizierung
• HTTP Basic oder Digest Auth
• WSSE
• OAuth
![Page 21: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/21.jpg)
Agenda
• Rückblick
• Atom-Grundlagen
• Anwendung
![Page 22: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/22.jpg)
AtomPub in Geeklog
• Summer of Code-Projekt
• für Artikel und "statische" Seiten
• Bonus: "internal API"
![Page 23: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/23.jpg)
Atom Prot. Exerciser
![Page 24: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/24.jpg)
appfs
• AtomPub Filesystem
• basiert auf FUSE
• Inhalte der Website werden als Dateien abgebildet
![Page 26: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/26.jpg)
... und andere
![Page 27: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/27.jpg)
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
![Page 28: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/28.jpg)
Atom + AtomPubsind
frei, offen, standardisiert,hersteller-neutral,
genießen breite Unterstützungund sind daher attraktivfür Software-Hersteller
und Anwender.
![Page 29: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/29.jpg)
Ressourcen
• Atom-Spezifikationen RFC 4287, RFC 5023
• Getting to know the Atom Publishing Protocol
• Atom Protocol Exerciser
• appfs Filesystem
![Page 30: Atom Publishing Protocol](https://reader033.vdocuments.net/reader033/viewer/2022061206/54831916b47959ce0c8b4948/html5/thumbnails/30.jpg)
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!