RPC / MOM : Comparaison
RPC - RPC : Remote Procedure Call - Protocole défini par les : - RFC 1050 (version 1) : avril 1988 - RFC 1057 (version 2) : juin 1988 - RFC 1831 (mise à jour version 2) : août 1995 - Modèle client-serveur - Permet de faire des appels de procédures sur un ordinateur distant
MOM - MOM : Message-Oriented Middleware - Famille de logiciels permettant l'échange de messages entre les applications présentes sur un réseau informatique
Caractéristiques et comparaison
Rappels - Synchrone : « Qui se passe en même temps, à la même vitesse » - Asynchrone : opposition à synchrone
Fonctionnement de RPC
Exemple de fonctionnement d'un MOM : MQ Series (IBM)
Modes de conversation
MOM : Asynchrone ? - Les MOM ont un mode de fonctionnement asynchrone, l'émetteur et le récepteur n'ont pas besoin d'être connectés en même temps. -Toutefois, l'envoie du message est synchrone.
Systèmes RPC - ONC RPC : Open Network Computing Remote Procedure Call - DCE/RPC : Distributed Computing Environment / Remote Procedure Calls
Développement d'une application RPC
RPC – IDL - IDL : Interface Definition Language (proche du C) - Extension des fichiers IDL : .x - Utilisation de rpcgen : rpcgen -a fichier.x Création de fichiers squelette fichier_client.c et fichier_serveur.c fichier.h ; fichier_clnt.c ; fichier_svc.c ; fichier_xdr.c - Fonctions pour les connexions réseaux : « stub »
Exemple de fichier IDL
MOM - Open-source : - JORAM (ObjectWeb) - ActiveMQ (Apache Software Foundation) - OpenJMS (OpenJMS Group) - Jboss Messaging (JBoss) - Commercialisés - MQSeries (IBM) - MSMQ (Microsoft) - TIBCO Rendezvous (Tibco Software) - SonicMQ (Progress Software)
MOM – Développement logiciel - API JMS de Sun Microsystem pour Java : Java Message Service
Sources et documentations - http://fr.wikipedia.org/wiki/Message_Oriented_Middleware - http://www.rfc-archive.org/ - http://www.crevola.org/francois/?content=articles&show=1 (article paru dans Linux Magazine n°20) - http://pyfourmond.free.fr/mom.htm