Modèle de plug-in d'exécution

Le moteur d'exécution de la plate-forme est lancé lorsqu'un utilisateur lance une application développée avec Eclipse. L'exécution implémente le modèle de plug-in standard et l'infrastructure utilisée par la plate-forme. Elle conserve la trace de tous les plug-ins installés et de la fonction qu'ils permettent.

Un plug-in est un composant structuré qui fournit le code (ou la documentation ou les deux) au système et le décrit de manière structurée. Les plug-ins peuvent définir des points d'extension, des points d'extension bien définis qui peuvent être étendus par d'autres plug-ins. Lorsqu'un plug-in contribue à l'implémentation d'un point d'extension, on dit qu'il ajoute une extension à la plate-forme. Ces extensions et ces points d'extension sont déclarés dans le fichier manifeste (plugin.xml) du plug-in.

En utilisant un modèle d'extension commun, vous bénéficiez d'un moyen structuré pour que les plug-ins décrivent les manières dont ils peuvent être étendus et pour que les plug-ins client décrivent les extensions fournies. La définition d'un point d'extension s'apparente à la définition d'une autre API. La seule différence est que le point d'extension est déclaré à l'aide du langage XML au lieu d'une signature de code. De même, un plug-in de client utilise le langage XML pour décrire son extension spécifique au système.

Un but global de l'exécution consiste à faire en sorte que l'utilisateur final ne soit pas pénalisé en matière de performances ou de capacité mémoire par les plug-in installés, mais non utilisés. La nature déclarative du modèle d'extension de plate-forme permet au moteur d'exécution de déterminer les points d'extension et les extensions fournies par un plug-in sans même l'exécuter. Ainsi, de nombreux plug-ins peuvent être installés, mais aucun ne sera activé tant qu'une fonction fournie par un plug-in n'aura pas été demandée en fonction de l'activité de l'utilisateur. C'est une fonction importante pour ce qui est de fournir une plate-forme évolutive et robuste.