Overview
Atom API prior art and development involve many ApiFacets covering a wide range of protocol, style, and scope.
At this time there are five major approaches being proposed that primarily center around protocol:
-
HTTP using GET/POST to a single URI
-
HTTP using GET/POST to a URI per resource
-
HTTP in the REST architectural style
-
XML-RPC
-
SOAP (adopting the HTTP/REST approach but using SOAP wrappers and document-literal, not RPC)
In the case of HTTP/REST, a style of API is also being chosen, and the current proposal for using SOAP indicates following the same style as HTTP/REST. The style in XML-RPC would likely follow that used in the BloggerApi and MetaWeblog. [What style for HTTP using GET/POST?]
The scope of API is generally orthogonal to the choice of protocol and style: AggregatorApi, RestEchoApiDiscuss, RestEchoSearchApi, WeblogLifeCycleApi.
HTTP using GET/POST to a single URI
All API actions go through a single publishing-system URI. API actions are contained in Atom-specified XML requests.
Current discussion, primarily as an alternative to REST, is in CarrotVsOrange.
REST Architectural Style
Each publishing-system resource "lives" at a URI defined by the publishing system, and actions are performed using HTTP,and potentially WebDav, methods.
-
RestEchoApiDiscuss -- an Atom API using Atom-format XML when interacting with a server.
-
ParticleWave -- a more basic Atom API that works directly with web resource, hinted for better use with Atom-enabled clients and servers
XML-RPC
All API actions go through a single publishing-sytsem URI using XML-RPC protocol.
SOAP
SOAP, SoapProfile, SoapInOnePointAfter
Discussion on intertwingly.net
Comparisions
CarrotVsOrange covers the two approaches of "HTTP using GET/POST to a single URI" vs. "HTTP in the REST Architectural Style" (or simply, REST).
XmlRpc covers the XmlRpc approach.
Reference
Weblogging APIs
Protocols and formats
-
Annotea Protocol - Web annotations work at W3C (HTTP + RDF/XML)
Links
-
related stuff at Sam's (there's a SOAP version there).
-
ExtraInterop considerations might include WSDL, UDDI, ebXML and DAML-S.
API topic index
-
Profiles, metadata
-
Breadth