En informatique distribuée , la mobilité du code est la capacité des programmes , du code ou des objets en cours d'exécution à migrer (ou à déplacer) d'une machine ou d'une application à une autre. Il s'agit du processus de déplacement du code mobile à travers les nœuds d'un réseau , par opposition au calcul distribué où les données sont déplacées.
Il est courant dans les systèmes distribués d’exiger le déplacement de code ou de processus entre les parties du système, plutôt que des données.
Les exemples de mobilité de code incluent les scripts téléchargés sur un réseau (par exemple JavaScript , VBScript ), les applets Java , les contrôles ActiveX , les animations Flash , les films Shockwave (et Xtras) et les macros intégrées dans les documents Microsoft Office .
Aperçu
L'objectif de la mobilité du code est de prendre en charge des opérations sophistiquées. Par exemple, une application peut envoyer un objet à une autre machine, et l'objet peut reprendre son exécution dans l'application sur la machine distante avec le même état que dans l'application d'origine.
Selon une classification proposée par Fuggetta, Picco et Vigna, la mobilité du code peut être forte ou faible : la mobilité forte du code implique de déplacer à la fois le code , les données et l'état d'exécution d'un hôte à un autre, notamment via une image de processus (ce qui est important dans les cas où l'application en cours d'exécution doit conserver son état lorsqu'elle migre d'un hôte à un autre), tandis que la mobilité faible du code implique de déplacer uniquement le code et les données. Il peut donc être nécessaire de redémarrer l'exécution du programme sur l'hôte de destination.
Plusieurs paradigmes, ou styles architecturaux , existent dans la mobilité de code :
- Évaluation à distance : un client envoie du code à une machine distante pour exécution.
- Code à la demande : un client télécharge du code depuis une machine distante pour l’exécuter localement.
- Agents mobiles : objets ou codes capables de migrer entre machines de manière autonome.
Virus
Le code mobile peut également être téléchargé et exécuté sur le poste de travail client par courrier électronique. Le code mobile peut être téléchargé via une pièce jointe à un courrier électronique (par exemple, une macro dans un fichier Word) ou via un corps de courrier électronique HTML (par exemple, JavaScript). Par exemple, les virus/vers de courrier électronique ILOVEYOU , TRUELOVE et AnnaK ont tous été implémentés sous forme de code mobile (VBScript dans une pièce jointe à un courrier électronique .vbs exécutée dans Windows Scripting Host). Dans presque toutes les situations, l'utilisateur n'est pas conscient que le code mobile est téléchargé et exécuté sur son poste de travail.
Code de location
Le code mobile fait également référence au code « utilisé en location », une façon de rendre les progiciels plus abordables, c'est-à-dire utilisables à la demande. Cela est particulièrement pertinent pour les appareils mobiles en cours de développement, qui sont des téléphones portables, des PDA, etc. tout en un. Au lieu d'installer des progiciels, ils peuvent être « loués » et payés à l'utilisation.