Interface de communication virtuelle

Pourquoi une interface de communication ?

Créer une application n'échangeant aucune donnée avec une autre est désormais impossible. Chaque application doit en mesure de plus ou moins communiquer avec une autre. Il existe cependant différents services de communication sur lesquels viennent se greffer différents protocoles. Bon nombre de logiciels ne savent pas s'interfacer parce qu'ils ne travaillent pas avec les mêmes services ou ne conversent pas avec les mêmes protocoles.

L'intérêt d'une interface de communication virtuelle est de mettre à la disposition des informaticiens une interface de communication identique quelle que soit la plate-forme qui se fond sur des services de communications réels réseaux ou Ipc et qui soit détachée de l'application.

Au moment du déploiement de l'application, l'application est paramétrée de façon à pourvoir communiquer avec les autres applications sans qu'il y ait besoin de modifier le code.

Pour connaître les options d'exécution de Up ! Network, veuillez vous référer à la fiche Description des paramètres d'exécution de Up ! Network.

Concepts de l'interface de communication virtuelle

Canal

Utilité des canaux

Up ! Network possède le mécanisme de canaux pour faire communiquer deux tâches par échange de messages. Ces deux tâches s'exécutent sur la même machine ou sur deux machines reliées par un réseau. Un canal de communication est caractérisé par un service et un protocole pour encoder les messages.

Les applications emploient les canaux de communication indépendamment du service et du protocole choisi. Pour cela, elles utilisent des objets de l'interface générique ICanal de Up ! Network.

Le principe des canaux est le suivant : des tâches clientes émettent des messages qui sont réceptionnés par une tâche serveur. La tâche serveur décode le message, le traite et retourne une réponse au client. Cette réponse est envoyée par le mécanisme inverse : le serveur envoie un message au client et le client le réceptionne. En ce cas le client devient serveur et réciproquement.

Les services supportés sont Microsoft Network, Tcp-Ip et Named Pipes. Ils sont respectivement modélisés par le type CanalMicrosoftNetwork, CanalTcpIp or CanalTuyauNomme.

Les protocoles supportés sont File Transfer Protocol (FTP), Hyper Text Transfer Protocol (HTTP), Up ! Network, Lpr, Telnet et Raw (les données sont envoyées sans encodage).

Usage des canaux par Up ! Object Management System, Up ! Object Request Broker et Up ! System

Up ! Object Management System utilise les canaux lorsque des objets distribués sont manipulés. Les canaux servent à envoyer des requêtes à des serveurs hébergeant des objets conservés dans des entrepôts publics et pour s'échanger des portions de mémoire entre processus. Up ! Object Request Broker utilise les canaux pour communiquer entre les serveurs de l'Orb quand : Up ! System utilise les canaux pour communiquer entre les serveurs de l'Orb quand des API comportent en paramètre des noms de fichiers utilisant l'opérateur appel distant @. Une telle API est CopierFichier.

Serveur

Les programmes serveurs sont des applications autonomes constamment à l'écoute de demandes provenant de programmes clients. Un serveur communique avec ses clients selon un service et un protocole pour encoder les messages.

Les serveurs répondant au protocole Up ! Network sont gérés par Up ! Object Request Broker. Ce protocole est utilisé pour faire communiquer les modules des applications en technologie Up ! Virtual Technical Machine entre eux.

Les serveurs répondant aux protocoles Filtre Transfer Protocol (FTP), Hyper Text Transfer Protocol (HTTP), Lpr, Telnet et Raw (les données sont envoyées sans encodage) n'ont pas de gestion particulière. Ces protocoles sont utilisés pour faire communiquer les applications en technologie Up ! Virtual Technical Machine et autre celles dans une autre technologie.

Un serveur est représenté par un objet du type Serveur de Up ! Network.