antique bien définie (queues de messages et
« publish and subscribe »)
• ue garantie de type une-fois-et-une-seule
est nécessaire pour toute application
• dépendance avec un produit particulier à
déployer au bout de chaque rayon.
ette fin 2002, aucune technologie ne satisfait complètement ces 3 critères :
• mais ni asynchrone au sens ci-dessus, ni
vraiment fiable du fait de HTTP ;
•
rs les MOMs*, mais il n’y pas de protocole sous jacent standardisé.
tandards en attendant que l’industrie se mette d’accord sur la technologie d’avenir.
On parle souvent alors d’IAI, comme Integration d’Applications Internet.
tion de profiter de la baisse des coûts logiciels liée à l’émergence des Services Web :
• choix d’un MOM avec interface JMS ou MSMQ* ;
Asynchronisme : en effet, l’EAI a montré qu’un modèle asynchrone est préférable, avec une sém
Fiabilité des échanges : une sémantiq Standard : il ne doit pas y avoir de Malheureusement, en c
SOAP sur HTTP est un standard,
SOAP sur JMS est asynchrone et fiable mais non standard. En effet JMS est une API ve
Il faut donc pour le moment utiliser des produits non s
Une approche réaliste possible à court terme, qui permet de se placer en posi
• utilisation par les applications d’un interface SOAP avec « binding » JMS ou MSMQ (en fait BizTalk) ;
• pour le BPM, choix d’un produit qui semble en ligne avec les impulsions données par les leaders du marché.
5.4.2 - Interopérabilité entre des entités
Le domaine évoqué dans cette partie concerne celui du B2B dans le cadre de l’industrie, ou de l’interministériel dans le cadre de l’administration. Tous les problèmes soulevés en intra-entité sont pertinents, et de nouveaux apparaissent :
o La définition des schémas XML partagés devient plus complexe ; des négociations longues sont à prévoir.
o La topologie d’interconnexion est complexe. Autant il est possible d’espérer imposer dans une entité une topologie moyeu et rayons avec un moyeu unique, autant ceci semble irréaliste pour l’ensemble de l’administration. Ceci tient à la multitude et à l’hétérogénéité des acteurs communicants. Faut-il pour autant se résigner à une architecture spaghetti où tous les acteurs interagissent en point à point avec tous leurs partenaires? Un bon compromis pourrait être une topologie multi-hubs (moyeux) avec un nombre limité de « places d’échange » servant de médiateurs de communication.
o Les protocoles nécessitent plus de fiabilité : le consortium ebXML, dont on pouvait espérer voir sortir une solution dans l’espace B2B, ne semble pour le moment pas avoir assez de support des grands acteurs.
Les initiatives ws-* issues du duo IBM - Microsoft sont une autre piste à suivre.
o La sécurité devient clef dans la mesure où la confiance mutuelle est plus faible qu’en intra-entité. Les outils actuels (SOAP sur https et des certificats X.509) offrent des possibilités. A terme, WS-Security, piloté par l’organisme OASIS, semble être un cadre intéressant à évaluer.
6 - ANNEXES
6.1 - GLOSSAIRE
.NET l’architecture de composants de Microsoft (prononcé dotnet en anglais).
ACID Atomicité Consistance Isolation Durabilité : les 4 propriétés canoniques d’une transaction.
Apache Le serveur http en logiciel libre le plus populaire sur le marché. Par extension, un ensemble de logiciel libres gravitant autour de ce serveur Web et la communauté de programmeurs qui s’y rattache. Voir www.apache.org.
API Application Programming Interface : interface programmatique
applet Composant de code en Java pouvant s’exécuter dans le cadre d’un navigateur ASP Advanced Server Pages : le modèle de composants de présentation Web de Microsoft bean Composant logiciel écrit en Java
BMP, CMP Bean Managed Persistence, Container - - : 2 modes de gestion de la persistance des données dans le modèle J2EE
BPM Business Process manager : gestionnaire informatisé de processus d’entreprise
BPEL4WS Business Process Langage for Web Services : proposition IBM Microsoft de langage de workflow pour les Services Web
CCI Cadre Commun d’Interopérabilité de l’ATICA
CORBA Common Object Request Broker Architecture : architecture d composants de l’OMG CRM Customer Relationship Management : voir GRC.
Cube Matérialisation d’une base de données dédiée au décisionnel, stockant les données sous la forme d’un tableau multidimensionnel
CVS Gestionnaire de source en logiciel libre
CWM Common Warehouse Metamodel :méta modèle décisionnel de l’OMG
DataMart "Magasin de données". Base de données orientée sur un sujet fonctionnel (métier) constituée à partir de la base de données du Data Warehouse.
Data Warehouse "Entrepôt de données". Le Data Warehouse est une base de données dédiée pour l'informatique décisionnelle dont les données sont intégrées, orientées sujet, non volatiles et historisées.
DCE Distributed Concurrent Environment : modèle distribué développé par l’OSF (maintenant OpenGroup) dans les années 90
DCOM Distributed Component Object Model: protocole de communication applicatif de Microsoft DNA
FAI Fournisseur d’Accès Internet
GRC Gestion de la Relation Client : partie du système informatique qui permet au personnel de l’entité de gérer les interactions avec les clients, , ou aux clients eux-même
d’interagir en self-service avec le système.
ICA Independent Computing Architecture : protocole de présentation du client ultra léger de Citrix
IETF Internet Engineering Task Force : organisme de standardisation de l’Internet (les célèbres RFCs)
IIOP Internet Inter ORB Protocol : protocole de communication entre ORBs et entre serveurs J2EE hétérogènes
J2EE Java 2 Enterprise Edition : le modèle de composants d’entreprise (comprendre transactionnel) avec Java
JCA Java Connector Architecture : cadre standard de connexion entre un serveur J2EE et des applications patrimoniales de type mainframe ou PGIs
JMS Java Messaging System : API Java et modèle sémantique de MOM
JSP Java Server Pages : composant de présentation de pages dynamiques du modèle J2EE JTA Java Transaction API : API permettant de programmer des transactions ACID au
modèle XA
JTS Java Transaction Server : protocole de transaction distribué implémentant le modèle XA
LAMP Linux Apache MySQL Perl : un ensemble de logiciels libres complémentaires pour un site Web
LDAP Light Directory Access Protocol : le standard d’accès aux répertoires de noms LSB Linux Standard Base : tentative de standardisation des APIs Linux
MOM Message Oriented Middleware :interstitiel de communication par message (Ex . : MQseries
MPP Massively Parallel Processor : modèle de machine en grappe avec un réseau de communication très rapide et propriétaire
MSMQ Produit et protocole MOM de Microsoft
multidimensionnel Technique d'organisation des données qui consiste à caractériser les données numériques (indicateurs) par des attributs qualitatifs homogènes (dimensions) pour exprimer les indicateurs dans un système de coordonnées construits à partir des dimensions.
multithread Modèle de multiprogrammation à l’intérieur de l’espace d’un processus d’OS
NAS Network Attached Storage: système de partage de données à travers un réseau et via des protocoles d’accès fichiers comme NFS ou CIFS
NUMA Non Uniform Memory Access : modèle de multiprocesseur où les temps d’accès mémoire sont différentiés selon la distance CPU - Mémoire
OLAP On Line Analytical Processing. Caractéristiques techniques d'un système construit autour de données multidimensionnelles. Variantes MOLAP, ROLAP, …
OMG Object Management Group : promoteur de l’architecture CORBA et du CWM
ORB Object Request Broker : middleware de gestion d’un modèle de composant objet, souvent CORBA
OSF Open Software Foundation : coalition des vendeurs UNIX au siècle dernier
OSI Open System Interconnection: modèle de communication entre ordinateurs développé par l’ISO dans les années 80
Perl Langage de programmation d’applications interprété PGI Progiciel de Gestion Intégré
PHP Langage de programmation d’applications de présentation Web
Python Langage de programmation d’applications de présentation Web Portlet Composant élémentaire de la page d’un portail
RDF Resource Description Framework : modèle et langage de description de la sémantique du Web
RDP Remote Data Protocol : le protocole de client ultra léger de Microsoft RMI Remote Message Invocation: l’API de RPC du modèle J2EE
RPC Remote Procedure Call : tout protocole d’appel de procédure via un réseau
SAA System Application Architecture : le modèle d’architecture d’IBM dans les années 80 SAN Storage Area Network : réseau (en général FibreChannel) reliant serveurs et
sous-systèmes de stockage
Services Web Ensemble de protocoles et d’APIs de communication entre applications servlet Composant de présentation sur le serveur dans le modèle J2EE
SMP Symmetrical Multi Processor : des processeurs qui se partagent une mémoire commune et cohérente de manière symétrique
SOAP Simple Object Access Protocol: protocole d’accès distant de la pile Services Web
tpmC Transactions par minute C : la métrique du benchmark de référence du TPC (Transaction Processing Council) en OLTP : TPC-C
MVC Modèle Vue Contrôleur : une façon structurée de programmer un frontal Web.
W3C World Wide Web Consortium : organisme établissant des recommandations pour le Web
WebDAV Standard de publication de site Web ; IETF RFC 2518
WML Wireless Markup Language : un HTML pour les téléphones mobiles
XA eXtended Architecture : modèle de transactions ACID distribuées défini par X/Open XML eXtensible Markup Language : langage de description de données fort populaire XP eXtreme Programming : une méthodologie minimaliste de développement de logiciel XSL XML Style Sheets : standard de définition de la présentation XML
XSP XML Server Pages : une extension propriétaire au framework Cocoon