Je comprends de cette étude du Gartner que seules 31% des entreprises US interrogées utilisent SOAP et seules 3% d’entre elles utilisent WSDL.
Par ailleurs, voici encore un pointeur intéressant au sujet de REST vs RPC (SOAP/WSDL/UDDI) et puis un exemple pratique de mise en oeuvre de service façon REST plutôt qu’avec SOAP.
Archives pour la catégorie Informatique
REST : restons, restez…
On ne le dit jamais assez : vous utilisez sans doute déjà le modèle REST mais sans le savoir ! Alors, sachez le, il faut continuer à RESTer :
- un excellent (court) résumé de ce qu’est REST, avec un exemple
- une présentation de l’interface REST d’un service web réel ; mais ce service web est relativement simpliste (il se contente de donner accès en lecture à des informations) et on ne peut donc pas vraiment voir de différence évidente avec SOAP dans l’interface.
- Et, pour mieux saisir ce qu’est REST, les erreurs à ne pas commettre lors de la conception d’un service Web REST
- Oh, et puis cette page utile : comment construire un service web REST en quelques étapes ?
- Et, enfin, que l’on utilise SOAP ou que l’on se fie au modèle REST, il est bon de savoir que les données récupérées du service Web peuvent être soit simples (chaîne de caractère) soit XML. Et le choix SOAP ou REST ne change rien à l’affaire.
Des produits opensource pour l’EAI
Il existe au moins deux produits
opensource conçus pour l’EAI : Proteus et Babeldoc.
Proteus est constitué de :
- un framework pour développer des applications à base de messages
- un broker de messages construit sur ce framework
- des connecteurs pour diverses sources (ou destinations) de données : bases de données,
files de messages, serveurs FTP, etc. ainsi que, bientôt, serveurs de messagerie
électronique, fichiers plats, pour Tibco Rendezvous et pour WebMethods. - une API documentée
Babeldoc est une application de traitement de documents (similaire à WebMethods mais en
moins avancé) constitué d’une part d’un « pipeline » paramétrable à travers lequel les
documents circulent et d’un système sophistiqué de journalisation. Babeldoc tourne dans un
environnement J2EE (JBoss par exemple) et dispose d’interfaces d’admin via le Web, via un
client lourd ainsi que via ligne de commande. Babeldoc fournit également des connecteurs
pour bases de données, serveurs FTP, serveurs HTTP et services SOAP, ainsi qu’une fonction
de routage basée sur la technologie XPath. La documentation de Babeldoc est en cours
d’amélioration. Babeldoc est actuellement utilisé pour un EAI reliant les banques serbes à
la banque centrale de Serbie.
Sun One Directory Server vs. Microsoft Active Directory
SUN compare son produit d’annuaire « Sun One Directory Server » au produit concurrent
« Microsoft Active Directory » (AD) : AD n’utilise pas un identifiant standard pour désigner
les adresses de messagerie, AD n’utilise pas le standard inetOrgPerson (RFC 2798) pour
représenter les personnes, AD ne permet l’existence que d’un seul schéma par déploiement (un
schéma par « forêt ») et AD impose l’utilisation d’une API propriétaire (et non d’une API LDAP
standard) pour écrire la valeur du SPN (Service Principal Name) d’un objet dans l’annuaire.
De ce fait, AD n’offre pas les garanties d’interopérabilité suffisante pour les entreprises
souhaitant se doter de services d’annuaire LDAP.
Blade servers
Les « blade servers » (littéralement « serveurs en lame ») sont des serveurs modulaires qui partagent un même matériel électronique qui leur fournit l’alimentation électrique (avec redondance) et la connectivité réseau. Par contre, ils ne partagent habituellement pas de disques (et donc a fortiori pas de disques avec redondance). Ce type de serveurs n’est habituellement utile que pour des architectures « haute disponibilité » où la perte de l’un des serveurs n’entraîne pas de perte de disponibilité du service. Cela suppose donc des applications qui ont été développées en ce sens. De plus, les blade servers coûtent plus cher que leurs équivalents classiques. Leur valeur ajoutée résiderait dans l’intégration de leurs services de gestion matérielle et dans leur flexibilité. C’est ce qui se dit.
REST ou SOAP, l’expérience d’Amazon
D’après ce que l’on peut lire sur l’expérience d’Amazon en matière de services Web, bien qu’Amazon publie ses services Web aussi bien sous une interface REST que sous une interface RPC/SOAP, 85% des accès à ces services se font via l’interface REST. Les développeurs Web apprécient la simplicité relative du modèle
REST.
Intégration de données
Lorsqu’il s’agit d’intégrer des sources de données hétérogènes, plusieurs familles de technologies peuvent être mises en oeuvre. Chacune a sa « zone de confort » et des usages particuliers pour lesquels elle a été conçue. Afin de donner une vision globale de ces technologies, j’ai essayé ci-dessous d’en dresser une typologie. Elle vaut ce qu’elle vaut et mériterait à être corrigée et complétée par vos commentaires !
Les parties en présence :
- ETL (Extract-Transform-Load ?) : mis en oeuvre dans des contextes d’informatique décisionnelle ou de gestion de datawarehouses dans lesquels se déversent des données de gestion issues d’ERP,
- EAI (Enterprise Application Integration) : concept général couvrant l’ensemble des problématiques d’intégration de données, mais se traduisant le plus souvent par des technologies de type « bus de messagerie »
- Méta-annuaire (Meta) : tend à évoluer vers des technologies de type EAI/bus de messagerie,
- Web Sémantique (SemWeb) : technologie à vocation universelle et s’appuyant sur des hypothèses de couplage faible (pas besoin d’un accord préalable entre les parties échangeant leurs données), à l’état plutôt expérimental,
Ce que l’on peut en dire :
- Fonction des opérations de traitement (après extraction et transport) : faible = nettoyage (ETL), moyen = routage/aiguillage (EAI), fort = jointure (Méta), très fort mais a posteriori = inférences (SemWeb)
- Fonctions de sécurité : faible (ETL, SemWeb), moyen (Meta), fort (EAI)
- Natude des données : qualitatives dans une logique événementielle (EAI), qualitatives dans une logique relationnelle (SemWeb) ? qualitative dans une logique descriptive (Méta) ? quantitatives (ETL) ?
- Staticité des données, combien d’opération de lecture pour une opération d’écriture : 1 (EAI), 10 (ETL, WebSém.), 100 (méta)
- Fréquence pour 100 opérations : par minute (EAI), par heure (méta-annuaire), par jour (ETL, Web Sémantique)
- Volume de chaque opération : 100 000 enregistrement (ETL), 1 000 enregistrements (SemWeb), 100 enregistrements (Méta), 1 enregistrement (EAI)
Imaginez le Web Sémantique
Allez, un petit effort, projetez-vous en 2009 : Google a surfé la vague du Web Sémantique et a, du coup, appris à comprendre l’information qu’il crawle sur le Web. Il SAIT désormais que Jim se considère comme l’ami de Paul. Il SAIT que le vendeur A propose un modèle de voiture 10% mois cher que le vendeur B. Il SAIT que tel saxophoniste a joué dans tel orchestre dans les années 70. Il SAIT que les chiens ont des pattes, que votre ordinateur a besoin d’une nouvelle carte mère pour pouvoir passer au Pentium 18. Le Web Sémantique, ce n’est plus un fatras de pages et de liens mais un fatras de choses et des relations logiques qui les articule. Toutes ces informations sémantiques (certains disent « ces métadonnées ») sont publiées sur le SemWeb comme le sont les pages du Web d’aujourd’hui. Chacun peut y puiser mais aussi y publier. Et les logiciels du SemWeb permettent de faire émerger le sens de tous ces liens logiques entre les ressources du SemWeb, de confronter des liens contradictoires, de batir des raisonnements à la demande de l’utilisateur, etc. Par exemple, le Google de 2009 vous permet d’explorer ces liens pour trouver de nouvelles ressources et de nouvelles informations selon vos besoins, ou selon le besoin de vos propres logiciels…
(Je vous laisse deviner dans quelle phase du « hype cycle » du Gartner Group le concept du Web Sémantique serait actuellement positionné.)
Plone, une application de Zope
Plone est une application de gestion de contenu batie autour du serveur d’application Zope et du framework de gestion de contenu pour Zope : CMF (Content Management Framework). Cette belle présentation vous en dit plus.
Le Gartner Group et l’IM
Selon le Gartner Group, en 2002, la plupart des entreprises ont massivement adopté la messagerie instantanée (IM) en tant que procédé de communication, « malgré la résistance du département informatique ». Le marché des systèmes d’IM pour l’entreprise commencerait à se consolider vers 2004 et, en 2006, 75% des éditeurs actuels de messagerie instantanée pourraient avoir été rachetés ou avoir disparu. Le Gartner prévoit également qu’en 2003, l’IETF ne parviendra pas à créer de normes « largement acceptées et commercialement déployables » pour l’interopérabilité des systèmes d’IM. Et les entreprises devront se résoudre à choisir parmi des réseaux d’IM concurrents (et non compatibles). Le Gartner envisage que les gens (ou les applications) apprendront à choisir la meilleure façon de communiquer en fonction de l’urgence du message et du mode de travail de l’expéditeur et du destinataire. En attendant et en l’absence de conseils, « les utilisateurs se trouveront rapidement confrontés à une mauvaise utilisation et à la surcharge de la messagerie instantanée »… Et ces mauvais usages « risquent d’être encore pires que la surcharge du courrier électronique ». Les conseils du Gartner pour se préparer à cet avenir : évaluer l’ampleur avec laquelle l’IM grand publique est utilisée dans l’entreprise et à quelles fins, inclure l’IM dans les règles d’usages de l’informatique (chartes utilisateurs), définir des bonnes pratiques…
De beaux jours en perspective pour Jabber.
Servez-Vous?
Besoin d’inspiration pour vous rendre utile près de chez vous ? Envie de faire connaître une initiative sympathique dont vous avez entendu parler ? Allez sur Servez-Vous?, fournisseur officiel de projets du coin…
Opensourcez vos développements
Les logiciels opensource sont de plus en plus utilisés dans les grandes entreprises. 54% des DSI prévoieraient qu’en 2007, leurs principales plate-formes seront opensource.
Comme l’indique cet article du magazine Computerworld, certaines grandes entreprises adoptent même le modèle économique des développements opensource pour réduire les coûts de leur informatique. Après l' »outsourcing », l’ « opensourcing » consiste donc à publier sous licence opensource les développements menés en interne pour améliorer ou corriger un logiciel libre. Cela évite d’avoir à maintenir, en interne, une version spécifique du logiciel et permet donc de partager les coûts de développement avec d’autres entités. Cela permet également à l’entreprise de gagner en légitimité dans les communauté de développement et de pouvoir ainsi influencer de manière significative leurs stratégies de développement. La contribution des entreprises ne consiste pas seulement en code informatique mais également en documentation ou en graphisme, ressources qui font défaut pour de nombreux logiciels libres.
Mozilla en tant que debugger de site Web
Mozilla dispose de fonctionnalités intéressantes pour être utilisé en tant que débuggueur de site Web (JavaScript, gestion des cookies, …). Des experts, sur Slashdot, donnent leurs points de vue sur la question.
Propriété intellectuelle ?
The New Economist du 25 janvier publie un article sur les problématiques de propriété intellectuelle dans le cadre de l’Internet. Cet article rappelle que la vocation du droit d’auteur a été d’établir un équilibre entre la garantie d’un accès public aux flux des idées et l’incitation à la création et la distribution de travaux intellectuels par la concession de monopoles économiques temporaires et limités sur l’exploitation de ces travaux. A l’heure de l’Internet, cet équilibre semble être rompu : les industriels du contenu prétendent être spoliés de leur propriété (intellectuelle) et les défenseurs des consommateurs et des libertés individuelles dénoncent l’asphyxie de créativité entraînée par le comportement des dits-industriels.
Pour rétablir le juste équilibre, The New Economist cite plusieurs suggestions de modifications substantielles du droit d’auteur :
- abandonner toute velléité de contrôle des copies de contenu et accorder, par la loi, aux créateurs de contenu, un droit exclusif pour l’exploitation commerciale de leurs travaux ; mais cette option pourrait entraîner de nombreux litiges portant sur la définition du caractère commercial d’une exploitation de travaux intellectuels et sur le caractère exclusif de ce droit
- garantir la gratuité de l’accès à tout contenu mais taxer l’accès à l’Internet et aux équipements électroniques, reverser cette taxe aux distributeurs de contenus et ajuster le montant de cette taxe à une évaluation globale de la consommation de ces contenus ; mais cette option impliquerait des mesures gouvernementales très importantes, l’impossibilité d’une différenciation des distributeurs par les prix et, surtout, une taxation importante des équipements qui rendent possibles la révolution numérique
- l’obligation pour les auteurs de déposer leur demande de droit d’auteur sur un nouveau contenu, de renouveler cette demande tous les cinq ans avec une limite du nombre de renouvellements et l’obligation d’exploiter ce droit par une distribution commerciale (faute de quoi il tombe dans le domaine public) ; cette option semble la plus réaliste, même si elle implique également une forte intervention des Etats, et est émise par un professeur de droit de l’université de Stanford, Mr Lessig.
Intranets ergonomiques
Dans sa présentation « Make your intranet a joy to use with these top navigational tips », un consultant indépendant récapitule quelques unes des principales fonctions ergonomiques des intranets :
- afficher un et un seul formulaire de recherche pour rechercher un mot-clef dans différentes sections de l’intranet (l’annuaire, les pages Web, l’Internet)
- proposer, dans chaque page, quelques mots-clefs sélectionnés manuellement et renvoyant vers les autres pages se rapportant à ce même concept
- proposer, pour chaque contenu, une icône invitant le lecteur à réagir, commenter, donner son avis
- afficher, dans les annuaires d’individus, le statut « en ligne » ou « hors ligne » de l’individu ainsi que le moyen de le joindre par messagerie instantanée (Jabber, Yahoo Messenger, ICQ, AIM, MSN Messenger,…)
- afficher, à chaque contenu, une invitation à s’abonner à une liste de diffusion par mail pour notification de mise à jour, pour discussion ou pour réception d’une newsletter
- proposer, pour chaque contenu, un lien vers un formulaire permettant de signaler ce contenu à un ami par email
- proposer, pour chaque contenu, un lien vers une mise en page imprimable sans difficulté
Obtention du financement d’un projet informatique de 8 millions d’euros
[Ceci est le résumé de l’une de mes réalisations professionnelles. Je m’en sers pour faire ma pub dans l’espoir de séduire de futurs partenaires. Plus d’infos à ce sujet dans le récit de mon parcours professionnel.]
En 2003, je dirige un projet de sécurité informatique très technique depuis 3 ans. Les neufs directions métiers de Saint-Gobain en mesurent mal les enjeux. Je réunis dans des ateliers internationaux 130 représentants de chacune de ces directions, de chaque région du monde et de chaque fonction support de l’entreprise afin de recueillir des illustrations concrètes des enjeux de ce projet. Je réussis ainsi à convaincre les neuf directions de cofinancer le million d’euros nécessaire à la poursuite du projet une année supplémentaire.
Combien coûte l’opensource ?
OK, la licence des logiciels opensource est gratuite. Mais quid des coûts associés (support, services, formation, …) ? Les éditeurs de logiciels commerciaux offrent des coûts de support explicites. Il est plus difficile d’obtenir un service de support auprès des développeurs d’un logiciel opensource. Employer quelqu’un pour qu’il passe son temps à suivre des forums et listes de discussion n’est pas non plus une solution économique. Sur le long terme, les logiciels opensource seraient-ils plus coûteux que les logiciels commerciaux ? Une analyse au cas par cas s’impose. Cette analyse devrait prendre en compte les faits suivants.
Si l’on emploie un expert interne pour participer à la communauté des développeurs et utilisateurs du logiciel opensource choisi, on gagne bien plus qu’un simple niveau de support : un expert interne fournit également la possibilité d’enrichir les fonctionnalités du logiciel, à la demande, et agit en tant qu’évangéliste interne pour favoriser un meilleur usage et un plus grand succès du logiciel sélectionné.
Un bon moyen pour évaluer la pérennité d’un logiciel opensource consiste à s’appuyer sur le travail d’analyse et de sélection des éditeurs de livres informatiques : plus un logiciel opensource à fait l’objet d’ouvrages (chez O’Reilly par exemple), plus il peut être considéré comme pérenne car ayant atteint une masse critique d’utilisateurs tel que l’avenir de son code source est assuré pour de nombreuses années.
De plus, l’adoption d’un logiciel sous licence opensource garantit une indépendance vis-à-vis de ses développeurs et éditeurs de manière à ce que ceux-ci ne puissent imposer de licences limitée dans le temps ni d’obsolescence programmée (« Telle version de notre logiciel ne sera plus supportée à partir de telle date… » ou bien « Telle version de notre logiciel comporte des failles de sécurité trop importantes, vous devriez adopter notre toute dernière version. »).
Il assez probable qu’une société comme Microsoft survive encore de nombreuses années et puisse offrir, à ses conditions, la maintenance du logiciel. Et il n’est pourtant pas si improbable qu’une communauté de développeurs d’un logiciel opensource abandonne un jour ce développement pour une raison ou une autre. N’est-il pas alors préférable de se fier à un éditeur commercial ? Sans doute que non car, même en cas d’abandon du logiciel par ses développeurs initiaux, non seulement la poursuite du développement peut être assurée par des développeurs indépendants ou d’autres sociétés mais le caractère public du code source permet également de s’approprier le maintien et le développement interne du produit. Dans le cas où un éditeur de produit fermé fait faillite, les coûts de possession du logiciel grimpent en flèche car il devient presque impossible d’obtenir support et maintenance à conditions économiquement raisonnables.
Dans le cas d’un logiciel répondant à un besoin précisément et durablement défini (surtout si ce besoin est celui d’un informaticien), il est très probable qu’un produit opensource soit préférable à un produit commercial qui, de par le modèle économique de son éditeur, gagnera probablement en fonctionnalités superflues. On considère souvent qu’un produit opensource est plus stable et contient moins de bugs et de failles de sécurité sur le long terme. On peut également apprécier le caractère prévisible des coûts de maintenance d’un logiciel opensource à long terme. Nul ne sait combien l’éditeur d’un produit fermé facturera la maintenance dans 5 ans.
Pour conclure, on peut dire que la comparaison du coût total de possession d’un produit fermé (propriétaire) et d’un produit ouvert (opensource) doit faire l’objet d’une analyse approfondie, au cas par cas. Et l’un des critères déterminants du TCO d’un produit ouvert et le degré d’activité et de vitalité de sa communauté de développeurs.
Zope, le juste équilibre ?
Ce message traduit bien mon impression personnelle : Python+Zope serait le juste équilibre entre le VB+ASP (pour le bricolage du dimanche) et le Java+J2EE (pour la grosse artillerie transactionnelle).
Foules en réseau
Howard Rheingold évoque la richesse sociale inexploitée des foules qui nous entourent tous
les jours (lorsque l’on va prendre le train, dans un aéroport, dans la rue, …) et
l’opportunité qu’il y aurait à exploiter ce capital par le biais de réseaux wireless
d’ordinateurs embarqués dans nos vêtements. Vous croisez tous les jours, sans le savoir,
quelqu’un qui pourrait vous raccompagner chez vous, qui pourrait acheter un objet que vous
cherchez à vendre, qui pourrait aimer sortir avec vous. La mise en réseau de ces ressources
permettrait de créer des « alliances provisoires au sein de groupes d’intérêt éphémères » et
permettrait de donner plus de sens à ces voisinages opportuns. Des agents logiciels
fonctionnant sur l’ordinateur porté par chaque individu dans ses vêtements pourraient former
des réseaux et tenter de mener des transactions pour le compte de chacun. Quelques
universités ont mené des projets de recherche dans cette direction. Des bibliothèques de
codes pour agents logiciels de ce type ont été écrites.
Le point critique à résoudre est la confiance : comment décider, pour un agent logiciel, si
il peut ou non faire confiance à un autre agent qu’il croise à portée de réseau ? Plusieurs
solutions ont été explorées. Ces agents pourraient s’appuyer sur des mécanismes de
réputation permettant d’évaluer de manière quantitative le degré de confiance à accorder à
un autre agent lors de l’établissement d’une transaction, en fonction notamment des
transactions réalisées dans le passé par cet autre agent.
Un frein important à la réalisation de ce type de système est le manque de performance et
d’autonomie des matériels informatiques actuellement portables par l’individu (PDA de type
Palm ou Pocket PC notamment).
J’espère que les problématiques logiques telles que l’établissement de relations de
confiance entre agents pourront être résolues par les avancées du Web Sémantique.
« tangle proxy » et les fourmis
Le système tanglesuit les navigations web de ses utilisateurs et propose aux utilisateurs qui consulteront des pages déjà parcourues des liens les menant directement aux pages ensuite consultées par les premiers visiteurs, comme autant de raccourcis. Ce principe rappelle les algorithmes inspirés du déplacement des fourmis qui laissent une trace derrière elles de manière à ce que cette trace se renforce et qu’ainsi des chemins balisés apparaissent vers les lieux de nourriture les plus abondants. Cependant, il me semble que, dans le cas de tangle, ce type d’algorithme ne pourrait être utile qu’à la condition qu’un même utilisateur ait une raison particulière de parcourir plusieurs fois le même chemin lorsqu’il trouve une page « intéressante ». Si ce n’est pas le cas, alors tangle ne doit pas permettre d’éviter le phénomène suivant : un utilisateur a été tenté par un lien hypertexte à l’intitulé intéressant, il a cliqué dessus et a trouvé une page décevante puis d’autres utilisateurs reproduisent la même situation donc tangle renforce le lien qui pointe vers cette page non intéressante et de plus en plus d’utilisateurs « tombent dans le piège ». Il faudrait ne renforcer que les liens parcourus plusieurs fois par le même utilisateur car, à défaut de proposer à l’utilisateur un moyen d’évaluer la qualité d’une page après l’avoir consultée (fonctionnalité aujourd’hui non présente dans tangle), seul le fait qu’un individu revienne plusieurs fois sur la même page paraît significatif quant à la qualité de cette page et donc à l’opportunité de renforcer le lien qui y pointe.