Fichiers manifeste d'application

Le fichier manifeste d'application contient des métadonnées qui permettent à l'infrastructure OSGi de traiter les aspects modulaires des bundles.

Le code suivant est un exemple de contenu de fichier manifeste d'application :
Manifest-Version: 1.0
Application-Name: OSGi Blog Application
Application-SymbolicName: com.ibm.ws.eba.example.blog.app
Application-Version: 1.0.0
Application-Content: com.ibm.ws.eba.example.blog.api;version=1.0.0,
 com.ibm.ws.eba.example.blog.persistence;version=1.0.0,
 com.ibm.ws.eba.example.blog.web;version=1.0.0,
 com.ibm.ws.eba.example.blog;version=1.0.0,
 com.ibm.json.java;version="1.0.0"
Application-ManifestVersion: 1.0
Application-ImportService: com.ibm.ws.eba.counter.Greet
Application-ExportService: com.ibm.ws.eba.example.blog.api.BloggingService
Un manifeste d'application peut contenir les en-têtes suivants :
Application-SymbolicName

Nom symbolique unique de l'application OSGi, qui utilise une notation de package similaire à Java™.

Application-Version

Version de l'application, qui utilise la syntaxe OSGi pour une version de bundle.

Application-Name

Nom de l'application.

Application-ImportService

Déclare les dépendances externes du bundle qui sont utilisées par l'infrastructure OSGi pour la résolution de bundle. Des versions ou des plages de versions spécifiques peuvent être déclarées pour chaque service.

Ensemble de filtres des services externes que l'application consomme. Le manifeste de l'application doit contenir les classes requises par les services. Si cet en-tête n'est pas spécifié, aucun des services requis n'est importé.

Spécifiez les services requis dans une liste en les séparant par une virgule, en indiquant le nom de l'interface de service suivi des attributs ou des directives.
<identificateur de service>;<directives>;<attributs>
Exemple :
test.it;filter="un_filtre"
L'en-tête Application-ImportService possède l'attribut suivant :
filter
Filtre de service OSGi.
Application-ExportService

Déclare les services qui sont visibles hors du bundle. Tout service non déclaré ici n'est visible qu'au sein du bundle.

Ensemble de filtres des services externes que l'application génère. Si cet en-tête n'est pas spécifié, aucun des services requis n'est exporté.

Spécifiez les services exportés dans une liste en les séparant par une virgule, en indiquant le nom d'interface de service suivi des attributs ou des directives.
<identificateur de service>;<directives>;<attributs>
Exemple :
test.it;filter="un_filtre"
L'en-tête Application-ExportService possède l'attribut suivant :
filter
Filtre de service OSGi.
Use-Bundle

Un bundle partagé qui fournit au moins un package à un bundle d'applications.

Liste de bundles ou de bundles composite à utiliser pour satisfaire les dépendances de package des bundles dans la liste Application-Content. Chaque bundle ou bundle composite de la liste Use-Bundle doit fournir au moins un package à au moins un bundle de la liste Application-Content. Ces bundles sont fournis dans l'espace des bundles partagés lors de l'exécution.

Souvent, l'en-tête Use-Bundle n'est pas nécessaire, mais il peut être utile dans certains cas. Vous pouvez l'utiliser pour restreindre le niveau sur lequel le partage est possible. Par exemple, vous pouvez vous assurer qu'une application utilise le même bundle pour les importations de package que celui avec lequel elle a été testée. Sinon, vous pouvez vous assurer que deux applications utilisent le même bundle pour des importations de package. Le fait de définir la restriction au niveau de l'application permet au bundle de rester flexible.

Application-WebModules

Liste de projets Web dynamiques non OSGi qui sont inclus dans l'application.

Cet en-tête ne fait pas partie de la norme OSGi.

Application-Content
Liste de bundles composites, de fragments de bundle et de bundles compris dans la plage admise de spécifications OSGi et inclus dans l'application.
Conseil : Lorsque vous incluez un fragment de bundle dans la liste Application-Content, veillez à inclure le bundle hôte pour le fragment.
Le format est une liste, dont les éléments sont séparés par des virgules, des déclarations de module où chaque déclaration de module utilise le format suivant :
<identificateur de module>;<directives>;<attributs>

En général, l'identificateur de module est le nom symbolique d'un bundle. Pour référencer une ressource qui n'est pas un bundle, l'identificateur de module est le chemin d'accès relatif à la racine de l'application OSGi.

L'en-tête Application-Content possède l'attribut suivant :
version
La version du module est spécifiée avec la syntaxe OSGi pour une plage de versions. Spécifiez la version minimale de l'application, suivie de la version maximale à laquelle l'application peut être mise à niveau. Par exemple, "[1.0.0,2.0.0)" signifie la version 1.0.0 et toutes les versions suivantes jusqu'à la version 2.0.0 exclue.

L'en-tête Application-Content définit les applications importantes qui composent les services métier mais ne définit pas la liste complète des bundles dans l'application. Si un bundle répertorié dans le contenu utilise un package qui n'est pas inclus dans l'application, les dépendances sont analysées et tout bundle manquant est inclus. Ces bundles ne peuvent pas fournir de services externes à l'application et la sécurité ne peut pas leur être appliquée. Les bundles qui sont inclus avec ce mécanisme sont partagés.

Icône indiquant le type de rubrique Rubrique
Dispositions pour les centres de documentation | Commentaires en retour

Icône d'horodatage Dernière mise à jour: May 29, 2014 10:11

Nom de fichier : capplicationmf.html