Show Menu
ARGOMENTI×

Bundle OSGI

Utilizzo delle versioni semantiche

Le procedure ottimali per la numerazione delle versioni semantica sono disponibili all'indirizzo https://semver.org/ .

Non incorporare più classi e vasetti di quanto strettamente necessario nei bundle OSGi

Le librerie comuni devono essere raggruppate in pacchetti separati. In questo modo sarà possibile riutilizzarli nei bundle. Quando racchiudete una JAR in un bundle OSGI, accertatevi di controllare le origini online per verificare se qualcuno l'ha già fatto prima. Alcuni luoghi comuni per trovare i bundle esistenti sono: Apache Felix, Apache Sling, Apache Geronimo, Apache ServiceMix, Eclipse Bundle Recipes e SpringSource Enterprise Bundle Repository.

Dipende dalle versioni bundle necessarie più basse

Per le dipendenze in fase di compilazione nei file POM, dipende sempre dalla versione minima necessaria che espone l'API necessaria. Ciò consentirà una maggiore compatibilità con le versioni precedenti e faciliterà il backport delle correzioni alle versioni precedenti.

Esportare un set minimo di pacchetti dai bundle OSGi

Non appena un pacchetto è stato esportato, abbiamo creato un'API da cui gli altri utenti possono dipendere. Assicuratevi di esportare il meno possibile e assicuratevi che ciò che viene esportato sia un'API. È molto più facile prendere un metodo/classe privato e renderlo pubblico che prendere qualcosa che è stato precedentemente esportato e renderlo privato.
Le implementazioni devono sempre essere inserite in un pacchetto completo separato. Per impostazione predefinita, il plug-in ** maven-bundle esporta qualsiasi elemento del progetto che non abbia un impl nel nome.

Definire sempre esplicitamente una versione semantica per ciascun pacchetto esportato

In questo modo i consumatori delle API potranno evolvere insieme a voi. In questo modo, segui sempre le best practice relative alle versioni semantiche. In questo modo gli utenti dell'API potranno sapere quali tipi di modifiche sono previste in una nuova versione.

Includi informazioni sul tipo di dati se esposte

Specificando informazioni significative per il tipo di dati, i vostri servizi e componenti saranno più facili da comprendere nella console Felix. Un elenco di annotazioni e attributi SCR è disponibile all'indirizzo: https://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html .