background preloader

Representational State Transfer

Representational State Transfer
Un article de Wikipédia, l'encyclopédie libre. REST (representational state transfer) est un style d’architecture pour les systèmes hypermédia distribués, créé par Roy Fielding en 2000 dans le chapitre 5 de sa thèse de doctorat[1]. REST n’est pas un protocole (tel que HTTP) ou un format. Ce style d'architecture est particulièrement bien adapté au World Wide Web mais n'en est pas dépendant. Les contraintes, telles que définies par Roy Fielding, peuvent s'appliquer à d'autres protocoles d'application que HTTP. Contraintes d'une architecture REST[modifier | modifier le code] Les contraintes sont les suivantes : Client-serveur : les responsabilités sont séparées entre le client et le serveur. Description de REST[modifier | modifier le code] Confusion entre REST et protocoles[modifier | modifier le code] RPC ainsi que SOAP ne sont pas des styles d'architecture mais des protocoles. Avantages de REST[modifier | modifier le code] Inconvénients de REST[modifier | modifier le code]

Roy Fielding Roy Fielding speaking at OSCON08 Roy Thomas Fielding (born 1965) is an American computer scientist,[1] one of the principal authors of the HTTP specification, an authority on computer network architecture[2] and co-founder of the Apache HTTP Server project. In 1999, he was named to the MIT Technology Review TR100 as one of the top 100 innovators in the world under the age of 35.[3] He received a doctorate from the University of California, Irvine in 2000. Contributions[edit] Architectural Styles and the Design of Network-based Software Architectures, Fielding's doctoral dissertation, describes Representational State Transfer (REST) as a key architectural principle of the World Wide Web, and received a large amount of attention. Waka protocol[edit] Waka was described in a 2002 ApacheCon presentation.[11] As of August 2006, waka was "all done in my head, it's not on paper though. ... Some of waka's features include:[11] Personal[edit] See also[edit] Representational State Transfer (REST)

SOAP vs REST : choisir la bonne architecture web services 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 ? Table des matières Introduction Nous parlons ici de mettre en place un protocole applicatif sur le web pour échanger de l’information avec un grand nombre de clients. Le développement de protocoles applicatifs Rendre ses applications accessibles sur le web consiste à définir un protocole applicatif et un format de données. Nous avons vu que les motivations des entreprises pour déployer des web services aujourd’hui étaient nombreuses. Le format des données échangées est un autre aspect de la problématique d’interopérabilité. Choisir SOAP ? Alors quel avenir pour SOAP ? Un style d’architecture

Application (informatique) Un article de Wikipédia, l'encyclopédie libre. Une application, dans le domaine informatique, est à la fois une activité pour laquelle des moyens informatiques sont utilisés et le moyen informatique utilisé pour l'activité en question[1]. Les applications sont utilisées dans les entreprises pour faciliter le travail et augmenter la productivité des employés. Dans les familles elles sont utilisées pour effectuer des tâches personnelles, apprendre ou s'amuser. Elles sont également utilisées pour faciliter les communications et manipuler des images et de la vidéo numérique[2]. Les applications populaires sont dans les entreprises : le traitement de texte, le tableur, la bureautique, la gestion opérationnelle, les systèmes d'information, la gestion de projet, la comptabilité et de gestion électronique de documents. Jouer est la principale activité exercée par les enfants avec des ordinateurs ainsi que des consoles[3]. Les tableurs sont typiquement utilisés quand il y a de nombreux calculs.

JSON : JavaScript Object Notation | Wiki JSONJavaScript Object Notation logo du format JSON JavaScript Object Notation (JSON) est un format de données textuelles dérivé de la notation des objets du langage JavaScript. Comme le XML, il permet de représenter de l’information structurée[1]. Créé par Douglas Crockford entre 2002 et 2005[2], la première norme du JSON est ECMA-404 qui a été publiée en octobre 2003[3], il est actuellement décrit par les deux normes en concurrence : RFC 8259 de l’IETF et ECMA-404[4] de l'ECMA. Des bibliothèques pour le format JSON existent dans de nombreux langages de programmation[6]. Caractéristiques[modifier | modifier le code] Un document JSON comprend[7],[6] : Chacun de ces types peut être utilisé pour constituer un document. Exemple[modifier | modifier le code] Exemple de données au format JSON : Équivalent au format XML : Équivalent au format YAML : menu: id: file value: File popup: menuitem: - value: New onclick: CreateNewDoc() - value: Open onclick: OpenDoc() - value: Close onclick: CloseDoc() Avantages

