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)
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
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.
Web Services Décembre 2017 Avec l'interconnexion des ordinateurs en réseau et en particulier à travers internet, il devient possible de faire fonctionner des applications sur des machines distantes. L'intérêt d'une application fonctionnant à distance peut à première vue sembler inutile dans la mesure où les applications fonctionnent fort bien en local (sur le poste de l'utilisateur), néanmoins une application distante peut répondre aux problématiques suivantes : Les données peuvent être présentes uniquement sur le serveur distant (par exemple un catalogue produit, un classement en temps réel, etc.) ; Le serveur distant peut disposer d'une puissance de calcul ou de capacités de stockage dont l'utilisateur local ne dispose pas ; L'application distante peut être utilisée simultanément par un grand nombre d'utilisateurs et sa mise à journ'intervient qu'à un seul endroit. Pour toutes ses raisons, une interaction entre des programmes distants peut être utile. Web Service Couches Standards Invocation Découverte
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).
Introduction aux Web Services Un article de ODcWiki. On parle beaucoup des Web Services et de toute la galaxie de standards et de technologies qui gravitent autour. On oublie souvent au passage quelques questions essentielles : Pourquoi adopter les Web Services dans une application ? Quelle est la stratégie à suivre ? Quels sont les écueils à éviter avec SOAP ? Pourquoi adopter les Web Services ? Au-delà de l’effet de mode, les Web Services apportent une réelle solution technique à un problème récurrent de l’informatique : faciliter l’interconnexion des applications. Au fil du temps, 4 cas d’utilisation distincts et plus ou moins ambitieux sont apparus : Interconnecter des plates-formes hétérogènes ; Intégrer des applications existantes ; Client / serveur sur Internet ; Fournir des services à forte valeur ajoutée métier. Interconnecter des plates-formes incompatibles Initialement, les Web Services ont été utilisés pour interconnecter simplement des plates-formes qui auparavant communiquaient mal. Candidats possibles :
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]
Web services et bibliothèques Les Web services sont des technologies basées sur les standards du Web qui permettent à des applications de dialoguer entre elles. Il fournissent un cadre pour trouver, décrire et exécuter ces applications. Les caractéristiques des Web services. Web based : les Web services sont basés sur les protocoles et les langages du Web, en particulier HTTP et XML (tout comme le Web lui-même s’appuie sur les protocoles d’Internet en particulier TCP/IP : c’est une « couche » supplémentaire). Self-described, self-contained : le cadre des Web services contient en lui-même toutes les informations nécessaires à l’utilisation des applications, sous la forme de trois fonctions : trouver, décrire et exécuter. Il est donc nécessaire pour faire fonctionner un cadre de Web services de disposer d’un annuaire des applications disponibles, d’une description du fonctionnement de l’application, et d’avoir accès à l’application elle-même. Les perspectives Nous en sommes actuellement à ce stade pour les Web services.