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)
Liste des spécifications des services web WS-* Un article de Wikipédia, l'encyclopédie libre. Il existe une variété de spécifications associées aux Services Web WS-*. Ces spécifications sont à des niveaux de maturité parfois différents, et sont maintenus par diverses organisations de standardisation. Les spécifications de ces Services Web sont aujourd'hui désignées sous le terme WS-*, certainement en raison du sigle WS- qui précède la majorité d'entre elles. Cette page liste la plupart des spécifications considérées comme faisant partie des WS-*. Web Services Activity, sur le site du W3C UDDI signifie Universal Description, Discovery, and Integration (UDDI 1.0, 2.0 et 3.0): Normalise l'architecture d'un annuaire distribué permettant de publier les interfaces des services Web (endpoint des contrats WSDL). XML (Extensible Markup Language)Espace de noms XMLXML SchemaXPathXML Information SetXIncludeXML Pointer WS-I Basic ProfileWS-I Basic Security ProfileSimple Soap Binding Profile WS-ReliableMessagingWS-Reliability Portail d’Internet
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.
Service Web Un article de Wikipédia, l'encyclopédie libre. Un service web (ou service de la toile[1]) est un programme informatique de la famille des technologies web permettant la communication et l'échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s'agit donc d'un ensemble de fonctionnalités exposées sur internet ou sur un intranet, par et pour des applications ou machines, sans intervention humaine, de manière synchrone ou asynchrone. Le protocole de communication est défini dans le cadre de la norme SOAP dans la signature du service exposé (WSDL). Le concept a été précisé et mis en œuvre dans le cadre de Web Services Activity[2], au W3C, particulièrement avec le protocole SOAP. Très grandes généralités sur un service web. Dans sa présentation la plus générale, un service web se concrétise par un agent, réalisé selon une technologie informatique précise, par un fournisseur du service. Introduction[modifier | modifier le code] Portail d’Internet
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).
Web service A Web service is a method of communications between two electronic devices over a network. It is a software function provided at a network address over the web with the service always on as in the concept of utility computing. The W3C defines a Web service as: a software system designed to support interoperable machine-to-machine interaction over a network. The W3C also states: We can identify two major classes of Web services:REST-compliant Web services, in which the primary purpose of the service is to manipulate XML representations of Web resources using a uniform set of stateless operations; andArbitrary Web services, in which the service may expose an arbitrary set of operations.[2] Explanation[edit] Many organizations use multiple software systems for management. Different software might be built using different programming languages, and hence there is a need for a method of data exchange that doesn't depend upon a particular programming language. Web API[edit] Criticisms[edit]
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