PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Marthym : Hello OSGi World, Part 1, Introduction

mardi 29 août 2017 à 02:00

Vaste sujet que j’ai entamé il y a plus d’un an mais que j’ai jamais eu le temps de terminer correctement jusqu’ici.

Introduction

On en entend parler, mais on ne sait pas bien ce que c’est ni ce que cela fait ? OSGi c’est une spécification de framework basé sur Java. Cette spécification définit le cycle de vie d’une application. Wikipedia définira mieux que moi ce qu’est OSGi sur le papier. Les fonctionnalités clés apportées par OSGi (selon moi) sont les suivantes :

Mais tous ces avantages ne sont pas gratuits, OSGi c’est compliqué. Les experts diront que non et qu’une fois qu’on a compris c’est simple mais voilà, faut comprendre. Et la plupart des tutos et des exemples sur le net partent souvent du postulat que vous connaissez OSGi et que vous cherchez juste à faire quelque chose de particulier avec. Il est par conséquent difficile de rentrer dans le sujet en partant de rien.

C’est pourquoi je me propose d’aborder le sujet dans un série de billets, en partant de la connaissance 0, celle que j’avais en commençant.

L’implémentation OSGi

Comme dit plus haut, OSGi est une spécification, pas une librairie. Par conséquent, il existe plusieurs implémentations dont les plus répandus sont :

Personnellement, j’ai pris l’habitude de travailler avec Felix donc c’est sur cette implémentation que le tuto se basera mais il reste bon de connaître les autres.

Modèle de composants

Autre choix qui se pose, le choix du modèle de composant. C’est la façon dont les différents composant vont être géré au sein de l’environnement OSGi.

Il en existe plusieurs avec leurs avantages et inconvénients :

Il est possible de mixer les divers modèles de composant dans une même application. Dans ce tuto on verra l’utilisation de Declarative Service, plus simple et plus courante, DS est plus maintenu que les autres implémentations. Ce comparatif liste quelques fonctionnalités des différents modèles.

Serveur HTTP

Le Framework REST n’est pas le sujet donc on va faire sans dans ce tuto et simplement utiliser un serveur HTTP pour servir notre application.

Sujet du tutoriel

Maintenant que les différents choix ont été faits, entrons dans le vif du sujet. Pour expliquer et détailler un peu OSGi ce tuto se propose de faire dans l’originalité en créant un service Hello OSGi World. Une API REST appelable en GET qui retourne Hello OSGi world. Comme le sujet est plutôt vaste, on fera ça en plusieurs parties :

Toutes les sources sont ou seront présentes sur mon repo github. Il y a un tag pour chaque étape du tuto qui correspond à chaque billet :

Hello OSGi World, Part 1, Introduction écrit à l'origine par Marthym pour J'ai acheté un PC neuf cassé ... le August 29, 2017.

Gravatar de Marthym
Original post of Marthym.Votez pour ce billet sur Planet Libre.