Middleware Un article de Wikipédia, l'encyclopédie libre. En architecture informatique, un middleware (anglicisme) ou intergiciel est un logiciel tiers qui crée un réseau d'échange d'informations entre différentes applications informatiques. Le réseau est mis en œuvre par l'utilisation d'une même technique d'échange d'informations dans toutes les applications impliquées[1] à l'aide de composants logiciels. Les composants logiciels du middleware assurent la communication entre les applications quels que soient les ordinateurs impliqués et quelles que soient les caractéristiques matérielles et logicielles des réseaux informatiques, des protocoles réseau, des systèmes d'exploitation impliqués. Les techniques les plus courantes d'échange d'informations sont l'échange de messages, l'appel de procédures à distance et la manipulation d'objets à distance. Traduction[modifier | modifier le code] Le terme middleware vient de l'anglais middle (du milieu) et software (logiciel).

WSDL : Web Services Description Language | Wiki Un article de Wikipédia, l'encyclopédie libre. Une représentation des concepts définis par un document WSDL 1.1 WSDL (Web Services Description Language) est une grammaire XML permettant de décrire un service web. WSDL 1.1 a été proposé en 2001 au W3C pour standardisation. La version 1.1 n'est pas approuvée par le W3C. Souvent désigné par WSDL dans les documents techniques (autre prononciation connue : « Whiz-Deul »). Le WSDL décrit une interface publique d'accès à un service web, notamment dans le cadre d'architectures de type SOA (Service Oriented Architecture). Le WSDL sert à décrire : le protocole de communication (SOAP RPC ou SOAP orienté message)le format de messages requis pour communiquer avec ce serviceles méthodes que le client peut invoquerla localisation du service. Une description WSDL est un document XML qui commence par la balise <definitions> et qui contient les balises suivantes : Le WSDL est principalement soutenu par Ariba, IBM et Microsoft. Portail des télécommunications

Composant logiciel Un article de Wikipédia, l'encyclopédie libre. Exemple d'une représentation UML d'un composant logiciel. Les composants logiciels sont développés par des professionnels de l'informatique en vue d'être réutilisés dans leurs propres logiciels, ou en vue d'être mis sur le marché et incorporés dans des logiciels tiers. Les composants peuvent être distribués comme pièces détachées dans le commerce sous licence propriétaire ou libre. Typologie[modifier | modifier le code] Les composants logiciels - de même que les patterns ou d'autres artefacts - peuvent être classifiés en fonction de trois axes : la granularité, l'activité et la dépendance vis-à-vis d'un domaine d'expertise particulier[2]. L'activité est la phase du processus logiciel (analyse, conception ou codage) où se retrouve l'artefact. Il serait également possible de classifier les composants en fonction des services rendus. Composants d'extension[modifier | modifier le code] Composant en tant que bibliothèque[modifier | modifier le code]

SOAP : Simple Object Access Protocol | Wiki Un article de Wikipédia, l'encyclopédie libre. Pour l’article homophone, voir S.O.A.P.. SOAP (ancien acronyme de Simple Object Access Protocol) est un protocole de RPC orienté objet bâti sur XML. Il permet la transmission de messages entre objets distants, ce qui veut dire qu'il autorise un objet à invoquer des méthodes d'objets physiquement situés sur un autre serveur. Le protocole SOAP est composé de deux parties : une enveloppe, contenant des informations sur le message lui-même afin de permettre son acheminement et son traitement,un modèle de données, définissant le format du message, c'est-à-dire les informations à transmettre. SOAP a été initialement défini par Microsoft et IBM[1], mais est devenu une référence depuis une recommandation du W3C, utilisée notamment dans le cadre d'architectures de type SOA (Service Oriented Architecture) pour les Services Web WS-*. Le protocole SOAP emploie des métadonnées[2]. SOAP n'est plus un acronyme depuis la version 1.2. Portail de l’informatique

Architecture de médiation Un article de Wikipédia, l'encyclopédie libre. L'architecture de médiation est une forme d'architecture en flot de données distribuée qui est souvent nommée architecture orientée services dans le monde commercial (basée sur les services Web WS-* et WS-I) et est, dans sa forme originale, destinée à la synthèse dynamique d'informations utilisées en informatique décisionnelle ainsi qu'à une intégration d'applications d'entreprise intelligente. L'Architecture ARPA I3 est le modèle le plus complet pour ce type d'architecture. Cette architecture fut conçue en 1992 par Gio Wiederhold dans l'article fondateur «Mediator in the architecture of future information systems»[1]. Wiederhold y développe une nouvelle vision de l’architecture du traitement de l’information en entreprise, il tente de régler la problématique de l’accès et de l’intégration de l’information en introduisant la notion de médiateur : Classification des solutions de médiation[modifier | modifier le code] Portail de l’informatique

