{"id":495,"date":"2008-07-15T06:35:23","date_gmt":"2008-07-15T13:35:23","guid":{"rendered":"http:\/\/www.alephnaught.com\/Blog\/?p=495"},"modified":"2008-07-15T06:35:23","modified_gmt":"2008-07-15T13:35:23","slug":"taking-a-look-at-atomserver","status":"publish","type":"post","link":"https:\/\/www.alephnaught.com\/Blog\/2008\/07\/15\/taking-a-look-at-atomserver\/","title":{"rendered":"Taking a look at atomserver"},"content":{"rendered":"<div id=\"content_div-495\">\n<p>I read the XML Daily Newslink, and saw the following reference:<\/p>\n<blockquote><p>AtomServer Helps Serve Up AtomPub<br \/>\nTaylor Cowan, O&#8217;Reilly Technical<\/p>\n<p>The most interesting development within the XML world of late is AtomPub.<br \/>\nIt abstracts the details (however simple they may be) of REST and<br \/>\nprovides them in a well specified protocol. Instead of writing home<br \/>\ngrown RESTfull web services, merely decompose your domain into<br \/>\ncollections or listings of XML blocks and let AtomPub handle the details<br \/>\nof query, create, delete, and update. One attractive benefit is that you<br \/>\ncan bank on a plethora of AtomPub client implementations&#8230;today.<br \/>\nFurthermore, many services (gdata &#8211; Google Data APIs) are sprouting up<br \/>\nso that the domain is familiar. Connecting to an RSS feed has always<br \/>\nbeen simple, now we can detach ourselves from the dark days of SOAP<br \/>\nover-engineering and provide data to the clients who want it with ease.<br \/>\nSo clearly I like Atom&#8230;but something has been missing. Until recently<br \/>\nyou&#8217;d be on your own in deciding how to implement the protocol. Many<br \/>\nthings are left to the particular implementation such as the URL format.<br \/>\nThe first thing to come along for Java developers was Abdera. This<br \/>\nmakes it possible to quickly write your own AtomPub server, however,<br \/>\nit does require one to write more than a few lines of code. Having<br \/>\nplayed around with Rails I could imagine that it wouldn&#8217;t be too far<br \/>\noff until we had something that made creating and binding an Atom server<br \/>\nto a database simpler, and it&#8217;s finally here in AtomServer. In their<br \/>\nown words, &#8220;AtomServer is a generic data store implemented as a<br \/>\nREST-ful web service.&#8221; More specifically, it&#8217;s a generic data store<br \/>\nimplemented as AtomPub. I downloaded the distribution and I was able<br \/>\nto get it running easily.<\/p>\n<p><a href=\"http:\/\/news.oreilly.com\/2008\/07\/atomserver-helps-serve-up-atom.html\" target=\"_blank\">http:\/\/news.oreilly.com\/2008\/07\/atomserver-helps-serve-up-atom.html<\/a><br \/>\nSee also Atom references: <a href=\"http:\/\/xml.coverpages.org\/atom.html\" target=\"_blank\">http:\/\/xml.coverpages.org\/atom.html<\/a><\/p><\/blockquote>\n<p>For those of you that don&#8217;t know, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Atom_(standard)\" target=\"_blank\">Atom<\/a> is a standard for XML distribution of information.  It started as an update to Really Simple Syndication (RSS), and, thanks in part to the use of RSS in the blogging community, took on a life of its own as a general information distribution medium.<\/p>\n<p>One part of the Atom standard is AtomPub, a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Representational_State_Transfer\" target=\"_blank\">RESTful<\/a> way to publish Atom feeds.  The atomserver implements AtomPub, in Java, and along with a demo installation that&#8217;s easy to set up and use.<\/p>\n<p>I&#8217;ll post more as I discover ways to use this.<\/p>\n<\/div>\n<div class=\"translate_block\" style=\"display: none;\">\n<hr class=\"translate_hr\" \/>\n<a class=\"translate_translate\" id=\"translate_button_post-495\" lang=\"en\" xml:lang=\"en\" href=\"javascript:show_translate_popup('en', 'post', 495);\"><span>Translate<\/span><\/a><img data-recalc-dims=\"1\" src=\"https:\/\/i0.wp.com\/www.alephnaught.com\/Blog\/wp-content\/plugins\/google-ajax-translation\/transparent.gif?resize=16%2C16&#038;ssl=1\" id=\"translate_loading_post-495\" class=\"translate_loading colorbox-495\" style=\"display: none;\" width=\"16\" height=\"16\" alt=\"\" \/>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I read the XML Daily Newslink, and saw the following reference: AtomServer Helps Serve Up AtomPub Taylor Cowan, O&#8217;Reilly Technical The most interesting development within the XML world of late is AtomPub. It abstracts the details (however simple they may be) of REST and provides them in a well specified protocol. Instead of writing home [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-495","post","type-post","status-publish","format-standard","hentry","category-computer"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2w3Qj-7Z","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.alephnaught.com\/Blog\/wp-json\/wp\/v2\/posts\/495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.alephnaught.com\/Blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.alephnaught.com\/Blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.alephnaught.com\/Blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.alephnaught.com\/Blog\/wp-json\/wp\/v2\/comments?post=495"}],"version-history":[{"count":0,"href":"https:\/\/www.alephnaught.com\/Blog\/wp-json\/wp\/v2\/posts\/495\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.alephnaught.com\/Blog\/wp-json\/wp\/v2\/media?parent=495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.alephnaught.com\/Blog\/wp-json\/wp\/v2\/categories?post=495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.alephnaught.com\/Blog\/wp-json\/wp\/v2\/tags?post=495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}