Web Services : SOAP, REST, XML, JSON
Open APIs: State of the Market, May 2010. SOAP vs. REST : choisir la bonne architecture web services - Clever Link - Veille - Clever Age. De plus en plus d’entreprises ont besoin de rendre leurs applications accessibles sur le web.
Les motivations sont multiples : élargir l’audience des utilisateurs, vendre des services en ligne, faire communiquer des applications existantes ou supporter une interface de type AJAX. Dans ces conditions, quelle architecture choisir ou concevoir ? Quel format utiliser pour échanger des données sur le web ? Et devrait-on utiliser un protocole applicatif existant ou développer un protocole adapté à nos besoins ?
Table des matières. SOAP end : The End Of The Road For Web Services. Subscribe to this blog About Author With a focus on open source and digital rights, Simon is a director of the UK's Open Rights Group and president of the Open Source Initiative.
JSON+REST vs. XML+SOAP. Google just announced that they are getting ready to kill their SOAP API.
XML+SOAP was a good milestone in the history of integration but it is now time to look at the next milestone and that next milestone is JSON+REST. We briefly talked about that in abstract terms a couple of years ago but here are 3 simple reasons why: Reason #1 JSON is a lot simpler than XML+XML Schema and is more isomorphic with the relational data stores most services use for persistence. Architectural Styles and the Design of Network-based Software Architectures. Peter Williams - Versioning REST Web Services. Managing changes to APIs is hard.
That is no surprise to anyone who has ever maintained an API of any sort. Web services, being a special case of API, are susceptible to many of the difficulties around versioning as other types of APIs. For HTTP based REST style web services the combination of resources and content negotiation can be used to mitigate most of the issues surrounding API versioning. Peter Williams - Versioning REST Web Services (Tricks and Tips) In my previous post on this subject I described an approach to versioning the API of a REST/HTTP web service.
This approach has significant advantages over the approach that is currently most common (i.e. embedding a version token in the URL). However, it does have some downsides. This post is an attempt to outline those and to present some ways to mitigate the negative impacts. Using content negotiation to manage versions requires, by definition, the introduction of nonstandard media types. Peter Williams - REST/HTTP Service Versioning (Response to Jean-Jacques Dubray) Jean-Jacques Dubray takes issue with my approach of using content negotiation to manage service versioning in HTTP.
I actually hesitate to respond to Mr. Dubray because the overall tone of his piece is rather off putting. On the other hand, he raises a couple of interesting questions which I have been really looking for and excuse to talk about. Peter Williams - Hypermedia as the Engine of Application State. One of the least well understood core tenets of the REST architectural style is that “hypermedia is the engine of application state”.
Which basically means that responses from the server will be documents that include URIs to everything you can do next. For example, if GET a blog post the response document will have URIs embedded in it that allow you to create a comment, edit the post and any other action that you might want to do. Basically, this allows you to think of your application as a state machine with every page representing a state and links representing every possible transition from the current state. This approach means that to correctly be access your application the only things a client needs to know is a) a well know starting point URI and b) how to parse one of the document formats (representations) your application supports.
For human facing web applications this approach is the one that is always used. Getting Data | The REST Dialogues | What Not How | In an exclusive nine-part dialogue with an imaginary eBay Architect, we present an accessible discussion of the REST vs.
SOA issue. Although eBay have what they call a 'REST' interface, it is, in fact, a STREST interface, and only works for one of the many function calls that they make available via SOAP (GetSearchResults). In this dialogue series, I argue the case for eBay to adopt a truly REST approach to their integration API. STREST (Service-Trampled REST) Will Break Web 2.0 | What Not How | The vast majority of supposedly 'REST' Web APIs are simply abusing HTTP to carry function calls.
I call these APIs 'Service-Trampled REST', or STREST. STREST APIs come with specific costs which could stifle the two-way data Web (Web2.0) if allowed to propagate unchecked. Designing HTTP Interfaces and RESTful Web Services (Confoo11 2011-0... Web Services: JSON vs. XML ? Digital Bazaar. The following post was written by Manu Sporny, Digital Bazaar’s Founder and CEO.
This page is also available in Spanish. Thanks to Maria Ramos from Web Hosting Hub for doing the translation. Linked Data for JSON « Digital Bazaar. A global model for sharing information, once a dream, and then a reality with the Internet and the Web, is now becoming a fundamental part of the systems that we build. As we automate much of the sharing of information, we need to be able to express this shared data to computers in a way that is both easy for them to process and also easy for web developers to understand. The foundational standards of the web, specifically global naming conventions (IRIs), distributed computing (web servers and clients) and remote data access (TCP/IP and HTTP) are positively impacting the way we build software.
One of the areas that this standardization is lacking is with the way that we build data services for the Web using JSON. This article discusses some new work that attempts to merge the power of Linked Data with the simplicity of JSON. Orderly JSON. Activity Streams Working Group: JSON Activity Streams 1.0. Abstract This specification details the serialization of a stream of social activities using the JSON format. Activities are important in that they allow individuals to process the latest news of people and things they care about. Table of Contents 1. JSONLint - The JSON Validator.