พักนี้เจอชื่อ AtomPub หรือชื่อเต็ม Atom Publishing Protocol (APP) ค่อนข้างบ่อย เลยอ่านเสียหน่อย
AtomPub เป็นหนึ่งในสองมาตรฐานย่อยของ “Atom” อีกมาตรฐานหนึ่งใช้กันแพร่หลายพอสมควรคือ Atom Syndication Format (ถ้าไม่เคยเห็น ลองกดได้)
ตามชื่อที่ทำตัวหนาไว้
มันเป็นส่วนเติมเต็มซึ่งกันและกัน เหมือน HTML กับ HTTP
Atom Syndication ออกมาสักระยะแล้ว (เคยเขียนถึงไปแล้วด้วย RSS 2.0 vs Atom 1.0) ส่วน AtomPub ออกมาตั้งแต่ปี 2006 ถึงจะยังไม่ดังมากแต่ก็มีคนใช้อยู่หลายราย ที่เด่นๆ ก็คือ Google Data API ซึ่งเป็น AtomPub + extension ของกูเกิลเอง
ทีนี้มาดูรายละเอียดของ AtomPub กัน
เอกสารเกี่ยวกับ AtomPub ที่ดีที่สุดที่ผมหาได้คือ Getting to know the Atom Publishing Protocol ของ IBM developerWorks อ่านง่ายมาก
AtomPub คือโปรโทคอลที่ทำ CRUD operation (create, read, update, delete) บนโปรโทคอล HTTP อีกชั้นหนึ่ง (เป็น RESTful)
ส่วนฟอร์แมตของข้อมูลที่รับส่งกันของ AtomPub ก็คือ Atom นั่นเอง (เป็น XML ธรรมดา)
ส่วนขั้นตอนการสื่อสาร จะคล้ายๆ กับ UDDI/WS-* แต่ไม่เลอะเทอะเท่า ตัวอย่างดังนี้ (ผมไม่ใส่โค้ดเพราะขี้เกียจ ตามไปอ่านใน developerWorks กันเองถ้าสนใจ)
เนื่องจาก Atom เป็น XML และการอ้างตำแหน่งใช้ระบบพาธ ผมเลยรู้สึกว่า AtomPub นี้ใกล้เคียงกับ XSLT + XPath อยู่บางส่วน
บทความตอนที่สองของ developerWorks พูดถึงการทดลองใช้ AtomPub แบบจริงๆ ไม่ใช่สเปก
ปัจจุบัน implementation ที่มีคือ
ของ Drupal เหมือนยังไม่มี
ลิงก์อื่นๆ ที่เกี่ยวข้อง
มีความพยายามจะทำโมดูล gdata แต่ไม่สำเร็จ
@sugree ดูจาก vision ของ Dries เรื่อง multiple output type คิดว่างานช้างเลยแหละ