Für Code Repositories muß eine neue Komponente implementiert werden, der Code Repository Manager. Er interpretiert die Code Repository Policy und realisiert den Zugriff auf Agentengattungen. Er bietet Schnittstellen für das Laden von Code bzw. anderer Daten, die zu einer Agentengattung gehören, an.
Um Agentengattungen einfach in Code Repositories ablegen zu können, ist es sinnvoll alle statischen Daten in einer einzigen Einheit zusammengefaßt. Hierzu sind die sog. JAR-Dateien ([JDK1.2-SDK]) JAR!Java ARchive hervorragend geeignet.
JAR-Dateien bieten die Möglichkeit beliebige Dateien und Verzeichnisse in einer einzigen Datei zusammenzupacken. Im Fall einer MASA-Agentengattung sind dies konkret:
Die Erstellung solcher JAR-Dateien wird dabei mit dem jar-Tool (Teil des JDK) durchgeführt.
Mit JAR-Dateien wird somit eine Agentengattung durch genau eine Datei repräsentiert. Durch die kompakte Darstellung wird die Distribution von Agentengattungen und ihre Speicherung in Code Repositories erheblich vereinfacht.
Mit der Möglichkeit der digitalen Signierung einer JAR-Datei nach
[JDK1.2-SDK] wird dann auch die in 5.5.1
geforderte Unveränderlichkeit der Agentengattung und die Zuordnung des
Implementierers sichergestellt. Dies geschieht indem der
Implementierer der Agentengattung sein Zertifikat der
JAR-Datei hinzufügt und diese dann mit seinem privaten Schlüssel
signiert. Dieser Vorgang wird komplett durch das
jarsigner-Tool (Teil des JDK) ([JDK1.2-SDK]) unterstützt.
Für den Zugriff auf JAR-Dateien und deren Authentisierung bietet das
Java-API im Package java.util.jar entsprechende Klassen an.