Loading

deck

rynn69270

This is a live streamed presentation. You will automatically follow the presenter and see the slide they're currently on.

OSGi

Par Arthur Clerc-Gherardi

Polytech' Grenoble 2014

  • Vous aimez les langages scripts comme JS où il n'y a pas besoin de redéployer à chaque fois le serveur

 

  • Mais vous aimeriez faire ça avec du JAVA !
  • Vous aimeriez définir  le cycle de vie d'un service en fonction d'un autre service ?

OSGi est fait pour vous !

  • Techno assez jeune
  • Qui viens du monde électronique
  • Fonctionne très bien avec Eclipse

Plan

  • OSGi : Mais qu'est-ce que c'est ?
  • Diverses utilisations
  • La démonstration

Introduction

  • En JAVA la modularité est assez mal géré de base
  • Les packages peuvent-avoir des dépendances entre eux
  • Il peut y avoir des problèmes de versions
  • Le Jar Hell ...

Alors qu'est ce que c'est ?

  • Framework orienté service
  • Un seul système de chargement de classe
  • Permet le "versioning" et le déploiement dynamique 

Le fonctionnement

Structure d'un Bundle

  • Les services qu'il fournit
  • Les services dont il a besoin
  • Les packages nécessaires (importés et exportés)
  • Les ressources
  • L'activateur

Le cycle de vie du Bundle

  • "Physiquement" un bundle va être un .jar
  • Et un fichier d'information le spécifiant : le MANIFEST

Le fonctionnement des services

  • Utilisation d'un registre de service
  • Apparaît sous forme d'interface pour l'utilisateur
  • Il peut spécifier la version voulue
  • Système de notification pour les bundles vivants

L'intérêt

  • Redémarrer une JVM peut être un soucis pour une application en production
  • Mettre à jour une partie de ses services sans redéploiement
  • Utilisation d'une librairie de deux versions différentes (couplage faible)

Pour aller plus loin ...

Tutoriel complet sur le site Air Imag Didier Donsez

Cours en ligne également

Le système de ClassLoader indépendant pour chaque bundle

Démonstration

Made with Slides.com