Komponenten werden durch die Plug-ins beschrieben, die durch sie gebildet werden. Dies bedeutet, dass Plug-ins die Grundeinheit für das Packen von Funktionen darstellen.
Während Komponenten zur Verteilung und zum Update von Produkten verwaltet werden, sind Plug-ins so aufgebaut, dass die Entwicklung der Produktfunktion im Produktteam vereinfacht wird. Das Entwicklungsteam legt fest, wann eine Programmfunktion in einem separaten Plug-in zur Verfügung gestellt werden soll.
Plug-in-Pakete werden in einer Plug-in-Archivdatei erstellt und mit einer Plug-in-Manifestdatei namens plugin.xml beschrieben.
Plug-in-Fragmente sind separat gepackte Dateien, deren Inhalt so behandelt wird, als ob sie sich in der Archivdatei des Original-Plug-ins befinden würden. Sie sind nützlich, wenn einem vorhandenen Plug-in nach seiner Installation eine Funktion hinzugefügt werden soll, beispielsweise Übersetzungen in weitere Landessprachen. Fragmente sind das ideale Mittel für die Bereitstellung von Funktionen, die auf das Erstrelease folgen, da das Hinzufügen von Funktionalität möglich ist, ohne das Original-Plug-in erneut packen oder installieren zu müssen. Wenn die Plattform ein Fragment feststellt, wird sein Inhalt mit der Funktion im Original-Plug-in gemischt. Anders ausgedrückt werden bei einer Abfrage der Plattformregistrierung die Erweiterungen und andere Funktionen, die im Fragment bereitgestellt werden, so angegeben, als ob sie zum Original-Plug-in gehörten.
Fragmente beschreiben mit Hilfe einer Fragmentmanifestdatei namens fragment.xml. Diese Datei ähnelt der Plug-in-Manifestdatei. Da ein Fragment viele Eigenschaften mit seinem Plug-in gemeinsam benutzt, sind einige Attribute im Plug-in-Manifest nicht gültig, wie z. B. die Plug-in-Klasse und Plug-in-Importe.
Plug-in-Archivdateien können Plug-ins oder Fragmente enthalten.