Comet : Se passer de bayeux ? Comet, c'est toute une galaxie en mouvement. Dans un des billets précédents je saluait les avancées qui se faisaient en ce qui concerne le javascript coté serveur notamment pour implémenter du Comet dans nos applis web.Je découvrais également node.js. La façon la plus populaire actuellement de faire du Comet et d'implémenter le protocole de Bayeux. Sans renier l'énorme potentiel de node.js (c'est tout simplement hallucinant toutes les portes que ca ouvre), je me suis longuement interrogé sur la pertinence du protocole de Bayeux. J'ai ensuite découvert, toujours grâce au site comet daily, HookboxHookbox’s purpose is to ease the development of real-time web applications, with an emphasis on tight integration with existing web technology. Hoobook n'implémente pas Bayeux... c'est peut être tant mieux ! Bonne lecture.

Architecture orientée services Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir SOA. Ce terme est apparu au cours de la période 2000-2001[1] et concernait à l'origine essentiellement les problématiques d'interopérabilité syntaxique en relation avec les technologies d'informatique utilisées en entreprise. Cette conception a évolué pour désigner maintenant le sous-ensemble particulier d'architecture de médiation en fonction de la technologie disponible. Historique[modifier | modifier le code] Au cours de la décennie 1980-1990, la problématique de l'interopérabilité des systèmes d'information, particulièrement complexe lors de fusion ou de l'acquisition d'entreprises, a donné naissance au domaine de recherche de l'interopérabilité des données ; c'est à cette époque que l'on distingua l'interopérabilité syntaxique de l'interopérabilité sémantique des données. Les deux principales exigences fonctionnelles qui se sont dégagées au cours de cette période sont : La définition des WebServices

The Bayeux Protocol Status of this Memo This document specifies a protocol for the Internet community, and requests discussion and suggestions for improvement. This memo is written in the style and spirit of an IETF RFC but is not, as of yet, an official IETF RFC. Distribution of this memo is unlimited. Copyright Notice Copyright © The Dojo Foundation (2007). Abstract Bayeux is a protocol for transporting asynchronous messages (primarily over HTTP), with low latency between a web server and web clients. 1.1. The primary purpose of Bayeux is to support responsive bidirectional interactions between web clients, for example using using AJAX, and the web server. Bayeux is a protocol for transporting asynchronous messages (primarily over HTTP), with low latency between a web server and a web client. server to clientclient to serverclient to client (via the server) By default, publish subscribe routing semantics are applied to the channels. 1.2. 1.3. client A program that initiates the communication. server request event

Architecture ARPA I3 Un article de Wikipédia, l'encyclopédie libre. Dépendances fonctionnelles de l'architecture ARPA I3. D'après :Hull, R., King, R.: Reference architecture for the intelligent integration of information. Rapport technique (ARPA), 1995. Il s'agit d'une architecture générique des solutions de médiation conçue par l’ARPA (Advanced Research Projects Agency) du département de la défense américaine[1]. L’architecture I3 se divise en cinq classes de services; les services de coordination, les services de management, les services d’intégration et de transformation sémantique (SIT), les services d’extensions fonctionnelles et les services d’adaptation. Les services de coordination (C)[modifier | modifier le code] Les services de coordination comprennent l’ensemble des outils de gestion de la configuration d’une solution de médiation soit : C1 Service de sélection et d’invocation (broker)[modifier | modifier le code] Ce service reçoit directement les requêtes des usagers.

Après Ajax, le «Reverse Ajax»… et le Grizzly ! - » Encore plus fort ! ce n’est plus ton browser qui demande de l’information. C’est ton serveur qui lui remonte, lui push de l’information et le tout en technologie web ! » - » oulà, oulà…tu ne serai pas en train de me prendre pour un gars sorti de sa campagne toi ?! En fait, si un peu mais pas tant que ca non plus ;-) Le besoin est réel et tend à se démocratiser sur le web : informer l’utilisateur de la modification d’information au niveau du serveur, en (quasi) temps réel. Il existe 3 solutions pour » remonter » de l’information au client L’élément différentiant entre ces solutions reste la fréquence de mise à jour de la donnée et l’importance qu’à la fraîcheur de cette donnée pour le client. Comet ou le « long polling » In web development, Comet is a neologism to describe a web application model in which a long-held HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it Tomcat 6 propose les NIO – advanced IO. Mise en oeuvre… CometEngine.

Related: