Currently, the vogue is JSON-based services over XML/SOAP. In addition, RESTful services are also in style over WSDL-based services, especially for basic data operations (CRUD), although depending on the language and web stack, this isn't as big a deal.
REST stands for Representational State Transfer. It is a stateless software architecture that provides many underlying characteristics and protocols that govern the behavior of clients and servers. REST is a web standards based architecture and uses HTTP Protocol for data communication. It revolves around resources where every component is a resource and a resource is accessed by a common interface using HTTP standard methods.
A REST service has a few advantages over a more traditional WSDL-based service:
* The completely URL-based resource request hides the sausage-making behind the scenes of a modern dynamically-generated website or service pack, so your URLs are cleaner (and somewhat harder to hack in a harmful way)
* The URL-based navigation also makes navigation of your REST API from within a browser easier; in fact, Quora itself uses REST to serve up the actual pages, in addition to an AJAX layer providing live updates. The resulting resources are easily bookmarked or permalinked without you having to actually have a page in your website for each resource.
* REST uses the actual HTTP action verbs (GET, POST, PUT, DELETE, OPTIONS) to expose and define functionality available for a single resource, giving you more for "free" on the client side and providing a more intuitive, standardized way for clients to dynamically construct a service request.
When developing a new service that you expect to be consumed by third parties, and you put the question to them, those third parties will virtually always vote for REST and JSON.